EM角度理解kmeans

3,307次阅读
没有评论

共计 575 个字符,预计需要花费 2 分钟才能阅读完成。

EM角度理解kmeans

最近需要做一个国家区域的聚类分析,使用的是kmeans聚类方法,构造接近900维特征来进行聚类。使用sklean基本上就可以使用较少的代码来实现。中间使用过TSNE观察降维之后的特征在二维平面上的分布情况。

kmeans应该算是聚类算法中最简单的聚类算法了,在spark中也有其对应的实现。

至于本篇文章的由来那就是归功于LDA的研究,LDA是贝叶斯化的PLSA,主题分布和词分布都是不确定的。这其中参数的确定需要使用到EM,回首之前写过一篇最大似然估计和EM算法的一篇文章,文章的附录部分说到了kmeans其中包含这EM的思想,哎呀,所以产生了这篇文章,想了想kmeans的实现过程。、

说kmeans蕴含着em的思想主要是一开始我们不知道样本的分类,也不知道样本的中心点,所以需要给出初始的随机数据,然后在知道其中一个的情况下去得到另外一个变量的结果,在反过来去优化前一个变量。这大概就是EM要循环迭代的原因。

EM就是两步  expect 和max过程

对应到kmeans中,expect的过程就是在随机初始化N个初始中心点后,依次计算训练集中的每一个点属于哪一类,给每一个样本打上初始的标签。

max这一步对应着  kmeans在这一步要计算所有的点到其对应的中心点的距离平方和,如果没有达到收敛的阈值,那么我们就需要回到expect这一步如此反复直至收敛。

 

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2018-06-28发表,共计575字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码