機器學習入門筆記系列(10) | K-means 演算法
樣本 被分配到的簇的索引{1,2, ..., K}
第 k 簇的聚類中心
一、K-means 執行過程
K-Means 演算法是最流行和廣泛使用的無監督學習演算法,用於自動將資料分組為相干子集。K-Means 演算法屬於聚類演算法
下圖展示 K = 2 時 K-means 演算法執行過程例項。
用文字總結一下 K=2時, K-means 演算法的執行過程:
- 初始化初始化兩個聚類中心;
- 簇分配:計算每個樣本到兩個聚類中心的距離,並將樣本分配到離它最近的聚類中心所在的簇中;
- 更新聚類中心:計算兩個簇中所有點的平均值,並將兩個簇的聚類中心更新為該平均值;
- 重複(2),(3) 操作,直至迭代次數完成或者聚類中心不再改變。
二、K-means 演算法
通過上述的執行過程,K-means 演算法實現如下:
Tips : 如果出現有一個聚點在歸類完成後,沒有一個樣本點屬於該簇。通常做法是刪除該聚點,此時變成 K-1 means;也可以沒有初始化聚類中心
2.1 代價函式
簡單的來解釋,代價函式 = 每個樣本與所在簇的聚類中心的距離平方的平均值
我們的優化目標就是 。如何實現這優化目標呢?
其實實現 一直貫穿於 K-means 演算法。
- 簇分配:我們固定了聚類中心,即固定了 ,將樣本分配到離它最近的聚類中心所在的簇中,這相當於當固定 ,通過改變 來 ;
- 更新聚類中心:我們固定了每個樣本所在的簇,即固定了 ,計算每個簇的所有點的平均值並更新為簇的新的聚類中心,即改變了 ,這就實現 。
總結一下,就是:
Tips: K-means 的代價函式值不可能上升,它應該是不斷下降。
2.2 隨機初始化聚類中心
初始化聚類中心不同,最後形成的簇就會不同。如果初始化聚類中心不好,K-means 達到陷入區域性最優情況,如下圖所示。
那麼,如何初始化聚類中心呢?這裡有 2 點建議:
- ,即劃分的簇的數量 K 應該小於樣本數量 m;
- 建議隨機選取樣本中 K 個樣本作為初始化的聚類中心
減小 K-means 陷入區域性最優的解決方案:構建多組初始化聚類中心,分別執行 K-means 演算法,最終選取代價函式值最小的那組。
實驗證明,當 時,多次隨機初始化方法對演算法有很大的改善;而當 時,多次隨機初始化方法不會對你的演算法有很大的改善。
三、K-means 應用
除了上述,K-means 還可以運用於市場的劃分等等實際場景中。
總結
參考文獻
- 吳恩達機器學習 week8
相關文章
- 機器學習入門筆記——如何理解梯度下降機器學習筆記梯度
- 機器學習演算法學習筆記機器學習演算法筆記
- 機器學習經典演算法之K-Means機器學習演算法
- 機器學習筆記(KNN演算法)機器學習筆記KNN演算法
- git入門學習筆記Git筆記
- Docker入門學習筆記Docker筆記
- Unity學習筆記--入門Unity筆記
- TS入門學習筆記筆記
- 【PostgreSQL】入門學習筆記SQL筆記
- python機器學習筆記:EM演算法Python機器學習筆記演算法
- 機器學習演算法:Logistic迴歸學習筆記機器學習演算法筆記
- k-means演算法筆記演算法筆記
- 機器學習學習筆記機器學習筆記
- JavaScript入門學習學習筆記(上)JavaScript筆記
- 機器學習入門學習筆記:(2.1)線性迴歸理論推導機器學習筆記
- 機器學習筆記機器學習筆記
- 機器學習學習筆記之——演算法鏈與管道機器學習筆記演算法
- 機器學習筆記(1): 梯度下降演算法機器學習筆記梯度演算法
- 《深度學習入門》第 2 章 感知機 筆記深度學習筆記
- HTML入門學習筆記(二)HTML筆記
- React入門指南(學習筆記)React筆記
- pandas 學習筆記 (入門篇)筆記
- Go 入門指南學習筆記Go筆記
- MySQL學習筆記---入門使用MySql筆記
- Dubbo學習筆記(一) 入門筆記
- JavaScript入門-學習筆記(一)JavaScript筆記
- 【機器學習】K-means聚類分析機器學習聚類
- 機器學習框架ML.NET學習筆記【2】入門之二元分類機器學習框架筆記
- 《機器學習初步》筆記機器學習筆記
- 機器學習--白板推導系列筆記1 開篇機器學習筆記
- JavaScript學習筆記1—快速入門JavaScript筆記
- iOS學習筆記39 ReactiveCocoa入門iOS筆記React
- redis學習筆記1: Redis入門Redis筆記
- webpack 學習筆記:入門介紹Web筆記
- node 學習筆記 基礎入門筆記
- python學習筆記——jieba庫入門Python筆記Jieba
- Elasticsearch入門學習重點筆記Elasticsearch筆記
- CANopen學習筆記(一)CANopen入門筆記