




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C均值聚類實(shí)驗(yàn)報(bào)告一、C均值聚類的算法原理聚類分析是指事先不知樣本的類別,而利用樣本的先驗(yàn)知識(shí)來構(gòu)造分類器(無監(jiān)督學(xué)習(xí))聚類準(zhǔn)則函數(shù)在樣本相似性度量的基礎(chǔ)上,聚類分析還需要一定的準(zhǔn)則函數(shù),才能把真正屬于同一類的樣本聚合成一個(gè)類的子集,而把不同類的樣本分離開來。如果聚類準(zhǔn)則函數(shù)選得好,聚類質(zhì)量就會(huì)高。同時(shí),聚類準(zhǔn)則函數(shù)還可以用來評(píng)價(jià)一種聚類結(jié)果的質(zhì)量,如果聚類質(zhì)量不滿足要求,就要重復(fù)執(zhí)行聚類過程,以優(yōu)化結(jié)果。在重復(fù)優(yōu)化中,可以改變相似性度量,也可以選用新的聚類準(zhǔn)則。誤差平方和準(zhǔn)則(最常用的) 假定有混合樣本集 ,采用某種相似性度量 被聚合成c個(gè)分離開的子集 ,每個(gè)子集是一個(gè)類, 它們分別包含 個(gè)
2、 樣本 。 為了衡量聚類的質(zhì)量,采用誤差平方和聚類準(zhǔn)則函數(shù) 式中 為類中樣本的均值: 是c個(gè)子集合的中心,可以用來代表c個(gè)類。誤差平方和 聚類準(zhǔn)則函數(shù)是樣本與集合中心的函數(shù)。在樣本集X給定的情況下, 其取值取決于c個(gè)集合“中心”。 它描述n個(gè)試驗(yàn)樣本聚合成c個(gè)類時(shí),所產(chǎn)生的總誤差平方和 越小越好。誤差平方和準(zhǔn)則適用于各類樣本比較密集且樣本數(shù)目懸殊不大的樣本分布。C-均值聚類算法的核心思想是通過迭代把數(shù)據(jù)對(duì)象劃分到不同的簇中,以求目標(biāo)數(shù)最小化,從而使生成的簇盡可能地緊湊和獨(dú)立。首先,隨機(jī)選取k個(gè)對(duì)象作為初始的k個(gè)簇的質(zhì)心;然后,將其余對(duì)象根據(jù)其與各個(gè)簇質(zhì)心的距離分配到最近的簇;再求新形成的簇的質(zhì)
3、心。這個(gè)迭代重定位過程不斷重復(fù),直到目標(biāo)函數(shù)最小化為止。 C均值聚類算法使用的聚類準(zhǔn)則函數(shù)是誤差平方和準(zhǔn)則 :為了使聚類結(jié)果優(yōu)化,應(yīng)該使準(zhǔn)則 最小化。二、C均值聚類的實(shí)現(xiàn)步驟C均值算法步驟: 給出n個(gè)混合樣本,令 ,表示迭代運(yùn)算次數(shù),選取c個(gè)初始聚合中心 計(jì)算每個(gè)樣本與聚合中心的距離:若則令 計(jì)算新的集合中心:計(jì)算誤差平方和 值: 對(duì)每個(gè)聚合中的每個(gè)樣本,計(jì)算:表示 減少的部分 。表示 增加的部分:若 ,則把樣本 移到聚合中心 中,并修改聚合中心和 值。 判斷:若 則 ,返回。否則,算法結(jié)束。 三. 編寫的程序:#include #include #include #include #incl
4、ude #include using namespace std;double distance(double a4, double b4)/ TODO: 改馬氏距離double d0 = a0-b0;double d1 = a1-b1;double d2 = a2-b2;double d3 = a3-b3;return sqrt(d0*d0+d1*d1+d2*d2+d3*d3);int main()/ 讀取數(shù)據(jù)double data1504;ifstream f(data.txt);for(int i=0; idatai0datai1datai2datai3;f.close();/ 歸一化d
5、ouble m4 = DBL_MAX, DBL_MAX, DBL_MAX, DBL_MAX;double M4 = -DBL_MAX, -DBL_MAX, -DBL_MAX, -DBL_MAX;for(i=0; i150; i+)for(int j=0; j4; j+)if(dataijMj)Mj=dataij;for(i=0; i150; i+)for(int j=0; j4; j+)dataij = (dataij-mj) / (Mj-mj);/ 打亂/ TODO: 使用隨機(jī)排序int rightLabels150;for(i=0; i50; i+)rightLabelsi = 0;for
6、(i=50; i100; i+)rightLabelsi = 1;for(i=100; i150; i+)rightLabelsi = 2;srand(time(NULL);for(i=0; i150; i+)int j = rand()%150;double tmp;tmp = datai0; datai0 = dataj0; dataj0 = tmp;tmp = datai1; datai1 = dataj1; dataj1 = tmp;tmp = datai2; datai2 = dataj2; dataj2 = tmp;tmp = datai3; datai3 = dataj3; da
7、taj3 = tmp;int tmp2;tmp2 = rightLabelsi;rightLabelsi = rightLabelsj;rightLabelsj = tmp2;/ 分類int labels150;double Z34 = data00, data01, data02, data03, data10, data11, data12, data13, data20, data21, data22, data23;int iterations = 0;while(true)/ coutsetw(10)Z00setw(10)Z01setw(10)Z02setw(10)Z03endl/
8、setw(10)Z10setw(10)Z11setw(10)Z12setw(10)Z13endl/ setw(10)Z20setw(10)Z21setw(10)Z22setw(10)Z23endl/ endl;/ cin.get();iterations+;/ 最小距離分類 到labelfor(int i=0; i150; i+)double d0 = distance(Z0, datai);double d1 = distance(Z1, datai);double d2 = distance(Z2, datai);if(d0d1)&(d0d2)labelsi = 0;else if(d1d
9、2)labelsi = 1;elselabelsi = 2;/ 計(jì)算均值為新聚類中心 到Zdouble sum34 = 0.0;int count3 = 0;for(i=0; i150; i+)int label = labelsi;sumlabel0+=datai0;sumlabel1+=datai1;sumlabel2+=datai2;sumlabel3+=datai3;countlabel+;bool changed = false;for(i=0; i3; i+)for(int j=0; j4; j+)if(Zij != sumij / counti)/ 可以加入e比較Zij = su
10、mij / counti;changed = true;/ 聚類中心沒改變則退出if(!changed)break;/ 輸出int count3 = 0;for(i=0; i150; i+)coutdatai0tdatai1tdatai2tdatai3tlabelsit(char)(rightLabelsi+A)endl;countlabelsi+;coutendliterations: iterationsendllabel0 count: count0endllabel1 count: count1endllabel2 count: count2endl;cin.get();return
11、0;四.運(yùn)行結(jié)果:0.1666670.1666670.3898310.3750B0.1388890.4166670.06779701A0.4722220.0833330.6779660.5833330C0.5833330.3333330.7796610.8752C0.250.8750.08474601A0.19444400.4237290.3750B0.1944440.5833330.0847460.0416671A0.50.3750.6271190.5416670B0.4166670.2916670.5254240.3750B0.750.50.6271190.5416672B0.138889
12、0.4583330.1016950.0416671A0.250.2916670.4915250.5416670B0.3333330.6250.0508480.0416671A0.6666670.4166670.6779660.6666672B0.4444440.4166670.5423730.5833330B0.1944440.5416670.0677970.0416671A0.3611110.2916670.5423730.50B0.6666670.5416670.7966112C0.1944440.6250.1016950.2083331A0.250.5833330.0677970.041
13、6671A0.3611110.3333330.6610170.7916670C0.8055560.4166670.8135590.6252C0.4166670.2916670.6949150.750C0.3888890.3750.5423730.50B0.3611110.4166670.5254240.50B0.3611110.2083330.4915250.4166670B0.6111110.3333330.6101690.5833330B0.6944440.50.8305080.9166672C0.5833330.50.593220.5833332B0.3888890.3333330.59
14、3220.50B0.5277780.5833330.7457630.9166672C0.3611110.4166670.593220.5833330B0.5555560.5416670.6271190.6252B0.50.3333330.6271190.4583330B0.1666670.6666670.06779701A0.2222220.2083330.3389830.4166670B0.5277780.3333330.6440680.7083332C0.1944440.5833330.1016950.1251A0.5833330.3750.5593220.50B0.1944440.50.
15、0338980.0416671A0.2222220.5416670.1186440.1666671A0.0833330.50.0677970.0416671A0.4166670.2916670.4915250.4583330B0.2222220.6250.0677970.0833331A0.1111110.50.0508480.0416671A0.2222220.750.1525420.1251A0.3055560.4166670.593220.5833330B0.6388890.3750.6101690.50B0.6666670.4166670.7118640.9166672C0.72222
16、20.4583330.6610170.5833332B0.1666670.2083330.593220.6666670C0.8333330.3750.8983050.7083332C0.3333330.250.5762710.4583330B0.7222220.4583330.6949150.9166672C0.3333330.1666670.4576270.3750B0.5555560.5833330.7796610.9583332C0.4166670.2916670.6949150.750C0.5555560.3750.7796610.7083332C0.4722220.4166670.6
17、440680.7083332C0.1666670.4583330.0847460.0416671A0.3888890.2083330.6779660.7916670C0.9444440.2510.9166672C0.7777780.4166670.8305080.8333332C0.4166670.8333330.0338980.0416671A0.8055560.6666670.86440712C0.6111110.4166670.7118640.7916672C0.6111110.50.6949150.7916672C0.3333330.2083330.5084750.50B0.13888
18、90.5833330.1016950.0416671A0.6944440.3333330.6440680.5416672B0.1944440.6250.0508480.0833331A0.5833330.4583330.7627120.7083332C0.1111110.50.1016950.0416671A0.6944440.4166670.7627120.8333332C0.3888890.3333330.5254240.50B0.4166670.250.5084750.4583330B0.1666670.4583330.08474601A0.1388890.5833330.1525420
19、.0416671A0.6111110.4166670.7627120.7083332C0.0833330.4583330.0847460.0416671A0.3055560.7083330.0847460.0416671A0.7222220.4583330.7457630.8333332C0.5833330.2916670.7288140.752C0.8055560.50.8474580.7083332C0.3333330.1666670.4745760.4166670B0.5555560.5416670.84745812C0.7222220.50.796610.9166672C0.44444
20、40.4166670.6949150.7083332C0.2222220.6250.0677970.0416671A0.6666670.4583330.6271190.5833332B0.3333330.9166670.0677970.0416671A0.2222220.7083330.0847460.1251A0.3333330.1250.5084750.50B0.50.4166670.6610170.7083332C0.5277780.0833330.593220.5833330B0.9166670.4166670.9491530.8333332C0.6111110.4166670.813
21、5590.8752C0.6666670.2083330.8135590.7083332C0.2222220.750.1016950.0416671A0.4444440.50.6440680.7083332B0.0555560.1250.0508480.0833331A0.3055560.7916670.1186440.1251A0.0277780.4166670.0508480.0416671A0.8611110.3333330.8644070.752C0.0833330.5833330.0677970.0833331A00.4166670.01694901A0.4722220.5833330
22、.593220.6252B0.1388890.4166670.0677970.0833331A0.3055560.5833330.1186440.0416671A0.2222220.750.0847460.0833331A0.5555560.1250.5762710.50B0.50.3333330.5084750.50B0.3888890.4166670.5423730.4583330B0.6666670.4583330.5762710.5416672B0.3888890.750.1186440.0833331A10.750.9152540.7916672C0.9444440.750.9661
23、020.8752C0.0833330.66666700.0416671A0.50.250.7796610.5416670C0.1944440.4166670.1016950.0416671A0.3611110.3750.4406780.50B0.9444440.4166670.8644070.9166672C0.250.6250.0847460.0416671A0.0277780.3750.0677970.0416671A0.2777780.7083330.0847460.0416671A0.6388890.4166670.5762710.5416670B0.5555560.2083330.6610170.5833330B0.50.4166670.6101690.5416670B0.3888890.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 盾構(gòu)機(jī)采購(gòu)合同范本
- Unit 1 Hello!(教學(xué)設(shè)計(jì))-2024-2025學(xué)年冀教版(三起)(2024)英語三年級(jí)上冊(cè)
- 投資地皮合同范本
- 2《走月亮》教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文四年級(jí)上冊(cè)統(tǒng)編版
- 21古詩(shī)詞三首《山居秋暝》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版語文五年級(jí)上冊(cè)
- 3《蜀道難》《蜀相》教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊(cè)
- 清油罐合同范本
- 20肥皂泡教學(xué)設(shè)計(jì)-2023-2024學(xué)年三年級(jí)下冊(cè)語文統(tǒng)編版
- 貨物抵賬合同范本
- 4公民的基本權(quán)利和義務(wù) 第三課時(shí)《國(guó)家尊重和保障人權(quán)》教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治六年級(jí)上冊(cè)統(tǒng)編版
- 《船舶精通急救》全套教學(xué)課件
- 什么叫績(jī)效考勤管理制度
- 外墻噴漆施工合同協(xié)議書
- 《積極心理學(xué)(第3版)》 課件 第2章 心理流暢體驗(yàn)
- 軟件系統(tǒng)平臺(tái)項(xiàng)目實(shí)施方案
- 陜西延長(zhǎng)石油集團(tuán)礦業(yè)公司招聘筆試題庫(kù)2024
- 《力與形變》教學(xué)課件(一)
- 浙江省中小學(xué)心理健康教育課程標(biāo)準(zhǔn)
- 遼寧省大連市莊河市2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
- 壘球教案完整版本
- 2024年南京鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
評(píng)論
0/150
提交評(píng)論