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

你可能感兴趣的:(matlab,高斯混合模型,kmeans,matlab,gmm,kmeans)