AFFINITY PROPAGATION相似传播聚类

来源:互联网 发布:ly51s单片机开发板 编辑:程序博客网 时间:2024/05/20 22:40

AP算法不需要事先指定聚类数目,相反它将所有的数据点都作为潜在的聚类中心,称之为exemplar。
这个聚类算法,基础是置信传播,在邻近节点之间传播massage.
message分成两种,一类是responsibilities,代表从 exemplar 接纳数据点的能力,另外一类是availabilities,。
这里写图片描述

这里写图片描述
以S矩阵的对角线上的数值s (k, k)作为k点能否成为聚类中心的评判标准,这意味着该值越大,这个点成为聚类中心的可能性也就越大,这个值又称作参考度p ( preference) 。聚类的数量受到参考度p的影响,如果认为每个数据点都有可能作为聚类中心,那么p就应取相同的值。如果取输入的相似度的均值作为p的值,得到聚类数量是中等的。如果取最小值,得到类数较少的聚类。AP算法中传递两种类型的消息, (responsiility)和(availability) 。r(i,k)表示从点i发送到候选聚类中心k的数值消息,反映k点是否适合作为i点的聚类中心。a(i,k)则从候选聚类中心k发送到i的数值消息,反映i点是否选择k作为其聚类中心。r (i, k)与a (i, k)越强,则k点作为聚类中心的可能性就越大,并且i点隶属于以k点为聚类中心的聚类的可能性也越大。AP算法通过迭代过程不断更新每一个点的吸引度和归属度值,直到产生m个高质量的exemplar,同时将其余的数据点分配到相应的聚类中。

在这里介绍几个文中常出现的名词:
exemplar:指的是聚类中心。
similarity:数据点i和点j的相似度记为S(i,j)。是指点j作为点i的聚类中心的相似度。一般使用欧氏距离来计算,如-|| ||。文中,所有点与点的相似度值全部取为负值。因为我们可以看到,相似度值越大说明点与点的距离越近,便于后面的比较计算。
preference:数据点i的参考度称为P(i)或S(i,i)。是指点i作为聚类中心的参考度。一般取S相似度值的中值。
Responsibility:R(i,k)用来描述点k适合作为数据点i的聚类中心的程度。
Availability:A(i,k)用来描述点i选择点k作为其聚类中心的适合程度。

图3. 数据点之间传递消息示意图
下面是R与A的计算公式:
R(i,k)=S(i,k)-max{A(i,j)+S(i,j)}(j{1,2,……,N,但j≠k}) (2)
A(i,k)=min{0,R(k,k)+ (j{1,2,……,N,但j≠i且j≠k}) (3)
R(k,k)=P(k)-max{A(k,j)+S(k,j)} (j{1,2,……,N,但j≠k}) (4)
由上面的公式可以看出,当P(k)较大使得R(k, k)较大时, A(i, k) 也较大, 从而类代表k作为最终聚类中心的可能性较大; 同样, 当越多的P(i)较大时, 越多的类代表倾向于成为最终的聚类中心。 因此, 增大或减小P可以增加或减少AP输出的聚类数目。

0 0