淺析Kmeans聚類(lèi)算法

kmeans用于數(shù)據(jù)挖掘,是很典型的基于距離的聚類(lèi)算法,采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大
主要步驟如下:
1.從一群點(diǎn)中任意選擇K個(gè)點(diǎn),且叫他中心點(diǎn),K值就是將這群點(diǎn)分的類(lèi)別數(shù)目
2.對(duì)余下的每一個(gè)點(diǎn),分別計(jì)算它與每一個(gè)中心點(diǎn)的距離,得到K個(gè)距離,比較這K個(gè)距離,選擇其中最小的距離,將點(diǎn)與這個(gè)中心點(diǎn)歸為一類(lèi)。
3.當(dāng)所有的點(diǎn)都?xì)w類(lèi)后,對(duì)每一個(gè)類(lèi)別重新計(jì)算其中心點(diǎn),再次得到K個(gè)中心點(diǎn),然后重復(fù)2步驟。

然后,開(kāi)始解決以下問(wèn)題:
1.只有把現(xiàn)實(shí)世界的物體的屬性抽象成向量或坐標(biāo),就可以用K-Means算法來(lái)歸類(lèi)了。如何把一個(gè)實(shí)體文件抽象為一個(gè)點(diǎn)。在這里,用到了中文分詞和坐標(biāo)、維度概念。比如說(shuō)有100篇文章,對(duì)每一篇均進(jìn)行分詞,從中提取關(guān)鍵字。將100篇文章的關(guān)鍵字整合并進(jìn)行去重復(fù)操作,假如最終得到1000個(gè)關(guān)鍵字,暫時(shí)標(biāo)記為整合關(guān)鍵字。此外,這1000個(gè)關(guān)鍵字還可抽象為1000個(gè)維度。然后將每一篇文章的關(guān)鍵字與整合關(guān)鍵字進(jìn)行比對(duì)。若某個(gè)整合關(guān)鍵字在文章中出現(xiàn)了,則此篇文章在這個(gè)關(guān)鍵字處,即這個(gè)維度上可以計(jì)作1,若沒(méi)有出現(xiàn)則計(jì)作0,當(dāng)一片文章中的關(guān)鍵字被比對(duì)完之后,一篇文章就被抽象為一個(gè)點(diǎn),且這個(gè)點(diǎn)由1000個(gè)坐標(biāo)組成。點(diǎn)的坐標(biāo)除了1和0外,還可以是其他整數(shù)。由此,抽象一篇文章可以有兩種思路
(1)某個(gè)整合關(guān)鍵字只要在文章中出現(xiàn)了,就計(jì)作1,而不管這個(gè)整合關(guān)鍵字在這片文章中出現(xiàn)了幾次。因此,這種思路下的點(diǎn)的坐標(biāo)僅由1和0組成。
(2)我們不僅要考慮某個(gè)整合關(guān)鍵字是否文章中出現(xiàn)了,還要考慮他到底出現(xiàn)了幾次。即出現(xiàn)幾次,就計(jì)作幾,這種思路下坐標(biāo),除了1和0,還有其他整數(shù)。
2.在劃分類(lèi)別的時(shí)候,是如何判斷兩點(diǎn)之間的距離的。首先一個(gè)點(diǎn)由兩個(gè)坐標(biāo)組成,計(jì)作(x,y),就像在二維平面中,求兩點(diǎn)之間的距離,d=。這種方法是最簡(jiǎn)答,也是我們最容易想到的。
3.如何計(jì)算中心點(diǎn),最簡(jiǎn)單的,使用各個(gè)點(diǎn)的X/Y坐標(biāo)的平均值。
4.在Kmeans算法中,需要重復(fù)計(jì)算中心點(diǎn),那么具體要重復(fù)多少次才停止呢?
停止的條件有兩種
(1) 每次重復(fù)計(jì)算的中心點(diǎn),與上一次計(jì)算的中心點(diǎn)之間總有一定的浮動(dòng)范圍。因此, 我們提前給定一個(gè)中心點(diǎn)的浮動(dòng)范圍,在兩次中心點(diǎn)之間的差值在這個(gè)浮動(dòng)范圍里時(shí), 我們就認(rèn)定中心點(diǎn)已經(jīng)固定,重復(fù)計(jì)算就此結(jié)束。
(2)不論重復(fù)計(jì)算多少次,我們可以確定一點(diǎn),重復(fù)計(jì)算次數(shù)越多,中心點(diǎn)就越精確,即每一個(gè)類(lèi)別里點(diǎn)之間的關(guān)系就越親密。當(dāng)然我們不可能進(jìn)行無(wú)數(shù)次的重復(fù)計(jì)算。因此,我們根據(jù)實(shí)際情況,選擇一個(gè)合適的次數(shù)進(jìn)行重復(fù)計(jì)算即可。當(dāng)重復(fù)計(jì)算了限定次數(shù)的時(shí)候,就固定當(dāng)前所分類(lèi)的情況。
(3)其實(shí)還有第三種,就是將浮動(dòng)范圍和限定次數(shù)相結(jié)合,作為兩個(gè)限定條件,只要滿(mǎn)足其中一個(gè)條件,重復(fù)即可停止。
5.其實(shí),kmeans也是有缺點(diǎn)的,很重要的一點(diǎn)就是K 是事先給定的,這個(gè) K 值的選定是非常難以估計(jì)的。很多時(shí)候,事先并不知道給定的數(shù)據(jù)集應(yīng)該分成多少個(gè)類(lèi)別才最合適。此時(shí),我們就需借助其他算法來(lái)確定K值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,284評(píng)論 25 708
  • 1. 機(jī)器學(xué)習(xí)基本概念 1.1 什么是機(jī)器學(xué)習(xí) 機(jī)器學(xué)習(xí)(Machine Learning)是一種基本數(shù)據(jù)的學(xué)習(xí),...
    ZPPenny閱讀 4,386評(píng)論 0 10
  • 你能看到一個(gè)路人身上的閃光點(diǎn),那就值得。
    風(fēng)雨等故人閱讀 185評(píng)論 0 0
  • 圖片服務(wù)器存在的需求是,根據(jù)手機(jī)屏幕尺寸以及dpi的不同,將一些尺寸較大的圖片進(jìn)行動(dòng)態(tài)等比例縮放,最終達(dá)到不浪費(fèi)屏...
    stois閱讀 2,591評(píng)論 0 5
  • 真的很遺憾,這次沒(méi)能帶著紫涵一起出來(lái),雖然知道她以后肯定也會(huì)有機(jī)會(huì)重走這一路,可心里還是很遺憾,想讓孩子不怕挑戰(zhàn),...
    勇敢的Sandy閱讀 441評(píng)論 0 2