论文笔记之聚类算法Clustering by propagating probabilities between data points

来源:互联网 发布:校园网络规划设计方案 编辑:程序博客网 时间:2024/06/03 15:10

聚类在数据挖掘中占有重要地位,聚类即是将一系列数据点划分成一个个簇,将拥有同样特性的数据点判为同一个簇内,以此来做进一步的分析。目前最基础的、运用最广泛的聚类算法当数K均值算法,初始(随机)选定K个中心点,计算每个点到这K个中心点的距离,将其划分进距离最近的中心点的簇内。根据簇内点的平均值来更新簇的中心点,再根据新的中心点划分簇。不断迭代,直到中心点不再变化。K均值算法的优点是运算方法十分简单明了,计算简单,但它同样存在缺点,K均值算法对初始点十分敏感,初始点的选择会影响到聚类的结果和收敛速度。另外,K均值算法只能聚类出球型簇。

聚类在数据挖掘中占有重要地位,聚类即是将一系列数据点划分成一个个簇,将拥有同样特性的数据点判为同一个簇内,以此来做进一步的分析。目前最基础的、运用最广泛的聚类算法当数K均值算法,初始(随机)选定K个中心点,计算每个点到这K个中心点的距离,将其划分进距离最近的中心点的簇内。根据簇内点的平均值来更新簇的中心点,再根据新的中心点划分簇。不断迭代,直到中心点不再变化。K均值算法的优点是运算方法十分简单明了,计算简单,但它同样存在缺点,K均值算法对初始点十分敏感,初始点的选择会影响到聚类的结果和收敛速度。另外,K均值算法只能聚类出球型簇。
对K均值算法的优化有很多方式,AP(Affinity Propagation 近邻传播)算法就是其中一种,它可以避免初始值敏感的问题,但计算规则十分复杂。而这篇论文中提出了一个新的聚类算法,作者称其为PP算法,“probability propagation”,概率传播算法。这个新算法与AP算法相比,计算规则更简洁,并且可以识别出非球形的簇。
这种算法其实是在不断计算点i选择点j作为中心点的概率,当概率矩阵w稳定后,概率最大的j即为i的中心点。所以PP算法的核心就是计算初始的w矩阵和确定迭代公式。

初始概率矩阵w0:

– 在初始化w之前,我们需要计算每个点的局部密度V(y) :
Alt text其中D(x,y)是点x到点y的距离,K是一个核函数,参数delta是用户预先设置的,N(y)是与点y距离不大于delta的所有点的集合。初始的矩阵w0正比于局部密度:

Alt text
通过预定参数s来限定中心点的个数,从而控制簇的形状:

Alt text
这是修改后的初始概率矩阵

迭代公式:

初始的w矩阵蕴含着两点直连的信息,为了能划分出任意形状的簇,我们还应该考虑两点之间距离很远但中间存在许多点将其连接的情况,因此我们需要通过第三个点来重新计算两点之间的概率:

Alt text

上图转化为公式:

Alt text

对矩阵来说即为:

Alt text

由此,我们得到了迭代公式。

不断迭代,直到矩阵w不再变化即收敛,对点i而言,最大的W(i,j)中的点j就是它的中心点;如果W(i,i)最大,那么点i自身即为中心点。

0 0
原创粉丝点击