北京网站设计公司jq成都柚米科技15,郑州做网站狼牙,做网站赚钱一般做什么,广州app开发费用【十大经典数据挖掘算法】系列 C4.5K-MeansSVMAprioriEMPageRankAdaBoostkNNNave BayesCART1. 引言 k-means与kNN虽然都是以k打头#xff0c;但却是两类算法——kNN为监督学习中的分类算法#xff0c;而k-means则是非监督学习中的聚类算法#xff1b;二者相同之处#xff1…【十大经典数据挖掘算法】系列 C4.5K-MeansSVMAprioriEMPageRankAdaBoostkNNNaïve BayesCART1. 引言 k-means与kNN虽然都是以k打头但却是两类算法——kNN为监督学习中的分类算法而k-means则是非监督学习中的聚类算法二者相同之处均利用近邻信息来标注类别。 聚类是数据挖掘中一种非常重要的学习流派指将未标注的样本数据中相似的分为同一类正所谓“物以类聚人以群分”嘛。k-means是聚类算法中最为简单、高效的核心思想由用户指定k个初始质心initial centroids)以作为聚类的类别cluster重复迭代直至算法收敛。 2. 基本算法 在k-means算法中用质心来表示cluster且容易证明k-means算法收敛等同于所有质心不再发生变化。基本的k-means算法流程如下 选取k个初始质心作为初始cluster
repeat对每个样本点计算得到距其最近的质心将其类别标为该质心所对应的cluster重新计算k个cluser对应的质心
until 质心不再发生变化 对于欧式空间的样本数据以平方误差和sum of the squared error, SSE)作为聚类的目标函数同时也可以衡量不同聚类结果好坏的指标 \[ SSE\sum\limits_{i1}^{k} \sum_{x\in C_{i}} dist(x, c_i) \] 表示样本点\(x\)到cluster \(C_i\) 的质心 \(c_i\) 距离平方和最优的聚类结果应使得SSE达到最小值。 下图中给出了一个通过4次迭代聚类3个cluster的例子 k-means存在缺点 k-means是局部最优的容易受到初始质心的影响比如在下图中因选择初始质心不恰当而造成次优的聚类结果SSE较大同时k值的选取也会直接影响聚类结果最优聚类的k值应与样本数据本身的结构信息相吻合而这种结构信息是很难去掌握因此选取最优k值是非常困难的。3. 优化 为了解决上述存在缺点在基本k-means的基础上发展而来二分 (bisecting) k-means其主要思想一个大cluster进行分裂后可以得到两个小的cluster为了得到k个cluster可进行k-1次分裂。算法流程如下 初始只有一个cluster包含所有样本点
repeat:从待分裂的clusters中选择一个进行二元分裂所选的cluster应使得SSE最小
until 有k个cluster 上述算法流程中为从待分裂的clusters中求得局部最优解可以采取暴力方法依次对每个待分裂的cluster进行二元分裂bisect以求得最优分裂。二分k-means算法聚类过程如图 从图中我们观察到二分k-means算法对初始质心的选择不太敏感因为初始时只选择一个质心。 4. 参考资料 [1] Pang-Ning Tan, Michael Steinbach, Vipin Kumar, Introduction to Data Mining. [2] Xindong Wu, Vipin Kumar, The Top Ten Algorithms in Data Mining.