一尘不染

Pagerank及其数学:需要解释

algorithm

我是一名对开发搜索引擎以对来自我的国家/地区的网页编制索引的学生感兴趣。我一直在研究要使用一段时间的算法,并且确定HITS和PageRank是目前最好的算法。我决定使用PageRank,因为它比HITS算法更稳定(或者我已经读过)。

我发现了无数与PageRank相关的文章和学术论文,但是我的问题是我不理解构成这些算法的算法的大多数数学符号。具体来说,我不了解Google矩阵(不可约的随机矩阵)是如何计算的。

我的理解是基于这两篇文章:

有人可以用较少的数学符号提供基本的解释(例如例子)吗?

提前致谢。


阅读 271

收藏
2020-07-28

共1个答案

一尘不染

在引用的文件的第4页上定义的PageRank的正式定义,在数学方程式中以有趣的“ E”符号表示(实际上是大写的Sigma希腊字母。Sigma是此处的字母“
S”为 求和 )。

简而言之,该公式表示 要计算页面X的PageRank …

   对于此页面的所有反向链接(=链接到X的所有页面)
   您需要计算一个值
         链接到X [R'(v)]的页面的PageRank
         除以 
         在此页面上找到的链接数。[Nv]
         您添加到
           一些“等级来源”,[E(u)]由c归一化
             (我们稍后将达到目的。)

     您需要将所有这些值的总和[Sigma事情]
     最后,将其乘以一个常数[c] 
        (此常数只是为了保持PageRank的范围可管理)

该公式的关键思想是
链接到给定页面X的所有网页都为其“价值”增加价值。通过链接到某些页面,他们“投票”赞成该页面。但是,此“投票”的权重或多或少取决于两个因素:

  • 链接到X [R’(v)]的页面的流行度
  • 链接到X的页面也链接到许多其他页面的事实。[Nv]

这两个因素反映出非常直观的想法:

  • 通常最好是从该领域的知名专家那里获得推荐信,而不是从一个陌生人那里获得推荐信。
  • 无论是谁提供推荐,通过向其他人提供推荐,他们都会减少他们对您的推荐价值。

正如您所注意到的,该公式利用了 某种循环引用
,因为要知道X的页面范围,您需要知道链接到X的所有页面的PageRank。然后如何计算这些PageRank值?在文档部分中介绍的下一个收敛问题。

本质上,对于所有页面,从一些“随机”(或最好是“合理的猜测”)PageRank值开始,并通过使用上述公式计算PageRank,新的计算值将变得“更好”,因为您对此过程进行了一些迭代这些值会
收敛
,即它们每个都越来越接近实际/理论值,因此,通过迭代足够的时间,我们可以得出一个时刻,即附加迭代不会为该函数提供的值增加任何实际精度。最后一次迭代。

现在…从理论上讲,这很好而且很花哨。诀窍是将该算法转换为等效算法,但可以更快地完成。有几篇论文描述了如何完成此任务以及类似的任务。我暂时没有这些参考,但是稍后会添加。当心它们确实会涉及线性代数的健康剂量。

编辑: 如所承诺的,以下是有关计算页面排名的算法的一些链接。 PageRank
Haveliwala的高效计算1999

/// 利用网络的块结构进行计算PR Kamvar etal 2003 /// 一种用于计算PageRank
Lee的快速两阶段算法。2002年

尽管上面提供的链接的许多作者都来自斯坦福,但不久之后就意识到,寻求像PageRank一样的高效计算是研究的热点。我意识到这种材料超出了OP的范围,但重要的是要暗示一个事实,即基本算法不适用于大型网站。

为了以易于访问的文本结尾(但还有许多指向深入信息的链接),我想提及Wikipedia的精彩文章

如果您对此类事情很认真,则可以考虑数学的入门/复习课程,尤其是线性代数,以及通常处理图形的计算机科学课程。顺便说一句,迈克尔·多夫曼(Michael
Dorfman)在这篇文章中对OCW的1806年演讲视频提出了很好的建议。

我希望这能有所帮助…

2020-07-28