转载自AP聚类算法(Affinity propagation Clustering Algorithm )
AP聚类算法是基于数据点间的"信息传递"的一种聚类算法。与k-均值算法或k中心点算法不同,AP算法不需要在运行算法之前确定聚类的个数。AP算法寻找的"examplars"即聚类中心点是数据集合中实际存在的点,作为每类的代表。
算法描述:
假设{x1,x2,⋯,xn}数据样本集,数据间没有内在结构的假设。令S是一个刻画点之间相似度的矩阵,使得s(i,j)>s(i,k)当且仅当xi与xj的相似性程度要大于其与xk的相似性。
AP算法进行交替两个消息传递的步骤,以更新两个矩阵:
- 吸引信息(responsibility)矩阵R:r(i,k)描述了数据对象k适合作为数据对象i的聚类中心的程度,表示的是从i到k的消息;
- 归属信息(availability)矩阵A:a(i,k)描述了数据对象i选择数据对象k作为其据聚类中心的适合程度,表示从k到i的消息。
为了避免振荡,AP算法更新信息时引入了衰减系数λ。每条信息被设置为它前次迭代更新值的λ倍加上本次信息更新值的1-λ倍。其中,衰减系数λ是介于0到1之间的实数。