机器学习算法 之 K-Means聚类
来源:互联网 发布:ddos攻击源码 编辑:程序博客网 时间:2024/05/16 07:18
K-Means是一种最经典也是使用最广泛的聚类方法。k-means 算法的工作过程说明如下:首先从n个数据对象任意选择k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。
K-Means的思想很简单,对于一个聚类任务,具体过程如下:
- 选择K个点作为初始质心
- repeat
- 计算每个点与每个聚类中心的距离(相似度),将每个点指派到最近的聚类,形成K个新的聚类;
- 通过计算新聚类中的所有对象的平均值重新得到每个聚类新的聚类中心;
- until 聚类中心不发生变化或达到最大迭代次数
这里有个误区,我以前一直理解错误,以为每一次迭代是针对一个对象,计算其最近邻聚类,然后将其分配至该聚类,计算并更新该聚类中心,然后再针对下一个对象做同样的处理(。。。傻么。。。)但实质上,这里的每一次迭代过程指的是针对所有对象,即一次迭代对所有对象都计算与K个聚类中心的距离,然后将其分配到最近的聚类,当所有对象都已经被分配到聚类中之后,根据聚类中所有对象的均值计算新的聚类中心。
时间复杂度:O(tKmn),其中,t为迭代次数,K为簇的数目,m为记录数,n为维数空间复杂度:O((m+K)n),其中,K为簇的数目,m为记录数,n为维数
参考资料:
http://baike.baidu.com/view/8358296.htm
http://blog.csdn.net/qll125596718/article/details/8243404
- 机器学习算法 之 K-Means聚类
- 【机器学习算法】之K-means聚类
- 机器学习之K-means算法:深入浅出K-Means算法
- 机器学习之K-means算法
- 机器学习之k-means算法
- 机器学习算法之K-means-spark
- 机器学习中的算法:K-means聚类
- 机器学习算法-K-means聚类
- 机器学习--K-means算法
- 机器学习--K-means算法
- 【机器学习】K-Means算法
- 机器学习:k-means算法
- 机器学习十大算法之K-means算法
- 机器学习之聚类算法/Bisecting K-Means算法
- 机器学习之聚类算法(K-Means)
- 机器学习之K-means算法(Python描述)基础
- 机器学习算法之二:5分钟上手K-Means
- 机器学习之聚类算法k-means
- Same Tree
- linux常识
- 【Android基础 001】 sqlitedatabase
- POJ 1185 炮兵阵地 状态压缩DP简单题
- Qwt源码解读之QwtSystemClock类和QwtSamplingThread类
- 机器学习算法 之 K-Means聚类
- 博士生传给硕士生的经验
- 使用python解析.frp文件
- git+openssh 的安装与简单使用
- httpclient上传文件的文件名的中文问题
- 设计模式之五:代理模式(Proxy Pattern)
- POJ1160
- 使用wmic获取运行中进程的路径
- <<Git图解>>笔记