K-Means聚類算法

一、聚類思想

????????所謂聚類算法是指將一堆沒有標(biāo)簽的數(shù)據(jù)自動劃分成幾類的方法旬陡,屬于無監(jiān)督學(xué)習(xí)方法粗俱,這個方法要保證同一類的數(shù)據(jù)有相似的特征蜻展,如下圖所示:

????????根據(jù)樣本之間的距離或者說是相似性(親疏性)魁亦,把越相似、差異越小的樣本聚成一類(簇)羔挡,最后形成多個簇洁奈,使同一個簇內(nèi)部的樣本相似度高间唉,不同簇之間差異性高。

二利术、k-means聚類分析算法

相關(guān)概念:

K值:要得到的簇的個數(shù)

質(zhì)心:每個簇的均值向量呈野,即向量各維取平均即可

距離量度:常用歐幾里得距離和余弦相似度(先標(biāo)準(zhǔn)化)

算法流程:

1、首先確定一個k值印叁,即我們希望將數(shù)據(jù)集經(jīng)過聚類得到k個集合被冒。

2、從數(shù)據(jù)集中隨機(jī)選擇k個數(shù)據(jù)點作為質(zhì)心轮蜕。

3昨悼、對數(shù)據(jù)集中每一個點,計算其與每一個質(zhì)心的距離(如歐式距離)跃洛,離哪個質(zhì)心近率触,就劃分到那個質(zhì)心所屬的集合。

4汇竭、把所有數(shù)據(jù)歸好集合后葱蝗,一共有k個集合。然后重新計算每個集合的質(zhì)心细燎。

5两曼、如果新計算出來的質(zhì)心和原來的質(zhì)心之間的距離小于某一個設(shè)置的閾值(表示重新計算的質(zhì)心的位置變化不大,趨于穩(wěn)定玻驻,或者說收斂)悼凑,我們可以認(rèn)為聚類已經(jīng)達(dá)到期望的結(jié)果,算法終止击狮。

6佛析、如果新質(zhì)心和原質(zhì)心距離變化很大,需要迭代3~5步驟彪蓬。

三寸莫、數(shù)學(xué)原理

K-Means采用的啟發(fā)式方式很簡單,用下面一組圖就可以形象的描述:

????????上圖a表達(dá)了初始的數(shù)據(jù)集档冬,假設(shè)k=2膘茎。在圖b中,我們隨機(jī)選擇了兩個k類所對應(yīng)的類別質(zhì)心酷誓,即圖中的紅色質(zhì)心和藍(lán)色質(zhì)心披坏,然后分別求樣本中所有點到這兩個質(zhì)心的距離,并標(biāo)記每個樣本的類別為和該樣本距離最小的質(zhì)心的類別盐数,如圖c所示棒拂,經(jīng)過計算樣本和紅色質(zhì)心和藍(lán)色質(zhì)心的距離,我們得到了所有樣本點的第一輪迭代后的類別。此時我們對我們當(dāng)前標(biāo)記為紅色和藍(lán)色的點分別求其新的質(zhì)心帚屉,如圖d所示谜诫,新的紅色質(zhì)心和藍(lán)色質(zhì)心的位置已經(jīng)發(fā)生了變動。圖e和圖f重復(fù)了我們在圖c和圖d的過程攻旦,即將所有點的類別標(biāo)記為距離最近的質(zhì)心的類別并求新的質(zhì)心喻旷。最終我們得到的兩個類別如圖f。

四牢屋、實例

坐標(biāo)系中有六個點:

1且预、我們分兩組,令K等于2烙无,我們隨機(jī)選擇兩個點:P1和P2

2锋谐、通過勾股定理計算剩余點分別到這兩個點的距離:

3、第一次分組后結(jié)果:

????????組A:P1

????????組B:P2皱炉、P3怀估、P4、P5合搅、P6

4多搀、分別計算A組和B組的質(zhì)心:

? ? ? ? A組質(zhì)心還是P1=(0,0)

