PageRank算法详解
- 主要内容
- PageRank算法简介
- PageRank算法详解
- 基本PageRank模型
- 终止点问题
- 陷阱问题
- 解决终止点问题和陷阱问题
1、PageRank算法简介
PageRank,网页排名,又称网页级别或佩奇排名,是一种根据网页间相互超链接进行网页排名的技术,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是评估网页优化的有效指标之一。Google的创始人拉里·佩奇和谢尔盖·布林于1998年在斯坦福大学发明了这项技术。
PageRank通过网络浩瀚的超链接关系来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,Google根据投票来源(甚至来源的来源)和投票目标的等级来决定新的等级。简单的说,一个高等级的页面可以使其他低等级页面的等级提升。
2、PageRank算法详解
2.1 基本PageRank模型
互联网中的网页可以看成是一个有向图,其中网页是结点,如果网页
A
有链接到网页
这个例子中只有四个网页,如果当前在 A 网页,那么悠闲的上网者将会各以
初试时,假设上网者在每一个网页的概率都是相等的,即 1/n ,于是初试的概率分布就是一个所有值都为 1/n 的 n 维列向量
注意矩阵 M 中
2.2 终止点问题
上述上网者的行为是一个马尔科夫过程的实例,要满足收敛性,需要具备一个条件:
- 图是强连通的,即从任意网页可以到达其他任意网页
互联网上的网页不满足强连通的特性,因为有一些网页不指向任何网页,如果按照上面的计算,上网者到达这样的网页后便走投无路、四顾茫然,导致前面累计得到的转移概率被清零,这样下去,最终的得到的概率分布向量所有元素几乎都为
0
。假设我们把上面图中
对应的转移矩阵为:
连续迭代下去,最终所有元素都为 0 :
2.3 陷阱问题
另外一个问题就是陷阱问题,即有些网页不存在指向其他网页的链接,但存在指向自己的链接。比如下面这个图:
上网者跑到
不断的迭代下去,就变成了这样:
2.4 解决终止点问题和陷阱问题
上面过程,我们忽略了一个问题,那就是上网者是一个悠闲的上网者,而不是一个愚蠢的上网者,我们的上网者是聪明而悠闲,他悠闲,漫无目的,总是随机的选择网页,他聪明在走到一个终结网页或者一个陷阱网页(比如两个示例中的
现在我们来计算前文2.3节中带陷阱的网页图的概率分布:
重复迭代下去,得到: