K-means數(shù)學(xué)建模_第1頁
K-means數(shù)學(xué)建模_第2頁
K-means數(shù)學(xué)建模_第3頁
K-means數(shù)學(xué)建模_第4頁
K-means數(shù)學(xué)建模_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、K-means聚類算法聚類算法 k-means算法,也被稱為算法,也被稱為k-平均或平均或k-均值,是均值,是一種得到最廣泛使用的聚類算法。一種得到最廣泛使用的聚類算法。 它是將各個聚類是將各個聚類子集內(nèi)的所有數(shù)據(jù)樣本的均值作為該聚類的代表點,子集內(nèi)的所有數(shù)據(jù)樣本的均值作為該聚類的代表點,算法的主要思想是通過迭代過程把數(shù)據(jù)集劃分為不算法的主要思想是通過迭代過程把數(shù)據(jù)集劃分為不同的類別,使得評價聚類性能的準(zhǔn)則函數(shù)達到最優(yōu),同的類別,使得評價聚類性能的準(zhǔn)則函數(shù)達到最優(yōu),從而使生成的每個聚類內(nèi)緊湊,類間獨立。這一算從而使生成的每個聚類內(nèi)緊湊,類間獨立。這一算法不適合處理離散型屬性,但是對于連續(xù)型具有

2、較法不適合處理離散型屬性,但是對于連續(xù)型具有較好的聚類效果好的聚類效果。 劃分聚類方法對數(shù)據(jù)集進行聚類時包括如下劃分聚類方法對數(shù)據(jù)集進行聚類時包括如下 三個要點:三個要點:v (1 1)選定某種距離作為數(shù)據(jù)樣本間的相似性度)選定某種距離作為數(shù)據(jù)樣本間的相似性度量量 上面講到,上面講到,k-meansk-means聚類算法不適合處理離散型聚類算法不適合處理離散型 屬性,對連續(xù)型屬性比較適合。因此在計算數(shù)據(jù)樣屬性,對連續(xù)型屬性比較適合。因此在計算數(shù)據(jù)樣本之間的距離時,可以根據(jù)實際需要選擇歐式距離、本之間的距離時,可以根據(jù)實際需要選擇歐式距離、曼哈頓距離或者明考斯距離中的一種來作為算法的曼哈頓距離或

3、者明考斯距離中的一種來作為算法的相似性度量,其中最常用的是歐式距離。下面我給相似性度量,其中最常用的是歐式距離。下面我給大家具體介紹一下歐式距離。大家具體介紹一下歐式距離。 假設(shè)給定的數(shù)據(jù)集假設(shè)給定的數(shù)據(jù)集 ,X X中中的樣本用的樣本用d d個描述屬性個描述屬性A A1 1,A,A2 2AAd d來表示,并且來表示,并且d d個描個描述屬性都是連續(xù)型屬性。數(shù)據(jù)樣本述屬性都是連續(xù)型屬性。數(shù)據(jù)樣本x xi i=(x=(xi1i1,x,xi2i2,x,xidid), x), xj j=(x=(xj1j1,x,xj2j2,x,xjdjd) )其中,其中, x xi1i1,x,xi2i2,x,xidid

4、和和x xj1j1,x,xj2j2,x,xjdjd分別是樣本分別是樣本x xi i和和x xj j對應(yīng)對應(yīng)d d個描述屬性個描述屬性A A1 1,A,A2 2,A,Ad d的具體取值。樣本的具體取值。樣本xixi和和xjxj之之間的相似度通常用它們之間的距離間的相似度通常用它們之間的距離d(xd(xi i,x,xj j) )來表示,來表示,距離越小,樣本距離越小,樣本x xi i和和x xj j越相似,差異度越小;距離越相似,差異度越??;距離越大,樣本越大,樣本x xi i和和x xj j越不相似,差異度越大。越不相似,差異度越大。 歐式距離公式如下:歐式距離公式如下:dkjkikjixxxx

5、d12,totalmxXm,.,2 , 1|v(2 2)選擇評價聚類性能的準(zhǔn)則函數(shù))選擇評價聚類性能的準(zhǔn)則函數(shù) k-meansk-means聚類算法使用誤差平方和準(zhǔn)則函數(shù)來聚類算法使用誤差平方和準(zhǔn)則函數(shù)來 評價聚類性能。給定數(shù)據(jù)集評價聚類性能。給定數(shù)據(jù)集X X,其中只包含描述屬,其中只包含描述屬性,不包含類別屬性。假設(shè)性,不包含類別屬性。假設(shè)X X包含包含k k個聚類子集個聚類子集X X1 1,X,X2 2,X,XK K;各個聚類子集中的樣本數(shù)量分別為;各個聚類子集中的樣本數(shù)量分別為n n1 1,n n2 2,n,nk k; ;各個聚類子集的均值代表點(也稱聚類中各個聚類子集的均值代表點(也稱

6、聚類中心)分別為心)分別為m m1 1,m m2 2,m,mk k。則誤差平方和準(zhǔn)則函數(shù)。則誤差平方和準(zhǔn)則函數(shù)公式為:公式為:21 kiXpiimpEv (3)相似度的計算根據(jù)一個簇中對象的平均值相似度的計算根據(jù)一個簇中對象的平均值 來進行。來進行。v(1 1)將所有對象隨機分配到)將所有對象隨機分配到k k個非空的簇中。個非空的簇中。v(2 2)計算每個簇的平均值,并用該平均值代表相)計算每個簇的平均值,并用該平均值代表相應(yīng)的簇。應(yīng)的簇。v(3 3)根據(jù)每個對象與各個簇中心的距離,分配給)根據(jù)每個對象與各個簇中心的距離,分配給最近的簇。最近的簇。v(4 4)然后轉(zhuǎn)()然后轉(zhuǎn)(2 2),重新計