????????B組新的質(zhì)心坐標(biāo)為:P哥=((1+3+8+9+10)/5灾部,(2+1+8+10+7)/5)=(6.2康铭,5.6)

5、再次計算每個點到質(zhì)心的距離:

6赌髓、第二次分組結(jié)果:

????????組A:P1从藤、P2、P3

????????組B:P4锁蠕、P5夷野、P6

7、再次計算質(zhì)心:

????????P哥1=(1.33荣倾,1)?

????????P哥2=(9悯搔,8.33)

8、再次計算每個點到質(zhì)心的距離:

9舌仍、第三次分組結(jié)果:

????????組A:P1妒貌、P2、P3

????????組B:P4铸豁、P5灌曙、P6

可以發(fā)現(xiàn),第三次分組結(jié)果和第二次分組結(jié)果一致节芥,說明已經(jīng)收斂在刺,聚類結(jié)束。

五、K-Means的優(yōu)缺點

優(yōu)點:

1蚣驼、原理比較簡單忍燥,實現(xiàn)也是很容易,收斂速度快隙姿。

2、當(dāng)結(jié)果簇是密集的厂捞,而簇與簇之間區(qū)別明顯時, 它的效果較好输玷。

3、主要需要調(diào)參的參數(shù)僅僅是簇數(shù)k靡馁。

缺點:

1欲鹏、K值需要預(yù)先給定,很多情況下K值的估計是非常困難的臭墨。

2赔嚎、K-Means算法對初始選取的質(zhì)心點是敏感的,不同的隨機(jī)種子點得到的聚類結(jié)果完全不同 胧弛,對結(jié)果影響很大尤误。

3、對噪音和異常點比較的敏感结缚。用來檢測異常值损晤。

4、采用迭代方法红竭,可能只能得到局部的最優(yōu)解尤勋,而無法得到全局的最優(yōu)解

六茵宪、細(xì)節(jié)問題

1最冰、K值怎么定?

????????答:分幾類主要取決于個人的經(jīng)驗與感覺稀火,通常的做法是多嘗試幾個K值暖哨,看分成幾類的結(jié)果更好解釋,更符合分析目的等憾股÷故瘢或者可以把各種K值算出的E做比較,取最小的E的K值服球。

2茴恰、初始的K個質(zhì)心怎么選?

????????答:最常用的方法是隨機(jī)選斩熊,初始質(zhì)心的選取對最終聚類結(jié)果有影響往枣,因此算法一定要多執(zhí)行幾次,哪個結(jié)果更reasonable,就用哪個結(jié)果分冈。 當(dāng)然也有一些優(yōu)化的方法圾另,第一種是選擇彼此距離最遠(yuǎn)的點,具體來說就是先選第一個點雕沉,然后選離第一個點最遠(yuǎn)的當(dāng)?shù)诙€點集乔,然后選第三個點,第三個點到第一坡椒、第二兩點的距離之和最小扰路,以此類推。第二種是先根據(jù)其他聚類算法(如層次聚類)得到聚類結(jié)果倔叼,從結(jié)果中每個分類選一個點汗唱。

3、關(guān)于離群值丈攒?

????????答:離群值就是遠(yuǎn)離整體的哩罪,非常異常、非常特殊的數(shù)據(jù)點巡验,在聚類之前應(yīng)該將這些“極大”“極小”之類的離群數(shù)據(jù)都去掉际插,否則會對于聚類的結(jié)果有影響。但是显设,離群值往往自身就很有分析的價值腹鹉,可以把離群值單獨作為一類來分析。

4敷硅、單位要一致功咒!

????????答:比如X的單位是米,Y也是米绞蹦,那么距離算出來的單位還是米力奋,是有意義的。但是如果X是米幽七,Y是噸景殷,用距離公式計算就會出現(xiàn)“米的平方”加上“噸的平方”再開平方,最后算出的東西沒有數(shù)學(xué)意義澡屡,這就有問題了猿挚。

5、標(biāo)準(zhǔn)化

