Algorithm Pagerank及其数学:需要解释

Algorithm Pagerank及其数学:需要解释,algorithm,math,search,pagerank,Algorithm,Math,Search,Pagerank,我是一个对开发一个搜索引擎感兴趣的学生,该引擎可以索引来自我国的页面。我已经研究了一段时间使用的算法,我已经确定点击率和PageRank是最好的。我决定使用PageRank,因为它比HITS算法更稳定(或者我已经读过) 我发现了无数与PageRank相关的文章和学术论文,但我的问题是我不理解这些论文中形成算法的大多数数学符号。具体来说,我不明白谷歌矩阵(不可约的随机矩阵)是如何计算的 我的理解基于以下两篇文章: 有没有人能用较少的数学符号提供一个基本的解释(举例就好了) 提前感谢。这是你

我是一个对开发一个搜索引擎感兴趣的学生,该引擎可以索引来自我国的页面。我已经研究了一段时间使用的算法,我已经确定点击率和PageRank是最好的。我决定使用PageRank,因为它比HITS算法更稳定(或者我已经读过)

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

我的理解基于以下两篇文章:

有没有人能用较少的数学符号提供一个基本的解释(举例就好了)


提前感谢。

这是你需要的论文:(如果你不认识作者的名字,你可以在这里找到更多关于他们的信息:)

本文件中使用的符号在本文件中以非专业英语描述


谢谢你让我用谷歌搜索这个。

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

简而言之,这个公式表示,要计算第X页的PageRank…

For all the backlinks to this page (=all the pages that link to X) you need to calculate a value that is The PageRank of the page that links to X [R'(v)] divided by the number of links found on this page. [Nv] to which you add some "source of rank", [E(u)] normalized by c (we'll get to the purpose of that later.) And you need to make the sum of all these values [The Sigma thing] and finally, multiply it by a constant [c] (this constant is just to keep the range of PageRank manageable) 对于指向此页面的所有反向链接(=链接到X的所有页面) 您需要计算一个 链接到X[R'(v)]的页面的PageRank 除以 在此页上找到的链接数。[Nv] 你加进去的 一些“秩的来源”[E(u)]被c规范化 (稍后我们将讨论其目的。) 你需要把所有这些值相加[西格玛值] 最后,乘以一个常数[c] (此常量仅用于保持PageRank的范围可管理) 这个公式的关键思想是,链接到给定页面X的所有网页都在为其“价值”增加价值。通过链接到某个页面,他们正在“投票”支持该页面。然而,这一“投票”的分量多少取决于两个因素:

  • 链接到X[R'(v)]
  • 事实上,链接到X的页面也链接到许多其他页面。[Nv]
这两个因素反映了非常直观的想法:

  • 一般来说,从该领域公认的专家那里得到推荐信比从一个不知名的人那里得到推荐信要好
  • 不管是谁推荐,他们也会推荐给其他人,这会降低他们推荐给你的价值
正如您所注意到的,这个公式使用了某种程度上的循环引用,因为要知道X的页面范围,您需要知道链接到X的所有页面的PageRank。那么如何计算这些PageRank值呢?。。。这就是文档部分中解释的下一个收敛问题的切入点

基本上,对于所有页面,从PageRank的一些“随机”(或最好是“合理猜测”值开始,并通过使用上述公式计算PageRank,新计算的值会变得“更好”,当您迭代此过程几次时。值收敛,即它们都越来越接近实际值/理论值。因此,通过迭代足够的次数,我们达到了这样一个时刻,即额外的迭代不会给上一次迭代提供的值增加任何实际精度

现在…这在理论上很好,很好。诀窍是将这个算法转换成等效的算法,但可以更快地完成。有几篇论文描述了如何完成这个以及类似的任务。我手头没有这样的参考资料,但稍后会添加这些。注意,它们确实会涉及到健康剂量的线性al格布拉

编辑:正如承诺的那样,这里有一些关于计算页面排名算法的链接。 /// ///

尽管上面提供的链接的许多作者都来自斯坦福大学,但很快就会意识到寻求高效的PageRank类计算是一个热门的研究领域。我意识到这篇材料超出了OP的范围,但重要的是要暗示一个事实,即基本算法对大型网站不实用。

最后是一篇非常容易理解的文章(但是有很多深入信息的链接),我想提到

<>如果你对这类事情很认真,你可以考虑数学入门课,特别是线性代数,以及一个处理图表的计算机科学班。BTW,Michael Dorfman的伟大建议,在这篇文章中,为OCW的1806个讲座的视频。


我希望这有点帮助…

如果你真的想为搜索引擎开发一个算法,我会郑重地建议你学习线性代数课程。由于没有亲自参加的课程,Gilbert Strang的麻省理工开放式课程相当不错(在上的视频讲座)

像这样的课程肯定能让你理解你提供的文档中的数学符号——在那篇论文中,没有什么是第一年的线性代数课程不能涵盖的


我知道这不是你想要的答案,但它确实是你最好的选择。在你没有很好地掌握基本概念的情况下,让某人尝试向你解释单个符号或算法并不能很好地利用任何人的时间。

你可能还想阅读关于数学的介绍性教程d大卫·奥斯汀(David Austin)写的Pagerank矩阵的构造,题为