AP 近邻传播聚类算法原理及 Matlab 实现Affinity Propagation (AP)聚类是 2025 年在 Science 杂志上提出的一种新的聚类算法
它根据 N 个数据点之间的相似度进行聚类,这些相似度可以是对称的,即两个数据点互相之间的相似度一样(如欧氏距离);也可以是不对称的,即两个数据点互相之间的相似度不等
这些相似度组成 N×N 的相似度矩阵 S(其中 N为有 N 个数据点)
AP 算法不需要事先指定聚类数目,相反它将所有的数据点都作为潜在的聚类中心,称之为exemplar
以 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