pagerank算法详解

pagerank算法详解目录一、pagerank定义两个重要假设二、pagerank算法公式定义计算演示矩阵化计算三、存在的两个问题问题1.DeadEnds问题2.SpiderTraps一、pagerank定义入链数:指向该节点的链接数出链数:由该节点指出的链接数以上图为例:A的入链数为1,出链数为3,所以将由A指向其他节点的边权重设置为1/3,表示A访问B、C、D节点的概率均为1/3两个重要假设数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。质量假设:指向

大家好,欢迎来到IT知识分享网。

一、pagerank简介

PageRank算法的基本想法是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为。在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,这时各个结点的平稳概率值就是其PageRank值,表示结点的重要度。PageRank 是递归定义的,PageRank 的计算可以通过迭代算法进行。
在这里插入图片描述

入链数:指向该节点的链接数
出链数:由该节点指出的链接数
以上图为例:A的入链数为2,出链数为3,所以将由A指向其他节点的边权重设置为1/3,表示A访问B、C、D节点的概率均为1/3

两个重要假设

  • 数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。
  • 质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。

二、pagerank算法

公式定义

pagerank算法详解

  • PR(a)表示当前节点a的PR值
  • PR(Ti)表示其他各个节点(能够指向a)的PR值
  • L(Ti)表示其他各个节点(能够指向a)的出链数
  • i代表当前时刻或迭代次数

计算演示

接下来以下图为例进行计算演示:
在这里插入图片描述

  1. 将四个节点的初始PR都设置为1/4
  2. 根据每一个节点(a)的入链节点(Ti)的PR值及出链数和自身(a)的PR值
  3. 不断进行迭代,直到PR值不再发生变化

以A为例:
A有两个入链节点C(出链数为1,PR=1/4)和D(出链数为2,PR=1/4)由计算公式得到:i=1时刻的PR(A) = (1/4)/1 + (1/4)/2 = 3/8
其余节点计算方法类似,不作赘述。
pagerank算法详解

矩阵化计算

该有向图的邻接矩阵如下所示:
在这里插入图片描述

借助邻接矩阵(转移矩阵)的表示方式,我们可以简化上述计算,将四个节点的PR值转化为V向量,并于转移矩阵相乘,可以得到新一轮的PR值向量

pagerank算法详解

由此可以得到每一步PR值迭代的结果为:MV, MMV, MMM*V 最终会收敛为M‘ * V(详细数学证明,有兴趣可以百度查询)

三、存在的两个问题

问题1.Dead Ends

pagerank算法详解

如上图所示:B没有任何出链,这就是Dead Ends,Dead Ends会导致网站权重变成0.

最朴素的想法是:对全是0的列的每一个元素加上1/n(n为节点个数)
对M进行修正
在这里插入图片描述

问题2.Spider Traps

pagerank算法详解

如上图所示,A节点与其它节点之间没有出链,这就是Spider Traps,这将导致网站权重变为像一个节点偏移(经过多轮迭代后,A的权重越来越大,趋近于1)
需要对M进行修正:
在这里插入图片描述
如上图所示仍有β的概率访问出链页面,但剩下(1 -β)的概率会随机跳转到其他页面,防止一直从A跳转到A的情况

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/9919.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信