《机器学习》西瓜书第九章聚类(二)原型聚类、密度聚类、层次聚类

下面几个小节分别介绍了几种聚类算法

9.4 原型聚类

原型聚类亦称“基于原型的聚类”,此类算法假设聚类结构能够通过一组原型刻画,在现实聚类任务中极为常见。通常情况下,算法先对原型进行初始化,然后对原型进行迭代更新求解。

9.4.1 k均值算法

在这个算法中,我们把所有项分为k个簇,使得相同簇中所有项彼此尽量相似,而不同簇之间彼此尽量不相似。

给定样本集D={x1,x2,...,xm},k均值算法针对聚类所得簇划分C={C1,C2,...,Ck}最小化平方误差

其中是簇Ci的均值向量,直观来看,在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E值越小则簇内样本相似度越高。

k均值算法采用了贪心策略,通过迭代优化来近似求解式。

算法步骤:1.在数据域随机生成k个初试“均值”,对均值向量尽心初始化;2.通过关联每个观测值到最近的均值,创建k个簇;3.计算新的均值向量,每个簇的形心变为新的均值;4.重复步骤2 3直至收敛,即当前均值向量均未更新。

 9.4.2 学习向量量化

“学习向量量化”(简称LVQ)也是试图找到一组原型向量来刻画聚类结构,但与一般聚类算法不同的是,LVQ假设数据样本带有类别标记,学习过程利用样本这些监督信息来辅助聚类。

给定样本集,每个样本xj是由n个属性描述的特征向量,yi是样本xj的类别标记,LVQ的目标是学得一组n维原型向量{p1,p2,...,pq},,每个原型向量代表一个聚类簇。

 算法步骤:1.对原型向量进行初始化,对第q个簇可以从类别标记为tq的样本中随机选取一个作为原型向量。2.对原型向量进行迭代优化,在每一轮迭代中,算法随机选取一个有标记的训练样本,找出与其距离最近的原型向量,并根据两者类别是否一致来对原型向量进行相应的更新:若最近的原型向量pi*与xj的类别标记相同,则令pi*向xj的方向靠拢,此时新原型向量为

p`与xj之间的距离为,令学习率属于(0,1)在更新p`之后将更接近xj;类似的,若pi*与xj的类别标记不相同,则更新后的原型向量与xj之间的距离将增大为从而更远离xj。3.若算法的停止条件已满足(例如已达到最大迭代轮数,或原型向量更新很小甚至不再更新),则当前原型向量作为最终结果返回。

9.4.3 高斯混合聚类

与k均值、LVQ用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型。

猜你喜欢

转载自www.cnblogs.com/ttzz/p/11653380.html