您好,欢迎来到年旅网。
搜索
您的当前位置:首页机器学习非监督学习- kmeans算法

机器学习非监督学习- kmeans算法

来源:年旅网

前面写了分类和回归的一些算法,这些算法都属于监督学习,本篇的要讲的kmeans算法就属于非监督学习(unsupervised learning)中聚类问题的一个重要算法。

监督学习与非监督学习有什么区别呢?监督学习训练所用的数据样例都是有类别标记(class label)的,而非监督学习所用的数据则不需要类别标记。

先举个例子

下面概括的讲一下kmeans算法是怎么工作的。
算法接受一个参数K,使得实现输入的n个数据对象被划分为k个聚类,并且有同一聚类中的对象相似度较高,不同聚类中的对象相似度较小。
算法的思想是以空间中的k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法逐次更新聚类中心,直到得到最好的聚类结果。
也就是,先在空间的对象中随机选择K个点作为K个类的初始中心,根据与这K个中心距离的远近将所有的样例点归为这K个类。然后利用均值等方法更新这K个中心,接着再次根据远近归类所有的点。通过这样不断迭代的方式最终就能将所有的点较好的分为K个聚类。这里中心点的更新主要是利用均值。下面通过例子详细的说明。
当迭代达到一定的次数,或者中心点的变化小于给定的阈值就可以停止迭代了。

总的流程图如下。

下面举个具体的例子来详细说明。

现在利用均值的方式更新中心点。
c1类只有一个点A所以不变,c2更变如下:

再次同样的方法计算距离,则可将A,B归为c1一类, C,D归为c2一类。

更新中心点过程略过如下图:

至此Kmeans算法的计算就完成了。
Kmeans算法的优点是速度快,简单,缺点是最终的结果跟中心点的选择相关,容易陷入局部最优,而且需要输入一个K值,有些时候我们可能并不知道要分成多少个类比较好。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务