7、算每個簇的平均值。),重新計算每個簇的平均值。這個過程不斷重復(fù)直到滿足某個準(zhǔn)則函數(shù)才停止。這個過程不斷重復(fù)直到滿足某個準(zhǔn)則函數(shù)才停止。K-均值聚類示例均值聚類示例輸入輸入: 簇的數(shù)目簇的數(shù)目k 和包含和包含n 個對象的數(shù)據(jù)庫。個對象的數(shù)據(jù)庫。輸出輸出: k 個簇個簇, 使平方誤差準(zhǔn)則最小。使平方誤差準(zhǔn)則最小。方法:基于簇中對象的平均值。方法:基于簇中對象的平均值。( l) 任意選擇任意選擇k 個對象作為初始的簇中心個對象作為初始的簇中心;(2 ) r e p e a t ,(3 ) 根據(jù)簇中對象的平均值根據(jù)簇中對象的平均值, 將每個對象將每個對象(重新重新) 賦給最賦給最類似的簇類似的簇:(4

8、 ) 更新簇的平均值更新簇的平均值, 即計算每個簇中對象的平均值即計算每個簇中對象的平均值;(5) u n t i l 不再發(fā)生變化。不再發(fā)生變化。K-means算法算法2個核心問題:個核心問題:1.度量記錄之間的相關(guān)性的計算公式,此處采用歐式距離。度量記錄之間的相關(guān)性的計算公式,此處采用歐式距離。2.更新簇內(nèi)質(zhì)心的方法,此處采用平均值法,即更新簇內(nèi)質(zhì)心的方法,此處采用平均值法,即means。算法算法 k-means算法算法輸入:簇的數(shù)目輸入:簇的數(shù)目k和包含和包含n個對象的數(shù)據(jù)庫。個對象的數(shù)據(jù)庫。輸出:輸出:k個簇,使平方誤差準(zhǔn)則最小。個簇,使平方誤差準(zhǔn)則最小。(1)assign initi

9、al value for means; /*任意分配到任意分配到k個對象作為簇的平均值個對象作為簇的平均值*/ (2) REPEAT (3) FOR j=1 to n DO assign each xj to the closest clusters; (4) FOR i=1 to k DO / *更新簇平均值更新簇平均值*/ (5) Compute /*計算準(zhǔn)則函數(shù)計算準(zhǔn)則函數(shù)E*/ (6) UNTIL E不再明顯地發(fā)生變化。不再明顯地發(fā)生變化。21 kiCxiixxEiCxiixCx1Oxy10220031.50450552數(shù)據(jù)對象集合數(shù)據(jù)對象集合S見表見表1,作為一個聚類分析的二維,作為

10、一個聚類分析的二維樣本,要求的簇的數(shù)量樣本,要求的簇的數(shù)量k=2。(1)選擇選擇 , 為初始的簇中心,為初始的簇中心,即即 , 。(2)對剩余的每個對象,根據(jù)其與各個簇中心的距對剩余的每個對象,根據(jù)其與各個簇中心的距離,將它賦給最近的簇。離,將它賦給最近的簇。 對對 : 顯然顯然 ,故將,故將 分配給分配給 ;同理,將;同理,將 分配分配給給 , 分配給分配給 。更新,得到新簇更新,得到新簇 和和計算平方誤差準(zhǔn)則,單個方差為計算平方誤差準(zhǔn)則,單個方差為2 , 01O0 , 02O2 , 011OM0 , 022OM5 . 2025 . 10,2231OMd5 . 1005 . 10,2232O

11、Md3132,OMdOMd3O3O2C4O2C4O1C511,OOC 511,OOC 252250220022221E25.272E例子例子,??傮w平均方差是:總體平均方差是:(3)計算新的簇的中心。)計算新的簇的中心。 25.5225.272521EEE 2 , 5 . 2222, 2501M0 ,17. 23000, 355 . 102M重復(fù)(重復(fù)(2)和()和(3),得到),得到O1分配給分配給C1;O2分配給分配給C2,O3分配分配給給C2 ,O4分配給分配給C2,O5分配給分配給C1。更新,得到新簇。更新,得到新簇和和 。 中心為中心為 , 。顯影的單個方差分別為顯影的單個方差分別為

