机器学习----k-means聚类
1.聚类
使用某种策略将一些对象分成若干个集合,使同一个集合内的对象比较相似,而属于不同集合的对象之间存在较大的差异。
2.聚类与分类的区别
1)数据分类,是根据新对象的属性将其分配到一个正确的类别中。
2)数据聚类,判断数据是否属于各个独立的分组,使得同一个组的对象相似,不同组间对象差异较大。
3.聚类算法的指标
1)均一性p(准确率):一个簇中包含一个类别的样本,均满足均一性。
(每个簇中正确分类的样本数占该簇的样本总数的比例和)
2)完整性r:同类别的样本被归到相同的簇中。
3)V-measure:均一性+完整性的加权平均
V=[(1+BB)pr]/BB*p+r
4)调整兰德系数(RI)
RI值越大,聚类效果越吻合
4.什么是层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。
(不需要提前确定K值,处理不规则的散点图。)
5.层次聚类的两种策略
1)自下而上法:凝聚型层次聚类,就是一开始每个个体(object)都是一个类,然后根据linkage寻找同类,最后形成一个“类”。
2)自上而下法:分裂型层次聚类,就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。
6.K-MEANS聚类( 迭代 求解的聚类分析算法)
算法思想:
从初始样例集D中随机选取K个样例作为K个簇中心
计算样例与每个簇中心的欧式距离,然后将其放入最近的簇中心所对应的簇中
重新计算每个簇中心
如果本次计算的簇中心与上一次的相同,则结束聚类过程。
备注1:
(K值确定,随着迭代次数趋向无穷, 个中心点必然会收敛,即对于每种确定的初值选取方式,聚类结果是唯一确定的。经过有限次迭代后,目标函数值与中心点位置都会恒为常量,即该算法迭代过程不是一直无限逼近极小值点的过程,而是经过有限步逼近后,必然会严格等于极小值点,此后再进行迭代,划分方法、中心点、目标函数等都不会再改变。由于对于给定的初值,每一步的过程是完全确定的,不含随机因素。所以对于给定初值,聚类结果是唯一确定的。)
备注2:
(虽然对于给定的初值,算法可以保证收敛,但是对于不同的初值选取情况,算法收敛到的结果可能是不一样的。显然,对于不同的类别数 ,聚类结果必然不同。所以初始中心位置(或初始划分方式)与类别数 是该算法需要调节的超参数。)
7.K-Means聚类优点
(1)简单:k-means并从复杂的数据集中识别未知的数据组
(2)适用于大数据集
(3)k-means 产生更紧密的集群,尤其是球状集群。
8.K-Means聚类缺点
(1)取值顺序:构建算法时数据的排序方式会影响数据集的最终结果。
(2)K-means算法只能在数值数据中进行
(3)随机选择聚类模式会产生不同的聚类结果,从而导致不一致。