PS:最近好懒,一丢丢都不想敲公式,所以本章就以核心思想及算法流程的思想来介绍了。
1 聚类任务
聚类是一种无监督的学习方式,试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster),每个簇可能对应于一些潜在的类别。
聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。
2 原型聚类
原型聚类假设聚类结构能通过一组原型刻画,在现实聚类任务中极为常用。通常情形下,算法先对原型进行初始化,然后对原型进行迭代更新求解。
2.1 k均值算法
给定样本集
,k均值算法所针对聚类所得簇划分
最小化平方误差
其中
是簇
的均值向量,(1)式刻画了簇内样本围绕均值向量的紧密程度,E值越小则簇内样本相似度越高。
(1)式的求解是一个NP难的问题,因此采用贪心策略,通过迭代来近似求解(1)
2.2 学习向量量化
学习向量量化(Learning Vector Quantization, LVQ)试图找到一组原型向量来刻画聚类结构,但与一般聚类算法不同的是,LVQ假设数据样本带有类别标记,学习过程中利用样本的这些监督信息来辅助聚类。
2.3 高斯混合聚类
高斯混合聚类采用概率模型来表达聚类原理。
对于服从高斯分布的向量
,其概率模型密度函数为:
其中u是n为均值向量,
为nXn的协方差矩阵。
定义高斯混合模型分布
若训练集
,令随机变量
表示生产样本
的高斯混合成分,其取值未知,则
图中的式(9.30)即(4),(9.31)即
3 密度聚类
该类算法假设聚类结构能通过样本分布的紧密程度确定。通常情形下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。
DBSCAN是一种著名的密度聚类算法,其核心思想为:用一个点的邻域内的邻居点数衡量该点所在的空间密度。其详细原理可参考http://blog.csdn.net/itplus/article/details/10088625
4 层次聚类
层次聚类(hierarchical clustering)试图在不同层次对数据记性划分,从而形成树形的聚类结构,数据集的划分可采用“自底而上”的聚类策略,也可采用“自顶向下”的分拆策略。
AGNES是一种采用自底向上聚合策略的层次聚类算法,其核心思想是先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。
其中d(.,.)为距离。