參考:
聚類屬於無監督學習,以往的回歸、樸素貝葉斯、svm等都是有類別標籤y的,也就是說樣例中已經給出了樣例的分類。而聚類的樣本中卻沒有給定y,只有特徵x,比如假設宇宙中的星星可以表示成三維空間中的點集
優點: 原理簡單;速度快; 對大資料集有比較好的伸縮性
缺點: 需要指定聚類數量k;對異常值敏感;對初始值敏感
在聚類問題中,給我們的訓練樣本是
k-means演算法是將樣本聚類成k個簇(cluster),具體演算法描述如下:
1、 隨機選取k個聚類質心點(cluster centroids)為
2、 重複下面過程直到收斂 {
對於每乙個樣例i,計算其應該屬於的類
對於每乙個類j,重新計算該類的質心
k是我們事先給定的聚類數,
下圖展示了對n個樣本點進行k-means聚類的效果,這裡k取2。
k-means面對的第乙個問題是如何保證收斂,前面的演算法中強調結束條件就是收斂,可以證明的是k-means完全可以保證收斂性。下面我們定性的描述一下收斂性,我們定義畸變函式(distortion function)如下:
j函式表示每個樣本點到其質心的距離平方和。k-means是要將j調整到最小。假設當前j沒有達到最小值,那麼首先可以固定每個類的質心
由於畸變函式j是非凸函式,意味著我們不能保證取得的最小值是全域性最小值,也就是說k-means對質心初始位置的選取比較感冒,但一般情況下k-means達到的區域性最優已經滿足需求。但如果你怕陷入區域性最優,那麼可以選取不同的初始值跑多遍k-means,然後取其中最小的j對應的
無監督學習 K Means聚類
無監督學習 通過無標籤的資料,學習資料的分布或資料與資料之間的關係。1定義 根據資料的 相似性 將資料分為多類的過程。1.1.演算法模組 k means 近鄰傳播演算法 dbscan演算法,高斯混合模型 gmm 等。1.2.python庫 sklearn.cluster 1.3.k means聚類演...
無監督學習 K means聚類
先用圖來描述k means怎麼做的 對於如下資料 如果你想分成2類 k 2 演算法會隨機生成兩個聚類中心 然後會分別計算每個資料 綠點 與聚類中心的距離 一般是歐式距離 來決定屬於哪個類 距離哪個聚類中心近 這樣,就得到了資料的第一次分類,接下來演算法會計算已分類的資料的 中心 將它們作為新的聚類中...
無監督學習 聚類 K means聚類演算法
無監督學習 聚類 k means聚類演算法 以k為引數,把n個物件分為k個簇,使簇內具有較高相似度,簇間相似度較低 1.隨機選擇k個點作為初始聚類中心 2.根據剩下點與聚類中心的距離 預設就是歐氏距離 歸為最近的簇 3.對每個簇,計算所有點的均值作為新聚類中心 4.重複2 3直至聚類中心不變 31省...