我是一名对开发搜索引擎以对来自我的国家/地区的网页编制索引的学生感兴趣。我一直在研究要使用一段时间的算法,并且确定HITS和PageRank是目前最好的算法。我决定使用PageRank,因为它比HITS算法更稳定(或者我已经读过)。
我发现了无数与PageRank相关的文章和学术论文,但是我的问题是我不理解构成这些算法的算法的大多数数学符号。具体来说,我不了解Google矩阵(不可约的随机矩阵)是如何计算的。
我的理解是基于这两篇文章:
有人可以用较少的数学符号提供基本的解释(例如例子)吗?
提前致谢。
在引用的文件的第4页上定义的PageRank的正式定义,在数学方程式中以有趣的“ E”符号表示(实际上是大写的Sigma希腊字母。Sigma是此处的字母“ S”为 求和 )。
简而言之,该公式表示 要计算页面X的PageRank …
对于此页面的所有反向链接(=链接到X的所有页面) 您需要计算一个值 链接到X [R'(v)]的页面的PageRank 除以 在此页面上找到的链接数。[Nv] 您添加到 一些“等级来源”,[E(u)]由c归一化 (我们稍后将达到目的。) 您需要将所有这些值的总和[Sigma事情] 最后,将其乘以一个常数[c] (此常数只是为了保持PageRank的范围可管理)
该公式的关键思想是 链接到给定页面X的所有网页都为其“价值”增加价值。通过链接到某些页面,他们“投票”赞成该页面。但是,此“投票”的权重或多或少取决于两个因素:
这两个因素反映出非常直观的想法:
正如您所注意到的,该公式利用了 某种循环引用 ,因为要知道X的页面范围,您需要知道链接到X的所有页面的PageRank。然后如何计算这些PageRank值?在文档部分中介绍的下一个收敛问题。
本质上,对于所有页面,从一些“随机”(或最好是“合理的猜测”)PageRank值开始,并通过使用上述公式计算PageRank,新的计算值将变得“更好”,因为您对此过程进行了一些迭代这些值会 收敛 ,即它们每个都越来越接近实际/理论值,因此,通过迭代足够的时间,我们可以得出一个时刻,即附加迭代不会为该函数提供的值增加任何实际精度。最后一次迭代。
现在…从理论上讲,这很好而且很花哨。诀窍是将该算法转换为等效算法,但可以更快地完成。有几篇论文描述了如何完成此任务以及类似的任务。我暂时没有这些参考,但是稍后会添加。当心它们确实会涉及线性代数的健康剂量。
编辑: 如所承诺的,以下是有关计算页面排名的算法的一些链接。 PageRank Haveliwala的高效计算1999 /// 利用网络的块结构进行计算PR Kamvar etal 2003 /// 一种用于计算PageRank Lee的快速两阶段算法。2002年
尽管上面提供的链接的许多作者都来自斯坦福,但不久之后就意识到,寻求像PageRank一样的高效计算是研究的热点。我意识到这种材料超出了OP的范围,但重要的是要暗示一个事实,即基本算法不适用于大型网站。
为了以易于访问的文本结尾(但还有许多指向深入信息的链接),我想提及Wikipedia的精彩文章
如果您对此类事情很认真,则可以考虑数学的入门/复习课程,尤其是线性代数,以及通常处理图形的计算机科学课程。顺便说一句,迈克尔·多夫曼(Michael Dorfman)在这篇文章中对OCW的1806年演讲视频提出了很好的建议。
我希望这能有所帮助…