資源描述:
《好看的偵探小說-網(wǎng)絡(luò)小說寫作指南》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、模式識(shí)別大作業(yè)k近鄰c均值模糊c均值導(dǎo)讀:就愛閱讀網(wǎng)友為您分享以下“模式識(shí)別大作業(yè)k近鄰c均值模糊c均值”資訊,希望對(duì)您有所幫助,感謝您對(duì)92to.com的支持!西安電子科技大學(xué)模式識(shí)別大作業(yè)李國山學(xué)號(hào):020951292011-12-13一、編程實(shí)現(xiàn)K-近鄰算法1)近鄰法的基本思想是在測(cè)試樣本x的k個(gè)近鄰中,按出現(xiàn)的樣本類別來作為x的類別,即先對(duì)x的k個(gè)近鄰一一找出它們的類別,然后對(duì)x類別進(jìn)行判別,即在N36個(gè)訓(xùn)練樣本中,找出x的k個(gè)近鄰。K-MEANS算法:輸入:聚類個(gè)數(shù)k,以及包含n個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)庫。輸出:滿足方差最小標(biāo)準(zhǔn)的k個(gè)聚類。2)處理流程:(1)從n個(gè)數(shù)據(jù)對(duì)象任
2、意選擇k個(gè)對(duì)象作為初始聚類中心;(2)循環(huán)(3)到(4)直到每個(gè)聚類不再發(fā)生變化為止(3)根據(jù)每個(gè)聚類對(duì)象的均值(中心對(duì)象),計(jì)算每個(gè)對(duì)象與這些中心對(duì)象的距離;并根據(jù)最小距離重新對(duì)相應(yīng)對(duì)象進(jìn)行劃分;(4)重新計(jì)算每個(gè)(有變化)聚類的均值(中心對(duì)象)k-means算法接受輸入量k;然后將n個(gè)數(shù)據(jù)對(duì)象劃分為k個(gè)聚類以便使得所獲得的聚類滿足:同一聚類中的對(duì)象相似度較高;而不同聚類中的對(duì)象相似度較小。聚類相似度是利用各聚類中對(duì)象的均值所獲得一個(gè)“中心對(duì)象”(引力中心)來進(jìn)行計(jì)算的。k-means算法的工作過程說明如下:首先從n個(gè)數(shù)據(jù)對(duì)象任意選擇k個(gè)對(duì)象作為初始聚類中心;而對(duì)于所剩下其它
3、對(duì)象,則根據(jù)它們與這些聚類中心的相似度(距離),分別將它們分配給與其最相似的(聚類中心所代表的)聚類;然36后再計(jì)算每個(gè)所獲新聚類的聚類中心(該聚類中所有對(duì)象的均值);不斷重復(fù)這一過程直到標(biāo)準(zhǔn)測(cè)度函數(shù)開始收斂為止。一般都采用均方差作為標(biāo)準(zhǔn)測(cè)度函數(shù).k個(gè)聚類具有以下特點(diǎn):各聚類本身盡可能的緊湊,而各聚類之間盡可能的分開。3)程序的說明:本程序中,訓(xùn)練樣本集含有30個(gè)樣本,矢量長度為5,對(duì)樣本{1,18,11,11,0.5513196}進(jìn)行K=5的K-最近鄰分類.樣本從文件data.txt中讀取,程序運(yùn)行結(jié)果顯示所有樣本以及其類別,待分類樣本所屬的類別({1,18,11,11,0.
4、5513196}屬于”2”類),以及它的5個(gè)最近鄰的類別和與它之間的距離。注:第92行的代碼中文件的路徑”F:\study\knn\data.txt”要進(jìn)行相應(yīng)改動(dòng).#includeiostream.h#includemath.h#includefstream.h#defineNATTRS5//numberofattributes#defineMAXSZ1700//maxsizeoftrainingset#defineMAXVALUE10000.0//thebiggestattribute’svalueisbelow10000(int)#defineK365structv
5、ector{doubleattributes[NATTRS];doubleclasslabel;};structitem{doubledistance;doubleclasslabel;};structvectortrSet[MAXSZ];//globalvariable,thetrainingsetstructitemknn[K];//globalvariable,thek-neareast-neighboursetintcurTSize=0;//currentsizeofthetrainingsetintAddtoTSet(structvectorv){if(curTSiz
6、e=MAXSZ){coutendl”Thetrainingsethas“MAXSZ”examples!”endlendl;return0;36}trSet[curTSize]=v;curTSize++;return1;}doubleDistance(structvectorv1,structvectorv2){doubled=0.0;doubletem=0.0;for(inti=0;iNATTRS;i++)tem+=(v1.attributes[i]-v2.attributes[i])*(v1.attributes[i]-v2.attributes[i]);d=sqrt(tem
7、);returnd;}intmax(structitemknn[])//returntheno.oftheitemwhichhasbiggestdistance(//shouldbereplaced){intmaxNo=0;if(K361)for(inti=1;iK;i++)if(knn[i].distanceknn[maxNo].distance)maxNo=i;returnmaxNo;}doubleClassify(structvectorv)//decidewhichclasslabe