【深度學習基礎-15】非監督學習-用K-mean演算法聚類如何使用及例項計算
1 K-mean基本概念
聚類分析是以相似性為基礎,對資料集進行聚類劃分,屬於無監督學習(unsupervised learning)。
K-means演算法是一種簡單的迭代型聚類演算法,採用距離作為相似性指標,從而發現給定資料集中的K個類,且每個類的中心是根據類中所有值的均值得到,每個類用聚類中心來描述。對於給定的一個包含n個d維資料點的資料集X以及要分得的類別K,選取歐式距離作為相似度指標,聚類目標是使得各類的聚類平方和最小,即最小化:
結合最小二乘法和拉格朗日原理,聚類中心為對應類別中各資料點的平均值,同時為了使得演算法收斂,在迭代過程中,應使最終的聚類中心儘可能的不變。
2 K-means是一個反覆迭代的過程,演算法分為四個步驟:
1) 選取資料空間中的K個物件作為初始中心,每個物件代表一個聚類中心;
2) 對於樣本中的資料物件,根據它們與這些聚類中心的歐氏距離,按距離最近的準則將它們分到距離它們最近的聚類中心(最相似)所對應的類;
3) 更新聚類中心:將每個類別中所有物件所對應的均值作為該類別的聚類中心,計算目標函式的值;
4) 判斷聚類中心和目標函式的值是否發生改變,若不變,則輸出結果,若改變,則返回2)。
用以下例子加以說明:
圖1 圖2
圖3 圖4
圖1:給定一個資料集;
圖2:根據K = 5初始化聚類中心,保證 聚類中心處於資料空間內;
圖3:根據計算類內物件和聚類中心之間的相似度指標,將資料進行劃分;
圖4:將類內之間資料的均值作為聚類中心,更新聚類中心。
3 K-mean和KNN區別
K-Means是無監督學習的聚類演算法,沒有樣本輸出;而KNN是監督學習的分類演算法,有對應的類別輸出。KNN基本不需要訓練,對測試集裡面的點,只需要找到在訓練集中最近的k個點,用這最近的k個點的類別來決定測試點的類別。而K-Means則有明顯的訓練過程,找到k個類別的最佳質心,從而決定樣本的簇類別。
當然,兩者也有一些相似點,兩個演算法都包含一個過程,即找出和某一個點最近的點。兩者都利用了最近鄰(nearest neighbors)的思想。
4 K-mean優缺點
K-Means的主要優點有:
1)原理比較簡單,實現也是很容易,收斂速度快。
2)聚類效果較優。
3)演算法的可解釋度比較強。
4)主要需要調參的引數僅僅是簇數k。
K-Means的主要缺點有:
1)K值的選取不好把握
2)對於不是凸的資料集比較難收斂
3)如果各隱含類別的資料不平衡,比如各隱含類別的資料量嚴重失衡,或者各隱含類別的方差不同,則聚類效果不佳。
4) 採用迭代方法,得到的結果只是區域性最優。
5) 對噪音和異常點比較的敏感。
5 計算例項
相關文章
- 【無監督學習】2:DBSCAN聚類演算法原理聚類演算法
- 監督學習基礎概念
- 【機器學習基礎】無監督學習(3)——AutoEncoder機器學習
- 【機器學習基礎】無監督學習(1)——PCA機器學習PCA
- 【機器學習基礎】半監督學習簡介機器學習
- 機器學習——監督學習&無監督學習機器學習
- 非監督學習最強攻略
- 一圖看懂監督學習、無監督學習和半監督學習
- [計算機視覺]非監督學習、AutoEncoder、AI換臉demo計算機視覺AI
- 機器學習--有監督學習--分類演算法(預測分類)機器學習演算法
- 深度學習及pytorch基礎深度學習PyTorch
- 吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習吳恩達Mac筆記
- 監督學習
- OpenCV 例項解讀:深度學習的計算與加速OpenCV深度學習
- 基於自編碼器的表徵學習:如何攻克半監督和無監督學習?
- 機器學習--有監督學習--演算法整理機器學習演算法
- 監督學習,無監督學習常用演算法集合總結,引用scikit-learn庫(監督篇)演算法
- 機器學習:監督學習機器學習
- 自監督學習
- 零基礎如何學習雲端計算?雲端計算學習教程
- 深度學習基礎深度學習
- 【機器學習基礎】無監督學習(2)——降維之LLE和TSNE機器學習
- Python機器學習基礎篇三《無監督學習與預處理》Python機器學習
- 【scikit-learn基礎】--『監督學習』之 嶺迴歸
- 【scikit-learn基礎】--『監督學習』之 LASSO迴歸
- Python學習:類和例項Python
- 深度學習及深度強化學習應用深度學習強化學習
- 【ML吳恩達】3 有監督學習和無監督學習吳恩達
- 機器學習中的聚類演算法演變及學習筆記機器學習聚類演算法筆記
- 【深度】監督學習—從好的label開始
- 雙目深度估計中的自監督學習概覽
- 零基礎學習 Python 之細說類屬性 & 例項Python
- 003.00 監督式學習
- 自監督學習概述
- 深度學習--RNN基礎深度學習RNN
- 人工智慧 (02) 機器學習 - 監督式學習分類方法人工智慧機器學習
- 無監督學習-K-means演算法演算法
- 【深度學習】--DCGAN從入門到例項應用深度學習