第十章 PageRank
Google的民主表决式网站排名技术
1 PageRank算法的原理
核心思想:如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高。
对于来自不同网页的链接区别对待,来自排名高的网页的链接更可靠,给予高权重。
网页排名的计算:
pagerank = 0.001 + 0.01 + 0.02 + 0.05 = 0.081
X1,X2,X3,X4的权重依靠网站排名,那么这四个排名得出来呢?
布林把这个问题变成了一个二维矩阵相乘的问题,并用迭代的方法解决了这个问题。实际中计算量的问题,用稀疏矩阵计算的技巧实现了。
网页排名算法的高明之处在于它把整个互联网当作一个整体来对待,符合系统论的观点。
今天,决定搜索质量最有用的信息是用户的点击数据。
2 延伸阅读:PageRank的计算方法
假定向量B = (b1,b2,...,bn)T
为第一、第二、...第N个网页的网页排名。矩阵
为网页之间链接的数目。A是已知的,B是未知的(要求的)
假定Bi是第i次迭代的结果,那么Bi = A*Bi-1
初始假设:所有网页的排名都是1/N,即
显然可以通过Bi = A*Bi-1简单算出B1,B2,...。可以证明Bi最终会收敛,即Bi无限趋近于B,此时B = B*A。一般10次左右的迭代基本上就收敛了。
由于网页之间链接的数量相比互联网的规模非常稀疏,因此计算网页的网页排名也需要对零概率或者小概率事件进行平滑处理。网页的排名是个一维向量,对它的平滑处理只能利用一个小的常数α。这时:
其中N为互联网网页的数量,α是一个较小的常数,I是单位矩阵。