PageRank算法笔记(简化迭代版)

PageRank算法笔记(简化迭代版)

1.简介

谷歌公司经典的网页排序算法,某个网页A被其它指向得越多次,则该网页A的重要性越高。

“佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。其基本假设是:更重要的页面往往更多地被其他页面引用(或称其他页面中会更多地加入通向该页面的超链接)。 其将从A页面到B页面的链接解释为“A页面给B页面投票”,并根据投票来源(甚至来源的来源,即链接到A页面的页面)和投票对象的等级来决定被投票页面的等级。简单的说,一个高等级的页面可以提升其他低等级的页面。”

2. 公式(迭代版)

对于某个网页A(节点),它在本轮迭代下的 P a g e R a n k PageRank PageRank值( P R PR PR)计算公式为:
P R ( A ) = ∑ 所有指向 A 的其它节点 指向 A 的节点在上一轮迭代的 P R 值 该节点的出度值 PR(A)=\sum_{所有指向A的其它节点}\frac{指向A的节点在上一轮迭代的PR值}{该节点的出度值} PR(A)=所有指向A的其它节点该节点的出度值指向A的节点在上一轮迭代的PR

3. 实例

计算下图各节点经历两次迭代后的PR值

PageRank算法笔记(简化迭代版)_第1张图片

1. 初始化

初步计算时,我们可以预设四个节点的影响力是相同的,记总影响力为1,则有:
P R ( A ) = P R ( B ) = P R ( C ) = P R ( D ) = 1 4 PR(A)=PR(B)=PR(C)=PR(D)=\frac{1}{4} PR(A)=PR(B)=PR(C)=PR(D)=41

2. 第一轮迭代

  • 对于节点A,指向它的只有节点C。对于节点C,它的上一轮的PR值为 1 4 \frac{1}{4} 41,它的出度值为3(分别指向A、B和D)。所以这一轮迭代下,节点A的PR值为:
    P R ( A ) = 1 4 3 = 1 12 PR(A)=\frac{\frac{1}{4}}{3}=\frac{1}{12} PR(A)=341=121

  • 对于节点B,指向它的有A和C两个节点。对于节点A,它的上一轮PR值为 1 4 \frac{1}{4} 41,它的出度值为2(指向B和C);对于节点C,它的上一轮PR值为 1 4 \frac{1}{4} 41,它的出度值为3(指向A、B和D)。那么这一轮迭代下,节点B的PR值为:
    P R ( B ) = 1 4 2 + 1 4 3 = 5 24 PR(B)=\frac{\frac{1}{4}}{2}+\frac{\frac{1}{4}}{3}=\frac{5}{24} PR(B)=241+341=245

  • 同理,节点C和D在本轮的PR值为:
    P R ( C ) = 1 4 2 + 1 4 1 = 3 8 PR(C)=\frac{\frac{1}{4}}{2}+\frac{\frac{1}{4}}{1}=\frac{3}{8} PR(C)=241+141=83
    P R ( D ) = 1 4 1 + 1 4 3 = 1 3 PR(D)=\frac{\frac{1}{4}}{1}+\frac{\frac{1}{4}}{3}=\frac{1}{3} PR(D)=141+341=31

  • 可以注意到,将本轮的四个节点的PR值相加,它们的和仍然是为1的。

3. 第二轮迭代

  • 在第二轮迭代中,对于节点A,指向它的只有节点C。对于节点C,它的上一轮的PR值为 3 8 \frac{3}{8} 83,它的出度值为3(分别指向A、B和D)。所以这一轮迭代下,节点A的PR值为:
    P R ( A ) = 3 8 3 = 1 8 = 0.125 PR(A)=\frac{\frac{3}{8}}{3}=\frac{1}{8}=0.125 PR(A)=383=81=0.125

  • 同理,对剩下三个节点,它们的PR值分别为:
    P R ( B ) = 1 12 2 + 3 8 3 = 1 6 ≈ 0.167 PR(B)=\frac{\frac{1}{12}}{2}+\frac{\frac{3}{8}}{3}=\frac{1}{6}\approx0.167 PR(B)=2121+383=610.167
    P R ( C ) = 1 12 2 + 1 3 1 = 3 8 = 0.375 PR(C)=\frac{\frac{1}{12}}{2}+\frac{\frac{1}{3}}{1}=\frac{3}{8}=0.375 PR(C)=2121+131=83=0.375
    P R ( D ) = 5 24 1 + 3 8 3 = 1 3 ≈ 0.333 PR(D)=\frac{\frac{5}{24}}{1}+\frac{\frac{3}{8}}{3}=\frac{1}{3}\approx0.333 PR(D)=1245+383=310.333

  • 同样的,将本轮的四个节点的PR值相加,它们的和仍然是为1的。

4. 最终结果与分析

节点 初始化 第一次迭代 第二次迭代 最终PageRank值 最终排名
A 1/4 1/12 1/8 0.125 4
B 1/4 5/24 1/6 0.167 3
C 1/4 3/8 3/8 0.375 1
D 1/4 1/3 1/3 0.333 2

整体的计算结果如上表所示。根据结果,影响力的排名为:
C > D > B > A C>D>B>A C>D>B>A

4. 参考链接

  1. PageRank-wiki
  2. 机器学习经典算法之PageRank
  3. PageRank Algorithm - Example(YouTube)

你可能感兴趣的:(算法)