Skip to content

14.10 谷歌的PageRank算法

原文 The Elements of Statistical Learning
翻译 szcf-weiya
发布 2016-09-30
更新 2018-01-23
状态 Done

写在前面

翻译这一节时,已经从多个地方了解到了PageRank算法.最初是在Tan Sir的数学建模课上,后来便是数院短学期有一节讲到PageRank算法,并且布置了相关的课后作业.在那个作业中,是对一个网络利用PageRank进行分析与讨论.翻译完此节,特意去整理了一下那个作业,开了一个仓库来放它,有兴趣的可以看看😀传送门

这一节我们给出谷歌搜索引擎所采用的最原始的PageRank算法,这是非监督学习的一个有趣的应用.

我们假设有NN个网页,并且希望对它们进行重要性排序.举个例子,这NN个页面可能都匹配到字符串“statistical learning”,我们希望对页面按照其可能对浏览者的相关程度进行排序.

PageRank算法考虑如果有很多其他的页面指向一个页面,则该页面是重要的.然而指向一个给定页面的链接网页并不会平等对待:算法考虑链接页面的重要性(PageRank)以及它们向外链接的个数.有高PageRank值的网页被赋予更大的权重,而有更多的向外链接的页面则赋予较小的权重.这个想法得到了PageRank的递归定义,细节如下.

如果页面jj指向页面ii,令Lij=1Lij=1,否则为0.令cj=Ni=1Lijcj=Ni=1Lij等于页面jj指向的页面个数(向外链接的个数).则谷歌的PageRank值pipi由递归关系定义

pi=(1d)+dNj=1(Lijcj)pj(14.107)pi=(1d)+dNj=1(Lijcj)pj(14.107)

其中dd为正的常数值(设定为0.85).

想法是页面ii的重要性是指向该页面的重要性之和.它们的和赋予权重1/cj1/cj,也就是,每个页面分配将总值为1的权重赋予其它页面.常数值dd保证了每个页面至少得到1d1d的PageRank值.采用矩阵表示为 p=(1d)e+dLD1cp(14.108)p=(1d)e+dLD1cp(14.108) 其中eeNN个元素均为1的列向量,Dc=diag(c)Dc=diag(c)是对角元素为cjcj的对角矩阵.引入标准化eTp=NeTp=N,则(14.108)可以写成

p=[(1d)eeT/N+dLD1c]p=Ap(14.109)

其中矩阵A是方括号里面的表达式.

利用与Markov链的联系(见下),可以证明矩阵A有等于1的实值特征值,并且1是其最大的特征值.这意味着我们可以采用幂法来求出ˆp:起始值为p=p0,进行下面的迭代

pkApk1;pkNpkeTpk(14.110) 不动点ˆp则是PageRanks.

在Page et. al(1998)1的原始论文中,作者将PageRank考虑成用户行为的模型,用户随机点击页面,而不去考虑内容.用户在网络上进行随机游走,随机选择有用的向外链接.因子1d是他不去点击链接而直接跳到该页面的概率.

有些PageRank的描述是将(1d)/N作为定义(14.107)式中的第一项,这更符合随机浏览的解释.接着page rank的解(除以N)是不可约、非周期Markov链在N个网页上的平稳分布.

定义(14.107)也对应一个不可约、非周期Markov链,但转移概率与(1d)/N版本的不同.将PageRank看成Markov链能够更清楚地看出为什么A有最大的实特征值1.因为A的元素为正值,且每一列和为1,Markov链的理论告诉我们它有唯一的一个特征值为1的特征向量,对应该Markov链的平稳分布(Bremaud, 1999)1

图14.46为了说明展示了一个小型的网络.

链接矩阵为

L=(0010100011010000)(14.111)

向外链接的个数为c=(2,1,1,1)

PageRank的解为ˆp=(1.49,0.78,1.58,0.15).注意到页面4没有进入的链接,因此得到最小的PageRank值0.15.


  1. Page, L., Brin, S., Motwani, R. and Winograd, T. (1998). The pagerank citation ranking: bringing order to the web, Technical report, Stanford Digital Library Technologies Project. http://citeseer.ist.psu.edu/page98pagerank.html . 

  2. Bremaud, P. (1999). Markov Chains: Gibbs Fields, Monte Carlo Simulation, and Queues, Springer, New York. 

💬 讨论区