Universityof Toronto
发表:Science2007 VOL 315
由于学习原因,看到本文,翻译出来,以备后用。
水平有限,贻笑大方。
只翻译了原理部分,应用实例没有翻译。
忠实原文,表达含义,不拘泥于形式。
我们聚类的一般方法:在一组数据中寻找K个中心,使数据点与它们最近中心点之间的平方差的和最小。
较常用的K-Centers方法必须人工指定K值。算法在数据集中随机选择K个点作为初始中心点,反复提纯以使平方差之和减小。K-Centers对于初始化时的中心点十分敏感,只有在聚类数较小且幸运的至少有一个初始中心点在最优解的中心点附近。因此,使用K-Centers时要用不同的初始数据进行多次试验,在其中取最好的结果。
在新方法中,将数据点看作网络中的一个节点,沿网络的边递归传输实数信息直到取得一个最优的中心点集和相应的聚类边。信息基于简单的公式进行更新以寻找一个最小的选择能量函数。每个信息实数的大小实时反映当前一点作为另一点中心点的可能性(吸引力)。因此新方法称为:吸引力传播。示例如下(原文截图):
算法输入是点与点之间相似性s(i,k)的集合。相似性s(i,k)反映点s作为点i中心点的适应程度(可能性)。当我们将目标设置为最小化平方差之和时,相似度s(i,k)定义为点i、k之间的负的欧拉距离s(i,k)=-||xi-xk||2
当使用中心点条件概率模型时, s(i,k)可以设为k作为中心点关于点i的log似然函数,当合适时, s(i,k)也可手动设置。
该方法不再需要设置聚类数量,而需要为每个点设置个实数值s(k,k),s(k,k)值较大的点更有可能选为中心点。S(k,k)称为首选项(preference )。中心点在信息传递的过程中浮现,其数量受preference影响。
若已知所有的点被选为中心点的概率相同,则可将所有点的preference设置为相同的值(不同的值可能会导致不同的聚类数量),该值可以为所有相似性的中值或者最小值。
信息传播
算法中有两种信息:响应度和可用性,每种信息都会引起一种竞争。在每个阶段,综合两种信息决定哪些点作为中心点,和所有的点归属于哪个中心点。
响应度(responsibility ) r(i,k)从i向k发送,反映k作为i中心点的累积迹象(cumulated evidence )(可能性)。
可用性( availability ) a(i,k)自候选中心点k向点i发送,反映i将k作为中心点的合适性。
开始时(第一次迭代),a(i,k)=0
r(i,k)以下述规则更新
r(k,k)反映一个点是否适于作中心点,支持点多,则其值为正。
第一次r(i,k)更新时,完全是数据驱动(data-driven),不考虑每个潜在中心点有多少其他支持者(点)(即a(i,k)都为0)。
根据更新规则,若i与k的近似度比i与其他点的近似度都高,则r(i,k)为正数(k可能为i的中心点或者说i支持k成为中心点)。
a(i,k)以下述规则更新
a(i,k)的更新中连加只加正的r(i,k),因为只有正的r才会反映点k适于作中心点的程度。
在以后的迭代中,若k点事实上归属于某中心点时(即自身非中心点),其可用性a(i,k)将下降到0以下(当无支持点或者支持点较少时, r(k,k)为负,更新公式中后面的连加较小,小于r(k,k)绝对值,使a变为负数)。其返回的负数可用性a(i,k)将会削弱s(i,k)的影响力,使k不再作为潜在中心点。
当r(k,k)为负(当前判断k不适于作中心点)时,若其收到来自邻居的正数响应度r(i,k),则其可用性a(i,k)会变大。
为了防止过大的正数响应度r的影响,将可用度的和现在在阈值0以下(即公式中的min计算)。
自可用性a(k,k)按以下规则更新
基于来自邻居的正的响应度来评级k是否适于作中心点。
信息只在有连接的点之间传播(即已知相似度的点之间,在具体应用我们可能并不需要使用所有点与其他点的相似信息),利用响应度和可用性综合评价哪个点适于作中心点。对于点i,使a(i,k)+r(i,k)最大的k即i的中心点,若k=i,则i本身即中心点。
一个迭代过称分为三个阶段:1、根据可用性a更新响应度r;2、根据响应度r更新可用性a;3、根据a和r综合判定当前阶段的中心点。
设置迭代次数或者设置信息变化的阈值使迭代一定次数后终止。为防止在迭代中出现数据震荡,在更新信息时需加入一个阻尼系数p(p在区间[0,1]内)。P乘以上次迭代的值加上(1-p)乘以本次迭代变化的值作为数值更新信息。