k-means--常用於爲高斯混合模型設置初始值

k-means作用:用於劃分聚類;

k-means算法:

 1、選取k個聚類質心點:mu1,mu2,.....,muk;

 2、重複下面過程直到收斂:

    對每個樣例i,計算其應屬於的類j:C(i)=argmin( ||x(i)-mu(j)||^2);

    對每一個類j,重新計算該類的質心:mu(j)


matlab自帶kmeans.m函數

IDX=kmeans(X,k);%將n行p列矩陣X分成k個聚類,n表示點數,p表示由p個變量構成一個點,即維數;

                                      %X的行對應矩陣點,列對應變量值;

                                     %IDX:n行1列的向量,包含各個點對應的聚類係數,即該點屬於哪個聚類;


[IDX,C]=kmeans(X,k); %C爲k行p列的矩陣,存儲k個聚類質心位置;

                                   %質心相當於高斯混合模型中的均值;

[IDX,C,sumd,D]=kmeans(X,k);%sumd:每個類內各點到中心點的距離之和,可用於計算GMM的方差;

                                               %D:每個點到各類中心的距離,n*k的矩陣;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章