FORA: Simple and Effective Approximate Single-Source Personalized PageRank
这个大概是解决一个PageRank算法的一个问题,PageRank直接去迭代计算的话时间复杂度很难接受,因此产生了一些方法去模拟PageRank的结果
文章解决的问题是:计算前K大的PageRank值对应的个体(也许是这样翻译,反正是这个意思),比如网页跳转前K大的可能性
前置知识:有一些模拟PageRank算法,但是他们都存在一定缺陷:
1.Monte-Carlo:其实就是一个随机游走,能得到较准确得答案,但是步数要求大
2.BiPPR:起点和终点分别开始随机游走,然后拼起来,这是一个优化,但是最差情况下可能会退化成Monte-Carlo
3.HubPPR:基于BiPPR的索引结构,预先计算和存储一些关键节点的PPR值,从而在查询时快速返回结果
4.Forward Push 是一种早期的PPR计算方法,通过从源节点 s 开始,逐步将残差传播到其他节点,直到残差小于某个阈值 rmax
然后这篇文章的工作就是把这些东西合起来了,简单来说就是先用Forward Push传播残差,然后再用Monte-Carlo去随机游走,在这个基础上如果预处理出来随机游走的节点的话,还能大大加速算法的运行时间
然后对于计算前K大,大概是给每个预计计算的值设置一个误差边界,当随机游走之后的值收敛到边界以内,就算出来一个在误差范围内的PageRank值
这个误差的定义有点像大数定律的感觉

浙公网安备 33010602011771号