當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 人工智能
發(fā)布日期:2022-10-09 點(diǎn)擊率:48
前言:人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,人工智能之機(jī)器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點(diǎn)探討一下K-Means算法。
K-Means是十大經(jīng)典數(shù)據(jù)挖掘算法之一。K-Means和KNN(K鄰近)看上去都是K打頭,但卻是不同種類的算法。kNN是監(jiān)督學(xué)習(xí)中的分類算法,而K-Means則是非監(jiān)督學(xué)習(xí)中的聚類算法;二者相同之處是均利用近鄰信息來標(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ì)象歸類。通過迭代的方法,逐次更新各聚類中心的值,直至得到最好的聚類結(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ì)象”(引力中心)來進(jìn)行計(jì)算的。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV