1. 程式人生 > >ML-61: 機器學習之K均值(K-Means)聚類演算法含原始碼

ML-61: 機器學習之K均值(K-Means)聚類演算法含原始碼

機器學習之K均值聚類演算法

機器學習分為監督學習、無監督學習和半監督學習(強化學習)。無監督學習最常應用的場景是聚類(clustering)和降維(dimension reduction)。聚類演算法包括:K均值聚類(K-Means)、層次聚類(Hierarchical Clustering)和混合高斯模型(Gaussian Mixture Model)。降維演算法包括:主成因分析(Principal Component Analysis)和線性判別分析(Linear Discriminant Analysis)。

K均值聚類(K-Means)演算法的核心思想是:對於給定的樣本集,按照樣本之間的距離大小,將樣本集劃分為K個簇。讓簇內的點儘量緊密的連在一起,而讓簇間的距離儘量的大。

1 演算法原理

K均值聚類(K-Means)演算法的核心步驟如下:

  • 將資料集{D}中隨機取K個元素,作為K個簇的各自的中心。最佳實踐:根據經驗或交叉驗證方式選擇合適的K值。
  • 分別計算剩下的元素到K個簇中心的相異度,將這些元素分別劃歸到相異度最低的簇。
  • 根據聚類結果,重新計算K個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。
  • 將{D}中全部元素按照新的中心重新聚類。
  • 重複第 4 步,直到每個簇的中心基本不再變化。
  • 將結果輸出。

K均值聚類(K-Means)演算法的核心優勢如下:

  • 計算伸縮性: 演算法複雜度不高,演算法收斂速度快,聚類效果好;
  • 引數依賴性: 可控制的引數較少(僅簇數k), 調參簡單;
  • 普適性能力: 泛化能力一般,容易受到噪音干擾;
  • 抗噪音能力: 需要考慮區域性最優問題,異常資料干擾問題等;
  • 結果解釋性: 模型和結果均具有解釋性。

2 演算法例項

[TODO, Coming Soon!]

3 典型應用

  • 使用者畫像: 在電子商務、新聞客戶端、視訊客戶端通過對使用者行為資料的聚類分析,可以準確刻畫使用者畫像。精準的使用者畫像,對於優化內容推送,內容搜尋,廣告分發具有重大意義。
  • 地理資訊: 對於地域性比較強的領域,諸如:汽車保險、個人意外險、房屋租賃和二手房交易等。從使用者資料中聚類出此類資訊,能夠在上述領域充分匹配使用者和產品,實現精準營銷。

參考資料

  • [1] 周志華. 機器學習. 清華大學出版社. 2016.
  • [2] [日]杉山將. 圖解機器學習. 人民郵電出版社. 2015.
  • [3] 佩德羅·多明戈斯. 終極演算法-機器學習和人工智慧如何重塑世界. 中信出版社. 2018.