吳恩達-機器學(xué)習(xí)課程--13:Clustering 的學(xué)習(xí)總結(jié):
最常見的非監(jiān)督算法:K-means算法
假如想把以下訓(xùn)練集訓(xùn)練分為兩簇
隨機選擇兩點,一部分點離紅點更近联喘,一部分點離藍點更近
移動兩點至已分好的兩類點的均值處牲迫,再次根據(jù)數(shù)據(jù)集離紅藍兩點的距離分為兩部分
重復(fù)以上步驟榜揖,直至收斂
更為正式的定義如下:
算法輸入:
K (數(shù)據(jù)的聚類數(shù))
訓(xùn)練集 {x1,x2,?x3?...,xn)?
算法:
隨機初始化聚類中心?{μ1,μ2,μ3?...?μK}
的值是一個1-K的數(shù),表示離最近的是?{μ1,μ2,μ3?...?μK}中的哪個聚類中心
可以表示為計算離每個聚類中心的距離万伤,求出讓距離最小的那個k值(出于慣例用平方表示)
對于沒有被很明確的分開的數(shù)據(jù)使用K-means算法
K-means算法的優(yōu)化目標(biāo):distortion?cost function
其中:
初始化聚類中心
選擇K個樣本點作為聚類中心肪笋,但可能選擇的聚類中心月劈,優(yōu)化代價函數(shù)得到局部最優(yōu)解,也就是不能很恰當(dāng)?shù)倪M行聚類藤乙。所以要多進行幾次隨機初始化聚類中心艺栈,選擇最優(yōu)解。
如果K較小湾盒,在2-10內(nèi), 一般進行50-1000次隨機初始化聚類中心诅妹,能得到更好的聚類結(jié)果罚勾。但如果K很大,一般不用很多次就能得到良好的聚類結(jié)果吭狡。
聚類數(shù)K的選擇:
并沒有一個絕對正確或錯誤的K值,所以一般是手工選擇划煮,而不是自動產(chǎn)生
可以參考的方法:Elbow method
畫出K vs J()的圖送丰,選擇拐點,但并不是總能得到這樣有清晰拐點的圖