K均值分類器-matlab_第1頁
K均值分類器-matlab_第2頁
K均值分類器-matlab_第3頁
K均值分類器-matlab_第4頁
K均值分類器-matlab_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于K均值算法的隨機數(shù)矩陣動態(tài)聚類姓名:曹剛 學(xué)號: 專業(yè):信息與通信工程【摘要】聚類算法是試圖識別數(shù)據(jù)集合聚類的特殊性質(zhì)的學(xué)習(xí)過程。對不同均值的隨機數(shù)進(jìn)行基于K均值算法的動態(tài)聚類是基于準(zhǔn)則函數(shù)最優(yōu)的聚類算法,本文通過描述K均值算法的原理并通過編程仿真,對隨機產(chǎn)生的矩陣以每一行作為坐標(biāo)進(jìn)行動態(tài)聚類。關(guān)鍵詞:聚類算法,K均值算法,動態(tài)聚類;【Abstract】clustering algorithm is the learning process attempts to identify the particular set of data clustering pro

2、perties. Mean different random number based on dynamic clustering K-means algorithm is based on the criterion function optimized clustering algorithm, the paper described the principle of K-means algorithm and simulation by programming, The random generation of the matrix to each line as the coordin

3、ates of the dynamic clustering.Keywords: clustering algorithm, K-means algorithm, dynamic clustering;第1章 緒論1.1動態(tài)聚類法動態(tài)聚類法首先選擇若干個樣本作為聚類的中心,再按照事先確定的聚類準(zhǔn)則進(jìn)行聚類。在聚類的過程中,根據(jù)聚類中心進(jìn)行反復(fù)修改,直到分類合理為止。其基本思想如圖1所示?!皠討B(tài)”即指聚類過程中,聚類中心不斷被修改的變化狀態(tài)。動態(tài)聚類主要有兩種常用算法:K-均值算法和迭代自組織的數(shù)據(jù)分析算法,本文主要介紹的是K-均值算法。 圖1 動態(tài)聚類法的基本思路1.2K均值算法K均值算法(K

4、-mean Algorithm,也稱為C均值算法)是基于準(zhǔn)則函數(shù)最優(yōu)的聚類算法,它能夠使各類樣本到聚類中心的距離平方和取得極小值。已知樣本集合X=x1,x2,···,xn,xj是d維特征向量,j=1,2,···,n;已知類別數(shù)K和初始聚類中心Ci;相似性測度可以采用歐氏距離;聚類準(zhǔn)則采用誤差平方和準(zhǔn)則,其準(zhǔn)則函數(shù)為2,Ci是第i類的聚類中心K均值算法就是通過不斷調(diào)整聚類中心,是的誤差平方和準(zhǔn)則函數(shù)J取得極小值。第2章 K均值算法2.1 K均值算法的描述(1) 初始化:給定類別數(shù)K,初始化聚類中心Ci(l),(2) 第l次迭代的修正:逐

5、個將樣本X=x1,x2,···,xn按照最小距離原則分配給K個聚類中心的某一個。若,i,p=1,···,K,則,x是聚類中心為Cp(l)的樣本集。(3) 計算新的聚類中心: ,i=1,2,···,K其中Ni為第i個聚類所包含的樣本個數(shù)。 用均值向量作為新的聚類中心,可使準(zhǔn)則函數(shù)2,i=1,2,···,K最小。在這一步要分別計算K個聚類的樣本的均值向量,所謂的K均值算法就有此特點得名。 (4)若,令l=l+1,轉(zhuǎn)(2);將樣本逐個重新分類,重復(fù)迭代計算。若,算法收斂,計算完畢。

6、K均值算法的計算復(fù)雜度是O(ndKl),其中n是樣本數(shù)量,d是樣本維數(shù),K是類別數(shù),l是迭代次數(shù)。K均值算法是以確定類別數(shù)和選定的初始聚類中心為前提,使樣本到其所在類中心的距離之和最小。分類結(jié)構(gòu)受到類別數(shù)和初始聚類中心的影響,得到的聚類結(jié)果是局部最優(yōu)的。但是該方法簡單,聚類結(jié)構(gòu)可以令人滿意,因而應(yīng)用比較普遍。當(dāng)類別數(shù)K未知時,在使用K均值算法是假設(shè)類別數(shù)逐步增加??刹捎迷囂椒?,令K=2,3,4,···,對應(yīng)算出準(zhǔn)則函數(shù)J,做出J與K的關(guān)系曲線,J隨K的增加而逐步減少。通常情況下,當(dāng)J下降變慢時,對應(yīng)的K較為合適。如果當(dāng)沒有明顯轉(zhuǎn)折點時,可利用對該問題的先驗知識分析

7、選取合理的類別數(shù)。初始聚類中心的選擇,有以下的幾種方法:(1) 憑借先驗知識,將樣本集大致分類,取代表點。(2) 將全部樣本隨機地分為K類,計算每類的中心,作為初始聚類中心。(3) 以每個樣本為中心,某個正數(shù)r為半徑,在球內(nèi)落入的點的個數(shù)作為密度,取最大密度點為C1(0),然后再找出與C1(0)的距離大于r的次大密度作為新的聚類中心,依次選定。(4) 選擇給定樣本集的前K個樣本作為聚類中心。(5) 從K-1類問題的出K-1個聚類中心,再找出一個最遠(yuǎn)點。第3章 實驗過程及結(jié)果1、根據(jù)提示輸入待聚類矩陣的行列數(shù)、聚類數(shù)K和聚類中心所在的行數(shù)。每一行作為一個模式樣本,模式樣本之間的距離定義為每一行相

