PageRank 的正式定义,如引用文件的第 4 页所定义,在数学方程式中用有趣的“E”符号表示(它实际上是大写的 Sigma 希腊字母。Sigma 是这里代表的字母“S”求和)。
简而言之,这个公式说要计算页面 X 的 PageRank...
对于此页面的所有反向链接(=链接到 X 的所有页面)
你需要计算一个值
链接到 X [R'(v)] 的页面的 PageRank
除以
在此页面上找到的链接数。[女]
您添加的
一些“排名来源”,[E(u)] 由 c 归一化
(我们稍后会谈到这个目的。)
你需要将所有这些值相加 [The Sigma thing]
最后,将它乘以一个常数 [c]
(这个常数只是为了保持 PageRank 的范围易于管理)
这个公式的关键思想是链接到给定页面 X 的所有网页都在为其“价值”增加价值。通过链接到某个页面,他们“投票”支持该页面。然而,这个“投票”或多或少有分量,取决于两个因素:
- 链接到 X [R'(v)] 的页面的受欢迎程度
- 链接到 X 的页面也链接到许多其他页面的事实。[女]
这两个因素反映了非常直观的想法:
- 通常,从该领域公认的专家那里获得推荐信比从不知名的人那里获得推荐信要好。
- 不管是谁推荐,通过也向其他人推荐,他们正在降低他们对你的推荐的价值。
如您所见,这个公式在某种程度上使用了循环引用,因为要知道 X 的页面范围,您需要知道链接到 X 的所有页面的 PageRank。那么您如何计算这些 PageRank 值?...文档部分中解释的下一个收敛问题在哪里开始。
本质上,从所有页面的一些“随机”(或者最好是“正确猜测”的 PageRank 值开始,并通过使用上面的公式计算 PageRank,新的计算值会变得“更好”,因为您将这个过程迭代了几次次。这些值收敛,即它们每个都越来越接近实际/理论值。因此,通过迭代足够多的次数,我们达到了一个时刻,额外的迭代不会为提供的值增加任何实际精度最后一次迭代。
现在... 从理论上讲,这很好而且很花哨。诀窍是将此算法转换为等效但可以更快完成的算法。有几篇论文描述了如何完成此任务以及类似任务。我没有这样的参考资料,但稍后会添加这些参考资料。当心他们会涉及健康剂量的线性代数。
编辑:正如所承诺的,这里有一些关于计算页面排名的算法的链接。
PageRank Haveliwala 1999 的高效计算 ///
利用 Web 的块结构计算 PR Kamvar et al 2003 ///
用于计算 PageRank Lee 等人的快速两阶段算法。2002年
尽管上面提供的链接的许多作者都来自斯坦福大学,但很快就会意识到寻求有效的类似 PageRank 的计算是一个热门研究领域。我意识到这个材料超出了 OP 的范围,但重要的是要暗示基本算法对于大型网络并不实用。
最后以一个非常易于理解的文本(但有许多指向深入信息的链接),我想提一下维基百科的优秀文章
如果你对这类事情很认真,你可以考虑上一门数学入门/进修课,特别是线性代数,以及一般处理图形的计算机科学课。顺便说一句,Michael Dorfman 在这篇文章中对 OCW 的 1806 讲座视频提出了很好的建议。
我希望这个能有一点帮助...