r语言 聚类求和_AP聚类算法(Affinity propagation)

AP聚类算法是一种2007年提出的无监督学习方法,无需预设聚类数量。它通过点间信息交换寻找最优聚类中心。在聚类过程中涉及相似性、参考度、吸引度和归属度等概念,算法流程包括迭代更新直至满足停止条件。AP算法具有对初始值不敏感、结果误差较小等优点。
摘要由CSDN通过智能技术生成

b0b38dd048caefc40756b6fbdb35ff39.png

一、基本概念

AP聚类一般翻译为近邻传播聚类,2007年被提出,核心思想是:通过在不同点之间不断的传递信息,从而最终选出聚类中心,完成聚类。

其优点有:

  1. 不需要制定最终聚类族的个数

2. 已有的数据点作为最终的聚类中心,而不是新生成一个族中心。

3. 模型对数据的初始值不敏感。

4. 对初始相似度矩阵数据的对称性没有要求。

5. 相比与k-centers聚类方法,其结果的平方差误差较小。

在聚类的过程中有两种不同的信息进行交换,每一种信息代表一种竞争。

二、参数解释

1.s(i,k)
点i和点k之间的相似性,表示点k适合作为点i的聚类中心的程度,越大表示越适合。

2.s(k,k)
称为参考度(Preference),是相似度矩阵中横轴和纵轴坐标相同的点,如:s(k,k),表示的是点k作为聚类中心的可能程度。最终的类别数目受初始参考度(Preference)的影响:通常是参考度越大则最终的聚类中心的数目越多。

如果迭代开始之前所有点成为聚类中心的可能性相同,那么应该将参考度设定为一个公共值:相似度矩阵的平均值或者相似度矩阵的最小值。

3.r(i,k)
称为吸引度,从点i发送至候选聚类中心点k。反映了在考虑其他潜在聚类中心后,点k适合作为点i的聚类中心的程度。

25c9ca744e9ac57bea7a1bc3c3e1a31c.png

4.a(i,k)
称为归属度,从候选聚类中心点k发送至点i。反映了在考虑其他点对点k成为聚类中心的支持后,点i选择点k作为聚类中心的合适程度。

1c79c7117629fff2c3c89094385739d7.png

三、公式计算

算法开始时,所有归属度(availability)都被初始化为0。

1.r(i,k)计算

该式说明任意一个候选聚类中心都可以对其他候选聚类中心产生影响,允许所有的候选聚类中心参与到争夺点的归属权中。

2.a(i,k)计算

a(i,k)等于自我吸引度(

)加上从其他点获得的积极的吸引度(即
)。这里只加上积极的吸引度,因为只有积极的吸引度才会支持点k作为聚类中心。

如果

是负值,也就意味着相较于做为聚类中心,点k更适合归属于其他聚类中心。

3.a(k,k)计算

自我归属度a(k,k)等于从其他点获得的积极吸引度之和。

四、算法流程

1.在给定归属度的条件下,更新相似度矩阵中的每个点的吸引度信息
2.在给定吸引度的条件下,更新每个点的归属度信息
3.对每个点的吸引度信息和归属度信息进行求和,进行决策;判断迭代是否停止

如果达到预设的迭代次数,或者聚类中心不再变化、或者在一个子区域内对样本点的决策经过数次迭代之后不再改变,迭代就可以终止。

在任意时刻我们都可以将吸引度和归属度相加,获得聚类中心。对于点i来说,假定使得

最大的k值为k',那么存在一下结论:
  • ,那么点i就是聚类中心
  • ,那么点i属于聚类中心k'

在算法实现的过程中,需要使用阻尼系数(damping factor)来衰减吸引度信息和归属都信息,以免在更新的过程中出现数值振荡。

6dbafa318405614d47d3b85abf2300a3.png

五、参考文献

1.Affinity Propagation: AP聚类算法

2.《Clustering by Passing Messages Between Data Points》

3.AP算法中两个参数的交替过程怎么样通俗的理解?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值