機器學習-筆記8

    這是機器學習第8,9周內容的筆記,因爲國慶的緣故有些耽誤,所以兩個部分放在一起總結歸納。

    首先是聚類(Clustering),主要介紹的是K-Means算法,其實這個算法思想很簡單,之前在《集體智慧編程》上面就瞭解過,這次補充學習了一些小細節。

    算法的實質就是:(隨機初始化聚點)

    1、將樣例的每個點分配給離它最近的那個聚點

    2、統計所有同類點的中點,將聚點移到這個中點

    重複1.2兩個過程直到中心點不再變化,爲了穩健可以多次算法選取最優的分類

    大概過程如圖所示:

 

一些值得注意的細節是,初始化的時候可以隨機從樣例中選擇k個點作爲初始聚點(k是據點數),k值的選取最好是人工選取,另一種兼容性較差的方法就是測試k值找到拐點(elbow):

   接下來是數據降維(Dimensionality Reduction)

舉個例子:3D-2D,就是在3D中選取一個平面,然後將所有的點映射到這個平面上,數據就變成了2D的了,我們需要做的就是選取一個對原數據影響最小平面,比較直觀的就是點到平面的距離之和最小。這和liner regression的差別就是降維的cost fuction是垂線距離,而liner regression是參數的距離。

 

展示圖片是2D-1D,藍色爲原數據點,紅色爲映射點。可以看出這種方法對數據是有影響的,但是只要在限定範圍內,這種影響是可以接受的。

比較顯著的一個實例就是ex7裏面的圖:

 

左邊是原來的圖片,右邊是降維後再還原的圖片。可以看出來至少不影響我們識別,降維處理對於高維數據的學習有非常大的作用。

具體算法是通過一個函數svd來實現的,奇異值分解(Singular value decomposition),具體的數學原理大家可以自己找找資料。

 

返回的U即是降維後的在高維中選擇的向量,S用來計算降維後的數據失真度。

 

ex7中是要保證這樣一個準確度

三:anomaly detection

anomaly detection就是給出一組數據,對於一個新的數據,讓你判斷這個數據是否異於總體的數據。

舉例來說,

很明顯越是遠離中間的那一團點,就越是異常點,這個算法在智能控制登方面有很好的應用。

算法採用高斯分佈(即正態分佈)對樣例進行學習,對於一個新的點通過它的概率來判斷。

 

每一維的數據用一個正太分佈函數表示,樣例的概率即是所有維度的概率相乘。

最後通過之前學校過的F1 score來判斷算法的優越性。

其後還介紹了一個multivariate的高斯分佈函數,但是在練習中沒有體現

 

 

可以說將數個高斯分佈函數相乘是multivariate gaussian deviation的一個特例。

特例在每維的σ分別落在∑ 的對角線上,其它全部爲0。

具體來說,矩陣Sigma控制圖像的衍生,使圖像可以斜着拉伸,使算法更智能

 

大概就是這些吧。課程已經學到了第九周,馬上就要結束了。收穫匪淺,感謝coursera,感謝Andrew ng。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章