1. 常用的聚类方法的分类
划分方法:K-MEANS(K均值)、K-MEDOIDS(K中心点)、CLARANS算法(基于选择的算法)
层次分析方法:BIRCH算法(平衡迭代规约和聚类)、CURE算法(代表点聚类)、CHAMELEON算法(动态模型)
基于密度的算法:DBSCAN算法(基于高密度连续区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别)
基于网格的方法:STING算法(统计信息网络)、CLIOUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换)
基于模型的方法:统计学方法、神经网络方法
2. 常用的聚类分析算法
K-Means聚类也叫快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。原理简单,便于处理大量数据。
K-Medoids聚类算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心。
3. K-Means聚类算法
1)算法过程
①从N个样本数据中随机选取K个对象作为初始的聚类中心;
②分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中;
③所有对象分配完成后,重新计算K个聚类的中心;
④与前一次计算的K个聚类中心比较,如果聚类中心发生变化,转第②步,否则转第⑤步。
⑤当质心不发生变化时停止并输出聚类结果。
2)数据类型与相似性的度量
连续属性:首先对各属性值进行零-均值规范(zscore),在进行距离计算。距离计算常用的有:
· 欧几里得距离
· 曼哈顿距离
· 闵可夫斯基距离
文档数据:先将文档数据整理成文档-词矩阵格式,再用余弦相似性度量。
3)目标函数
连续属性的SSE
文档数据的SSE
3. 聚类分析算法评价
组内相似性越大,组件差别越大,聚类效果越好。常用的评价方法有:
· purity评价法
· RI评价法
· F值评价法
4. MATLAB主要聚类分析算法函数
层次聚类树:Z = linkage(x,method,metric)
层次聚类或者高斯混合分布聚类模型:T = cluster(Z,’maxclust’,n) 或者 T = cluster(Z,’cutoff’,c)
其中,Z是使用linkage函数构建的层次聚类数,是一个(m-1)×3维矩阵,其中m是观察的样本数;当参数为’maxclust’时,n为聚类的类别;当参数为’cutoff’时,c表示剪枝的阈值。
k均值聚类模型:[IDX,C,sumd,D] = kmeans(x,k,param1,val1,param2,val2,...)
其中,IDX返回每个样本数据的类别;C返回k个类别的中心向量;sumd返回每个类别样本到中心向量的距离和;D返回每个样本到中心的距离。
模糊聚类模型:[center,U,obj_fcn] = fcm(data,cluster_n)
其中,U返回最终模糊分区矩阵;obj_fcn为循环过程中目标函数的值。
自组织神经网络聚类模型:net = selforgmap(dimensions,coverSteps,initNeighbor,topologyFcn,distanceFcn)