我试图理解 Google PageRank 背后的概念,并试图在 Python 中实现一个类似的(虽然是初级的)版本。在过去的几个小时里,我一直在熟悉这个算法,但仍然不是很清楚。
我找到了一个特别有趣的网站,它概述了 PageRank 在 Python 中的实现。但是,我似乎不太了解此页面上显示的所有功能的用途。谁能澄清一下这些函数到底在做什么,尤其是 pageRankeGenerator?
我试图理解 Google PageRank 背后的概念,并试图在 Python 中实现一个类似的(虽然是初级的)版本。在过去的几个小时里,我一直在熟悉这个算法,但仍然不是很清楚。
我找到了一个特别有趣的网站,它概述了 PageRank 在 Python 中的实现。但是,我似乎不太了解此页面上显示的所有功能的用途。谁能澄清一下这些函数到底在做什么,尤其是 pageRankeGenerator?
我将尝试从我的个人笔记中对 PageRank 算法给出一个简单的解释(定义)。
假设页面 T1, T2, ... Tn 指向页面 A,那么
PR(A) = (1-d) + d * (PR(T1) / C(T1) + ... + PR(Tn) / C(Tn))
在哪里
每个 PR(x) 的起始值都可以是1,我们通过对每个页面重复算法约 10-20 次来调整页面排名。
A、B、C 页的示例:
A <--> B
^ /
\ v
C
第 1 轮
A = 0.15 + 0.85 (1/2 + 1/1) = 1.425
B = 0.15 + 0.85 (1/1) = 1
C = 0.15 + 0.85 (1/2) = 0.575
回合总和 = 3
第 2 轮
A = 0.15 + 0.85 (1/2 + 0.575) = 1.06375
B = 0.15 + 0.85 (1.425) = 1.36125
C = 0.15 + 0.85 (1/2) = 0.575
回合总和 = 3
第 3 轮
A = 0.15 + 0.85 (1.36125/2 + 0.575) = 1.217
B = 0.15 + 0.85 (1.06375) = 1.054
C = 0.728
回合总和 = 3
...