k-means演算法
機器學習常用的方法分為監督學習、非監督學習(分類)
監督學習:已有的訓練樣本--->得到訓練後的模型---->未知資料輸入模型得到分類結果(knn)
非監督學習:無訓練樣本---->構建分類模型(k-means)
k均值是發現給定資料集的k個簇的演算法。k為手動設定(可能不是最合適的,需要調整),每個簇用其中所有點的中心表示。聚類效果用sse(誤差平方和)度量。
過程如下:
1.隨機確定k個初始點作為質心(整個演算法受初始質點的影響);
2.將資料集中的點按照與初始k個質心的距離分配到k個簇中;
3.每個簇的質心更新為該簇所有點的平均值;
4.計算所有點與新調整後的k個質心的距離,重新劃分簇;
5.不斷重複3、4直至演算法收斂(即質心不變)。
缺點:1.最適合的分類數並不一定一次就找到;
2.初始隨機選取的點不同,最後分的類可能也不同;
3.可能收斂到區域性最小值(非全域性最小),在大規模資料集上收斂較慢;
4.對雜訊和離群點敏感。
二分k-均值演算法
二分k-均值演算法的提出是為了克服k-均值演算法收斂於區域性最小值的問題。
過程:
1.將所有點看成乙個簇;
2.將該簇一分為二(計算總誤差,進行k-均值聚類,其中k=2);
3.計算一分為二後的總誤差,選擇其中乙個簇繼續劃分(選擇標準:其劃分是否能降低sse的值);
4.重複2、3至k達到指定簇數。
機器學習筆記 k means演算法
k means是一種無監督的聚類演算法,也就是不給標籤,演算法自動來進行分類,最終分成k個簇。輸入 k 簇的個數 訓練集 無標籤的樣本集合 輸出 k個簇 k應該比樣本數量小 1 隨機初始化k個均值向量 代表k個簇的中心 可以隨機選取k個訓練樣本作為初始均值向量。2 開始迴圈 1 對每個樣本進行遍歷,...
機器學習 K Means演算法
簡介 又叫k 均值演算法,是非監督學習中的聚類演算法。基本思想 k means演算法比較簡單。在k means演算法中,用cluster來表示簇 容易證明k means演算法收斂等同於所有質心不再發生變化。基本的k means演算法流程如下 選取k個初始質心 作為初始cluster,每個初始clus...
機器學習 KMeans學習筆記
機器學習 kmeans學習筆記 coding utf 8 spyder editor this is a temporary script file.from numpy import def loaddataset filename file open filename datamat for l...