8、應(yīng)位的差值平方和?,F(xiàn)隨機生成200行2列的矩陣(可以設(shè)定任意階數(shù)的矩陣,此處是為了方便截圖),相當(dāng)于200個模式樣本,每個樣本相當(dāng)于二維空間的一個坐標(biāo),在坐標(biāo)中表示如下圖所示,并設(shè)定聚類數(shù)目K為5,同時選擇聚類中心。2、經(jīng)過7次迭代運算后得到最終的聚類中心以及聚類結(jié)果,不同的顏色代表不同的類。第4章 實驗結(jié)論從實驗的過程和結(jié)果中可以得出以下結(jié)論: 1、本實驗程序中的輸入樣本是由計算機隨機生成的矩陣,實際上這個隨機是個偽隨機,以至于多次試驗結(jié)果都是相同的,程序也可以手動輸入樣本矩陣,只是較為麻煩。2、在K-均值算法中的 K 需要事先給定,而這個 K 值的選

9、定通常是比較難以預(yù)先準(zhǔn)確地估計。很多時候,事先并不知道給定的數(shù)據(jù)集應(yīng)該分成多少個類別才最合適。3、K-均值算法需要根據(jù)初始聚類中心來確定一個初始劃分,然后對初始劃分進(jìn)行優(yōu)化。這個初始聚類中心的選擇對聚類結(jié)果有較大的影響,一旦初始值選擇的不好,可能無法得到有效的聚類結(jié)果4、從 K-均值算法框架可以看出,該算法需要不斷地進(jìn)行樣本分類調(diào)整,不斷地計算調(diào)整后的新的聚類中心,因此當(dāng)數(shù)據(jù)量非常大時,算法的時間成本是非常大的。附錄:%data=input('請輸入樣本數(shù)據(jù)矩陣'); m=input('請輸入樣本矩陣行數(shù): ');n=input('請輸入樣本矩

10、陣列數(shù): ');data=round(8*rand(m,n);disp(data);figure(1);plot(data(:,1),data(:,2),'*r');axis(0 100 0 100);%m=size(data,1); %矩陣的第一維度%disp('樣本矩陣行數(shù)為');%disp(m);%n=size(data,2); %矩陣的第二維度%disp('樣本矩陣列數(shù)為');%disp(n);counter=0;k=input('請輸入聚類數(shù)目:');while k>mdisp('您輸入的聚類數(shù)目過

11、大,請輸入正確的K值:');k=input('請輸入聚類數(shù)目');endif k=1disp('聚類數(shù)目不能為1,請輸入正確的K值:');k=input('請輸入聚類數(shù)目');end%產(chǎn)生K個零矩陣,M用來存放聚類中心M=cell(1,m);for i=1:kM1,i=zeros(1,n);endMold=cell(1,m);for i=1:kMold1,i=zeros(1,n);end%隨機選取K個樣本作為初始聚類中心%第一次聚類,使用初始聚類中心p=input('請輸入初始聚類中心位置');for i=1:kM1,i=

12、data(p(i),:);endwhile truecounter=counter+1;fprintf('# 第 %d 次迭代 #',counter);disp(' ');count=zeros(1,k);%初始化聚類CC=cell(1,k);for i=1:kC1,i=zeros(m,n);end%聚類for i=1:mgap=zeros(1,k);for d=1:kfor j=1:ngap(d)=gap(d)+(M1,d(j)-data(i,j)2;endendy,l=min(sqrt(gap);count(l)=count(l)+1;C1,l(count(

13、l),:)=data(i,:);endMold=M;disp('聚類中心為:');for i=1:kdisp(M1,i);enddisp('聚類結(jié)果為:');for i=1:kfprintf('第 %d 類聚類結(jié)果',i);disp(' ');disp(C1,i);endfigure(2);for i=1:k if i<=1 plot(C1,i(:,1),C1,i(:,2),'*r'); axis(0 100 0 100); elseif 1<i&&i<=2 plot(C1,i(:

14、,1),C1,i(:,2),'*g'); axis(0 100 0 100); elseif 2<i&&i<=3 plot(C1,i(:,1),C1,i(:,2),'*b'); axis(0 100 0 100); elseif 3<i&&i<=4 plot(C1,i(:,1),C1,i(:,2),'*y'); axis(0 100 0 100); elseif 4<i&&i<=5 plot(C1,i(:,1),C1,i(:,2),'*m'); a

15、xis(0 100 0 100); elseif 5<i&&i<=6 plot(C1,i(:,1),C1,i(:,2),'*c'); axis(0 100 0 100); elseif 6<i&&i<=7 plot(C1,i(:,1),C1,i(:,2),'*k'); axis(0 100 0 100); endhold onend sumvar=0;for i=1:kE=0;disp('單個誤差平方和為:');for j=1:count(i)for h=1:nE=E+(M1,i(h)-C1,i(j,h)2;endenddisp(E);sumvar=sumvar+E;enddisp('總體誤差平

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論