1. 算法
Kmeans應該算是最經(jīng)典最易懂的機器學習算法之一鹊汛。其基本數(shù)學思想是期望最大化(EM)旷痕,簡單概況就是物以類聚亚兄,以特征空間中不同樣本之間的“距離”遠近作為劃分的依據(jù)哎垦。
2. 優(yōu)缺點特點
2.1 優(yōu)點
容易理解囱嫩,聚類效果不錯,雖然是局部最優(yōu)漏设,但往往局部最優(yōu)就夠了墨闲;
處理大數(shù)據(jù)集的時候,該算法可以保證較好的伸縮性郑口;
當簇近似高斯分布的時候鸳碧,效果非常不錯;
算法復雜度低犬性。
2.2 缺點
K 值需要人為設(shè)定瞻离,不同 K 值得到的結(jié)果不一樣;
對初始的簇中心敏感乒裆,不同選取方式會得到不同結(jié)果套利;
對異常值敏感;
樣本只能歸為一類,不適合多分類任務肉迫;
不適合太離散的分類验辞、樣本類別不平衡的分類、非凸形狀的分類喊衫。
3. 算法調(diào)優(yōu)與改進
3.1 數(shù)據(jù)預處理
K-means 的本質(zhì)是基于歐式距離的數(shù)據(jù)劃分算法跌造,均值和方差大的維度將對數(shù)據(jù)的聚類產(chǎn)生決定性影響。所以未做歸一化處理和統(tǒng)一單位的數(shù)據(jù)是無法直接參與運算和比較的族购。常見的數(shù)據(jù)預處理方式有:數(shù)據(jù)歸一化壳贪,數(shù)據(jù)標準化。
此外寝杖,離群點或者噪聲數(shù)據(jù)會對均值產(chǎn)生較大的影響违施,導致中心偏移,因此我們還需要對數(shù)據(jù)進行異常點檢測瑟幕。
3.2 合理選擇 K 值
K 值的選取對 K-means 影響很大醉拓,這也是K-means 最大的缺點,常見的選取 K 值的方法有:手肘法收苏、Gap statistic 方法。
3.3 采用核函數(shù)
基于歐式距離的 K-means 假設(shè)了了各個數(shù)據(jù)簇的數(shù)據(jù)具有一樣的的先驗概率并呈現(xiàn)球形分布愤兵,但這種分布在實際生活中并不常見鹿霸。面對非凸的數(shù)據(jù)分布形狀時我們可以引入核函數(shù)來優(yōu)化,這時算法又稱為核 K-means 算法秆乳,是核聚類方法的一種懦鼠。核聚類方法的主要思想是通過一個非線性映射,將輸入空間中的數(shù)據(jù)點映射到高位的特征空間中屹堰,并在新的特征空間中進行聚類肛冶。非線性映射增加了數(shù)據(jù)點線性可分的概率,從而在經(jīng)典的聚類算法失效的情況下扯键,通過引入核函數(shù)可以達到更為準確的聚類結(jié)果睦袖。
3.4 K-means++
我們知道初始值的選取對結(jié)果的影響很大,對初始值選擇的改進是很重要的一部分荣刑。在所有的改進算法中馅笙,K-means++ 最有名。
3.5 ISODATA
ISODATA 的全稱是迭代自組織數(shù)據(jù)分析法厉亏。它解決了 K的值需要預先人為的確定這一缺點董习。而當遇到高維度、海量的數(shù)據(jù)集時爱只,人們往往很難準確地估計出 K 的大小皿淋。ISODATA 就是針對這個問題進行了改進,它的思想也很直觀:當屬于某個類別的樣本數(shù)過少時把這個類別去除,當屬于某個類別的樣本數(shù)過多窝趣、分散程度較大時把這個類別分為兩個子類別疯暑。
4. 相關(guān)鏈接:
K均值原理及實現(xiàn)(K-Means)
http://www.reibang.com/p/e4d5a0fbcefe
從最大似然到EM算法淺解
https://blog.csdn.net/zouxy09/article/details/8537620
【機器學習】K-means(非常詳細)
https://zhuanlan.zhihu.com/p/78798251
【機器學習】EM——期望最大(非常詳細)