ap聚类算法 matlab代码,AP近邻传播聚类算法原理及Matlab实现

AP近邻传播聚类算法原理及Matlab实现

Affinity Propagation (AP)聚类是2007年在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)。是指点j作为点i的聚类中心的相似度。

preference:数据点i的参考度称为P(i)或S(i,i)。是指点i作为聚类中心的参考度。一般取S相似度值

的中值。

Responsibility:R(i,k)用来描述点k适合作为数据点i的聚类中心的程度。

Availability:A(i,k)用来描述点i选择点k作为其聚类中心的适合程度。

Damping factor:阻尼系数,主要是起收敛作用的。

机器学习中一个很重要的方面就是聚类算法。聚类算法说白了就是给你一大堆点的坐标(维度可以是很高的),然后给你一个距离度量的准则(比如欧拉距离,马氏距离什么的),然后你要自动把相近的点放在一个集合里面,归为一类。

继续科普:一个比较传统的聚类算法就是k-Means聚类,算法很简单,哦,说起这件事,我刚刚在整理东西时就发现了一篇讲到k-Means的论文,里面又是一大堆看不懂的符号,我说你们真的有必要那么装逼么??

比如说下面这幅图,有这么多个点,我们强大的大脑可以瞬间分辨出这里有三个团簇,一般术语叫cluster。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值