????????答:如果數(shù)據(jù)中X整體都比較小驶鹉,比如都是1到10之間的數(shù)绩蜻,Y很大,比如都是1000以上的數(shù)室埋,那么办绝,在計算距離的時候Y起到的作用就比X大很多伊约,X對于距離的影響幾乎可以忽略,這也有問題孕蝉。因此屡律,如果K-Means聚類中選擇歐幾里德距離計算距離,數(shù)據(jù)集又出現(xiàn)了上面所述的情況降淮,就一定要進(jìn)行數(shù)據(jù)的標(biāo)準(zhǔn)化(normalization)超埋,即將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間佳鳖。



參考文章:聚類纳本、K-Means、例子腋颠、細(xì)節(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吓笙,隨后出現(xiàn)的幾起案子淑玫,更是在濱河造成了極大的恐慌,老刑警劉巖面睛,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件絮蒿,死亡現(xiàn)場離奇詭異,居然都是意外死亡叁鉴,警方通過查閱死者的電腦和手機(jī)土涝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幌墓,“玉大人但壮,你說我怎么就攤上這事〕B拢” “怎么了蜡饵?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胳施。 經(jīng)常有香客問我溯祸,道長,這世上最難降的妖魔是什么舞肆? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任焦辅,我火速辦了婚禮,結(jié)果婚禮上椿胯,老公的妹妹穿的比我還像新娘筷登。我一直安慰自己,他們只是感情好哩盲,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布仆抵。 她就那樣靜靜地躺著跟继,像睡著了一般。 火紅的嫁衣襯著肌膚如雪镣丑。 梳的紋絲不亂的頭發(fā)上舔糖,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音莺匠,去河邊找鬼金吗。 笑死,一個胖子當(dāng)著我的面吹牛趣竣,可吹牛的內(nèi)容都是我干的摇庙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遥缕,長吁一口氣:“原來是場噩夢啊……” “哼卫袒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起单匣,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤夕凝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后户秤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體码秉,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年鸡号,在試婚紗的時候發(fā)現(xiàn)自己被綠了转砖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡鲸伴,死狀恐怖府蔗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情汞窗,我是刑警寧澤礁竞,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站杉辙,受9級特大地震影響模捂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜘矢,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一狂男、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧品腹,春花似錦岖食、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽析珊。三九已至,卻和暖如春蔑穴,著一層夾襖步出監(jiān)牢的瞬間忠寻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工存和, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留奕剃,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓捐腿,卻偏偏與公主長得像纵朋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茄袖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • K-Means原理K-Means算法的思想很簡單操软,對于給定的樣本集,按照樣本之間的距離大小宪祥,將樣本集劃分為K個簇聂薪。...
    yalesaleng閱讀 5,036評論 0 6
  • 大家早安、午安品山、晚安哈,繼續(xù)學(xué)習(xí)機(jī)器學(xué)習(xí)算法烤低,接下來幾篇均是無監(jiān)督學(xué)習(xí)算法肘交。今天首先學(xué)習(xí)K-means(K-均值)...
    keepStriving閱讀 5,909評論 0 7
  • 原理簡介 對于給定的樣本集,按照樣本之間的距離大小扑馁,將樣本集劃分為K個簇涯呻。讓簇內(nèi)的點盡量緊密的連在一起,而讓簇間的...
    從0到1024閱讀 605評論 0 0
  • 聚類分析是我們數(shù)據(jù)挖掘中常用的算法腻要,常常用于沒有分類复罐,但又有相關(guān)相似性的樣本研究當(dāng)中,包括了K-Means雄家、K-中...
    大圣眾包閱讀 20,446評論 0 3
  • 1. 機(jī)器學(xué)習(xí)基本概念 1.1 什么是機(jī)器學(xué)習(xí) 機(jī)器學(xué)習(xí)(Machine Learning)是一種基本數(shù)據(jù)的學(xué)習(xí)效诅,...
    ZPPenny閱讀 4,339評論 0 10