机器学习——聚类算法K-means
如今的聚类技术,应用较广的是划分聚类和分层聚类。划分聚类:
初始构造n个簇,然后不断更改每个簇内的成员,最终直到每个簇的成员稳定为止。
分层聚类:
根据分层策略的不同,又分为凝聚聚类和分裂聚类。凝聚聚类,将所有的向量都视为单独的簇,然后根据他们的相似度进行合并。分裂聚类,将所有的向量视为一个簇,然后不断对他们进行分裂,例如二分kmeans。
Kmeans就是基于划分聚类的算法。
首先讲清楚,kmeans只能找出球形的类,而不能找出任意形状的类。
朴素kmeans的算法原理:
任选k个向量m(k)作为初始聚类中心计算每个向量和这k个向量的距离(涉及到距离度量,一般用欧氏距离)将每个向量和最近的向量m归为一个类簇重新计算每个类簇的中心向量位置,并将其替代之前的m向量重复步骤3、4,直到少于1%的向量还在发生类簇间的归类飘移
注意:
需要事先给定类簇的数量K需要实现给出初始类中心
衡量算法优劣的评估标准:sse(误差平方和)
算法的改进:
二分keams,就是分裂聚类法,据说各方面都比朴素kmeans好带canopy预处理的kmeans,能够自动确定k的取值,并且去除坏点。但引入了一个新问题,T1T2的选取。MapReduce,为并行处理大数据而设计的编程模型。
<div id="marketingBox" class="marketing-box"><div class="marketing-content">
与50位技术专家面对面
20年技术见证,附赠技术全景图
页:
[1]