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=(1−d)+dN∑j=1(Lijcj)pj(14.107)pi=(1−d)+dN∑j=1(Lijcj)pj(14.107)
其中dd为正的常数值(设定为0.85).
想法是页面ii的重要性是指向该页面的重要性之和.它们的和赋予权重1/cj1/cj,也就是,每个页面分配将总值为1的权重赋予其它页面.常数值dd保证了每个页面至少得到1−d1−d的PageRank值.采用矩阵表示为 p=(1−d)e+d⋅LD−1cp(14.108)p=(1−d)e+d⋅LD−1cp(14.108) 其中ee是NN个元素均为1的列向量,Dc=diag(c)Dc=diag(c)是对角元素为cjcj的对角矩阵.引入标准化eTp=NeTp=N,则(14.108)可以写成
p=[(1−d)eeT/N+dLD−1c]p=Ap(14.109)
其中矩阵A是方括号里面的表达式.
利用与Markov链的联系(见下),可以证明矩阵A有等于1的实值特征值,并且1是其最大的特征值.这意味着我们可以采用幂法来求出ˆp:起始值为p=p0,进行下面的迭代
pk←Apk−1;pk←NpkeTpk(14.110) 不动点ˆp则是PageRanks.
在Page et. al(1998)1的原始论文中,作者将PageRank考虑成用户行为的模型,用户随机点击页面,而不去考虑内容.用户在网络上进行随机游走,随机选择有用的向外链接.因子1−d是他不去点击链接而直接跳到该页面的概率.
有些PageRank的描述是将(1−d)/N作为定义(14.107)式中的第一项,这更符合随机浏览的解释.接着page rank的解(除以N)是不可约、非周期Markov链在N个网页上的平稳分布.
定义(14.107)也对应一个不可约、非周期Markov链,但转移概率与(1−d)/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.
-
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 . ↩↩
-
Bremaud, P. (1999). Markov Chains: Gibbs Fields, Monte Carlo Simulation, and Queues, Springer, New York. ↩