PageRank

基本概念

PageRank是一种网页排序算法,主要应用在搜索引擎中。

PageRank将链接作为投票,有入链和出链。入链是其他网页指向本网页,出链是网页指向其他网页。

如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是PageRank值会相对较高

如果一个PageRank值很高的网页链接到一个其他的网页,那么被链接到的网页的PageRank值会相应地因此而提高

算法介绍

又叫状态转移矩阵,用来表示入链和出链关系。

假如我们有这样一个邻接矩阵,这里有4个网页,A、B、C、D。每个网页的初始化重要度为1,每一列表示当前网页链接到其他网页而给予的重要度。对于网页A,它指向了B、C、D,因此B、C、D网页的重要度均增加1/3.对于每一行,表示其他网页指向本网页而增加的重要度。对于网页B,指向B的网页有A和D,给予的重要度分别是1/3和1/2.

 

假设当前每个网页的重要度向量是R,且每个网页的重要度值之和为1。根据邻接矩阵,可以计算出迭代一次之后,每个网页的重要度。R1 = S × R,多次迭代,S矩阵会趋于稳定。

S矩阵存在性和唯一性的理论基础:马尔可夫过程

马尔可夫过程:对于满足特定条件的图,其平稳状态是唯一的,而且无论在时间t=0 时起始概率分布是怎么样的,最终都会达到这样一个平稳状态 。

陷阱问题

外链组成环形结构,多次迭代后最终吸收掉所有的重要度

例1:

 

对于这样的状态转移矩阵S =  ,如果我们初始化 R = [1,0]或者[0,1]时,多次迭代后均不能得到一个稳定的矩阵,如果我们初始化R = [1/2, 1/2],那么可以得到稳定的状态转移矩阵。

例2:

最终收敛到[0, 0, 1]

 

陷阱问题的解决办法:

在每个时间节点,游览者对于下个网页有两种选择

以概率α,随机跟随一个外链到下个网页

以概率1-α,随机跳到某个网页

α的取值一般在0.8到0.9之间

终结点问题

有一些页面是终结点,即没有任何出链,这样的页面导致我们传递的重要度泄漏了

 

原文地址:https://www.cnblogs.com/yongfuxue/p/10094780.html