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的矩陣;