12、511,OOC 4322,OOOC 2 , 5 . 21M0 ,17. 22M5 .122255 . 2225 . 2022221E15.132E總體平均誤差是:總體平均誤差是: 65.2515.135 .1221EEE由上可以看出,第一次迭代后,總體平均誤差值由上可以看出,第一次迭代后,總體平均誤差值52.2525.65,顯著減小。由于在兩次迭代中,簇中心不變,所以停止迭代過程顯著減小。由于在兩次迭代中,簇中心不變,所以停止迭代過程,算法停止算法停止。 k k-means-means算法的性能分析算法的性能分析n主要優(yōu)點:主要優(yōu)點:u是解決聚類問題的一種經(jīng)典算法,簡單、快速。是解決聚類問題的

13、一種經(jīng)典算法,簡單、快速。u對處理大數(shù)據(jù)集,該算法是相對可伸縮和高效率的。對處理大數(shù)據(jù)集,該算法是相對可伸縮和高效率的。因為它的復(fù)雜度因為它的復(fù)雜度是是0 (n k t ) , 其中其中, n 是所有對象的數(shù)目是所有對象的數(shù)目, k 是簇的數(shù)目是簇的數(shù)目, t 是迭代的次數(shù)。是迭代的次數(shù)。通常通常k n 且且t n 。u當(dāng)結(jié)果簇是密集的,而簇與簇之間區(qū)別明顯時當(dāng)結(jié)果簇是密集的,而簇與簇之間區(qū)別明顯時, , 它的效果較好。它的效果較好。n主要缺點主要缺點u在簇的平均值被定義的情況下才能使用,在簇的平均值被定義的情況下才能使用,這對于處理符號屬性的數(shù)據(jù)這對于處理符號屬性的數(shù)據(jù)不適用。不適用。u必須

14、事先給出必須事先給出k k(要生成的簇的數(shù)目),而且對初值敏感,對于不同的(要生成的簇的數(shù)目),而且對初值敏感,對于不同的初始值,可能會導(dǎo)致不同結(jié)果。初始值,可能會導(dǎo)致不同結(jié)果。u它對于它對于“躁聲躁聲”和孤立點數(shù)據(jù)是敏感的,和孤立點數(shù)據(jù)是敏感的,少量的該類數(shù)據(jù)能夠?qū)ζ骄倭康脑擃悢?shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大的影響。值產(chǎn)生極大的影響。uk-modes 算法:實現(xiàn)對離散數(shù)據(jù)的快速聚類,保留了算法:實現(xiàn)對離散數(shù)據(jù)的快速聚類,保留了k-means算法的效率同時將算法的效率同時將k-means的應(yīng)用范圍擴大到離散數(shù)據(jù)。的應(yīng)用范圍擴大到離散數(shù)據(jù)。uK-modes算法是按照算法是按照k-means算法的核心內(nèi)

15、容進行修改,針?biāo)惴ǖ暮诵膬?nèi)容進行修改,針對分類屬性的度量和更新質(zhì)心的問題而改進。對分類屬性的度量和更新質(zhì)心的問題而改進。具體如下具體如下:1.度量記錄之間的相關(guān)性度量記錄之間的相關(guān)性D的計算公式是比較兩記錄之間,屬的計算公式是比較兩記錄之間,屬性相同為性相同為0,不同為,不同為1.并所有相加。因此并所有相加。因此D越大,即他的不相關(guān)越大,即他的不相關(guān)程度越強(與歐式距離代表的意義是一樣的);程度越強(與歐式距離代表的意義是一樣的);2.更新更新modes,使用一個簇的每個屬性出現(xiàn)頻率最大的那個屬,使用一個簇的每個屬性出現(xiàn)頻率最大的那個屬性值作為代表簇的屬性值。性值作為代表簇的屬性值。k-mea

16、nsk-means算法的改進方法算法的改進方法k-mode k-mode 算法算法uk-Prototype算法:可以對離散與數(shù)值屬性兩種混合的數(shù)據(jù)算法:可以對離散與數(shù)值屬性兩種混合的數(shù)據(jù)進行聚類,在進行聚類,在k-prototype中定義了一個對數(shù)值與離散屬性都中定義了一個對數(shù)值與離散屬性都計算的相異性度量標(biāo)準(zhǔn)。計算的相異性度量標(biāo)準(zhǔn)。uK-Prototype算法是結(jié)合算法是結(jié)合K-Means與與K-modes算法,針對算法,針對混合屬性的,解決混合屬性的,解決2個核心問題如下:個核心問題如下:1.度量具有混合屬性的方法是,數(shù)值屬性采用度量具有混合屬性的方法是,數(shù)值屬性采用K-means方法方法得到得到P1,分類屬性采用,分類屬性采用K-modes方法方法P2,那么,那么D=P1+a*P2,a是權(quán)重,如果覺得分類屬性重要,則增加是權(quán)重,如果覺得分類屬性重要,則增加a,否則減少,否則減少a,a=0時即只有數(shù)值屬性時即只有數(shù)值屬性2.更新一個簇的中心的方法,方法是結(jié)合更新一個簇的中心的方法,方法是結(jié)合K-Means與與K-modes的更新方法。的更新方法。k-meansk-means算法的改進方法算法的改進方法k-prototypek-prototype算法算法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論