PageRank计算方法(通过power iteration方式来实现)

PageRank
对Web图中的每个节点赋一个0 到1 之间的分值,这个分值被称为PageRank。节点的PageRank 值依
赖于Web 图的链接结构。

考虑一个网上的随机冲浪者,它从某个网页(即Web 图中的一个节点)出发,在Web 中进行如下随机游走过程:在每一步中,冲浪者都会从当前网页A 的链出网页中随机选出一个网页作为下一步的访问目标。图21-1 给出了某个冲浪者处于节点A 的例子,其中A 有三个链接分别指向B、C、D,那么下一步他将以1/3 的等概率分别访问这三个节点。
这里写图片描述
当冲浪者在 Web 上进行节点间的随机游走时,他对某些节点的访问次数会比其他节点更多。直观地看,这些访问频繁的节点具有很多从其他频繁访问节点中指向的入链接。PageRank的思路就是,在随机游走过程中访问越频繁的网页也越重要。有时候冲浪者所在的当前网页A可能不存在出链,这时应该怎么做?为了解决这个问题,我们为冲浪者引入一个被称为随机跳转(teleport)①的额外操作。基于这个操作,冲浪者可以从一个节点跳到Web图的任一其他节点。由于他有可能在浏览器中输入一个URL,所以上述操作是有可能发生的。随机跳转操作的目标节点可以从满足均匀分布的所有Web网页中随机选择来实现。换句话说,假如Web图中所有的节点数目是N,那么随机跳转操作使得冲浪者以1/N的概率跳到每个节点。当然,冲浪者也以1/N的概率跳到其当前位置。

给Web 图中的每个节点分配PageRank 值时,有两种使用随机跳转操作的方法:(i) 当节点没有出链接时,冲浪者调用随机跳转操作;(ii) 当节点包含出链接时,冲浪者将以0 < α < 1 的概率调用随机跳转操作,而以1−α 的概率继续进行随机游走(从满足均匀分布的出链接中随机选择一个出链前行)。其中α 是一个事先选定的固定参数,一个典型的α 取值为0.1。


马尔科夫链
马尔科夫链是一个离散时间随机过程(discrete-time stochastic process),这个过程中的每一
步都需要做一个随机选择。一个马尔科夫链包括N 个状态(state)。在下面的介绍中,每个Web
网页都对应我们所构造的马尔科夫链中的一个状态。

马尔科夫链通过一个的转移概率矩阵(transition probability matrix)P 来刻画,其中
每个元素的值在[0,1]之间,并且P 中每一行的元素之和为1。在任一步,马尔科夫链都可能处
于N 个状态之一,那么,元素Pij 给出的就是从当前状态i 到下一个状态j 的条件转移概率。Pij
被称为转移概率,它仅仅依赖于当前的状态i,这种性质被称为马尔科夫性。因此,基于马尔科
夫性,我们有这里写图片描述这里写图片描述

满足上述性质的非负矩阵被称为随机矩阵(stochastic matrix)。随机矩阵的一个重要性质是,
它的最大特征值是1,与该特征值对应的有一个主左特征向量(principal left eigenvector)。

马尔科夫链中,下一个状态的分布仅仅依赖于当前的状态,而和如何到达当前状态无关。
图21-2 给出了包含3 个状态的简单马尔科夫链。从中间的状态A 出发,可以分别以等概率0.5
到达B 或C。而从B 或C 出发,都会以概率1 到达A。该马尔科夫链的转移概率矩阵为:
这里写图片描述

马尔科夫链的状态概率分布可以看成一个概率向量(probability vector),其中的每个元素都在[0,1]之间,并且所有的元素之和为1。如果一个N 维的概率向量的每个分量对应马尔科夫链中的一个状态的话,那么该向量就可以被看成是在状态上的一个概率分布。在21-2 给出的简单例子中,概率向量包含3 个总和为1 的元素。

我们可以将Web图上的一个随机冲浪过程看成是马尔科夫链,其中马尔科夫链中的每个状
态对应一个网页,而每个转移概率代表从一个网页跳转到另外一个网页的概率。teleport操作对
这些转移概率的计算具有贡献。Web图的邻接矩阵A可以如下定义:如果存在网页i到网页j的一
条链接,那么Aij=1,否则 Aij=0。这样,我们很容易就可以从N×N的矩阵A推导出马尔科夫链的
转移概率矩阵P。如果A的某一行没有1,则用1/N代替每个元素。对于其他行的处理如下:

(1) 用每行中的1 的个数去除每个1,因此如果某行有3 个1,则每个1 用1/3 代替;
(2) 上面处理后的结果矩阵乘以1−α;
(3) 对上面得到的矩阵中的每个元素都加上α/N。

这样,我们就可以通过概率向量xr 给出冲浪者在任一时间所处位置的概率分布。当t=0 时,冲浪者可能处于某个初始状态,这时xr 中相应的元素为1,其他元素均为0。根据上述定义,在t=1 时,冲浪者的状态分布可以用概率向量这里写图片描述来表示。同样,t=2 时概率向量为这里写图片描述 ,可以依此一直类推下去。这样我们只需状态分布和转移概率矩阵P,就能计算冲浪者在任一时刻所处状态的概率分布。

如果马尔科夫链被允许运行很多次,那么每个状态将会以不同的频率被访问,这个频率依赖于马尔科夫链的结构。在我们的运行模拟中,冲浪者访问某些网页(比如流行的新闻主页)会比其他网页更频繁。下面,我们将这种直观精确化,并建立访问频率收敛于固定的、稳态量的条件。然后,我们将PageRank 设置为每个节点v 在稳态下的访问频率,并介绍它的计算过程。


PageRank 的计算
转移概率矩阵P 的N 维左特征向量

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值