訂閱
糾錯(cuò)
加入自媒體

人工智能之K-Means算法

前言:人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,人工智能之機(jī)器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點(diǎn)探討一下K-Means算法。

K-Means是十大經(jīng)典數(shù)據(jù)挖掘算法之一。K-MeansKNN(K鄰近)看上去都是K打頭,但卻是不同種類的算法。kNN是監(jiān)督學(xué)習(xí)中的分類算法,而K-Means則是非監(jiān)督學(xué)習(xí)中的聚類算法;二者相同之處是均利用近鄰信息來(lái)標(biāo)注類別。

提到“聚類”一詞,使人不禁想到:“物以類聚,人以群分”。聚類是數(shù)據(jù)挖掘中一種非常重要的學(xué)習(xí)流派,指將未標(biāo)注的樣本數(shù)據(jù)中相似的分為同一類。

K-means算法是很典型的基于距離的聚類算法。于1982年由Lloyod提出。它是簡(jiǎn)單而又有效的統(tǒng)計(jì)聚類算法。一般采用距離作為相似性的評(píng)價(jià)指標(biāo),即認(rèn)為兩個(gè)對(duì)象的距離越近,其相似度就越大。該算法認(rèn)為是由距離靠近的對(duì)象組成的,因此把得到緊湊且獨(dú)立的簇作為最終目標(biāo)。

K-Means概念:

K-means算法是硬聚類算法,是典型的基于原型的目標(biāo)函數(shù)聚類方法的代表,它是數(shù)據(jù)點(diǎn)到原型的某種距離作為優(yōu)化的目標(biāo)函數(shù),利用函數(shù)求極值的方法得到迭代運(yùn)算的調(diào)整規(guī)則。K-means算法以歐式距離作為相似度測(cè)度,它是求對(duì)應(yīng)某一初始聚類中心向量V最優(yōu)分類,使得評(píng)價(jià)指標(biāo)J最小。算法采用誤差平方和準(zhǔn)則函數(shù)作為聚類準(zhǔn)則函數(shù)。

K-Means核心思想:

由用戶指定k個(gè)初始質(zhì)心(initial centroids),作為聚類的類別(cluster),重復(fù)迭代直至算法收斂。即以空間中k個(gè)點(diǎn)為中心進(jìn)行聚類,對(duì)最靠近他們的對(duì)象歸類。通過(guò)迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結(jié)果。

k個(gè)初始類聚類中心點(diǎn)的選取對(duì)聚類結(jié)果具有較大的。

K-Means算法描述:

假設(shè)要把樣本集分為c個(gè)類別,算法描述如下:

1)適當(dāng)選擇c個(gè)類的初始中心;

2)在第k次迭代中,對(duì)任意一個(gè)樣本,求其到c個(gè)中心的距離,將該樣本歸到距離最短的中心所在的類;

3)利用均值等方法更新該類的中心值;

4)對(duì)于所有的c個(gè)聚類中心,如果利用2)和3)的迭代法更新后,值保持不變,則迭代結(jié)束,否則繼續(xù)迭代。

具體如下:

輸入:k, data[n];

1)選擇k個(gè)初始中心點(diǎn),例如c[0]=data[0],…c[k-1]=data[k-1];

2)對(duì)于data[0]….data[n],分別與c[0]…c[k-1]比較,假定與c[i]差值最少,就標(biāo)記為i;

3)對(duì)于所有標(biāo)記為i點(diǎn),重新計(jì)算c[i]={ 所有標(biāo)記為i的data[j]之和}/標(biāo)記為i的個(gè)數(shù);

4)重復(fù)2)和3),直到所有c[i]值的變化小于給定閾值。

該算法的最大優(yōu)勢(shì)在于簡(jiǎn)潔和快速。算法的關(guān)鍵在于初始中心的選擇和距離公式。

K-Means工作流程:

1)從 n個(gè)數(shù)據(jù)對(duì)象任意選擇k個(gè)對(duì)象作為初始聚類中心;

2)根據(jù)每個(gè)聚類對(duì)象的均值中心對(duì)象),計(jì)算每個(gè)對(duì)象與這些中心對(duì)象的距離;并根據(jù)最小距離重新對(duì)相應(yīng)對(duì)象進(jìn)行劃分;

3)重新計(jì)算每個(gè)(有變化)聚類的均值(中心對(duì)象);

4)循環(huán)2)到3)直到每個(gè)聚類不再發(fā)生變化為止,即標(biāo)準(zhǔn)測(cè)度函數(shù)收斂為止。

注:一般采用均方差作為標(biāo)準(zhǔn)測(cè)度函數(shù)。

K-Means算法接受輸入量k;然后將n個(gè)數(shù)據(jù)對(duì)象劃分為k個(gè)聚類以便使得所獲得的聚類滿足:同一聚類中的對(duì)象相似度較高;而不同聚類中的對(duì)象相似度較小。即,各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。

聚類相似度是利用各聚類中對(duì)象的均值所獲得一個(gè)“中心對(duì)象”(引力中心)來(lái)進(jìn)行計(jì)算的。

1  2  下一頁(yè)>  
聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)