Google PageRank算法的数学原理与实现
1. PageRank迭代初步计算
在网页排名的计算中,我们可以通过迭代的方式逐步更新每个网页的PageRank值。以下是使用特定公式(4.1.2)对一个包含6个页面的网页图进行前几次迭代的结果:
| 页面 | 迭代0 | 迭代1 | 迭代2 | 迭代2排名 |
| — | — | — | — | — |
| P1 | 1/6 | 1/18 | 1/36 | 5 |
| P2 | 1/6 | 5/36 | 1/18 | 4 |
| P3 | 1/6 | 1/12 | 1/36 | 5 |
| P4 | 1/6 | 1/4 | 17/72 | 1 |
| P5 | 1/6 | 5/36 | 11/72 | 3 |
| P6 | 1/6 | 1/6 | 14/72 | 2 |
从这个表格中我们可以看到,随着迭代次数的增加,各个页面的PageRank值在不断变化,排名也逐渐稳定。
2. 求和方程的矩阵表示
之前的方程(4.1.1)和(4.1.2)是逐个页面计算PageRank值,这种方式比较繁琐。为了简化计算,我们引入矩阵来表示求和方程。
我们定义一个 $n×n$ 的矩阵 $H$ 和一个 $1×n$ 的行向量 $\pi^T$。矩阵 $H$ 是行归一化的超链接矩阵,如果从节点 $i$ 到节点 $j$ 有链接,那么 $H_{ij} = 1/|P_i|$,否则为 0。例如,对于前面提到的包含6个页面的网页图,其 $H$ 矩阵如下:
[
H =
\begin{pmatrix}
P1