PageRank算法学习笔记

PageRank

该算法求得的是每个网页节点相对于全局的重要性程度。

PageRank算法学习笔记_第1张图片

图中的节点可以视为网页,边表示跳转链接。

1.PageRank两阶段:

  1. 数量假设。当一个节点被指向的越多,则越重要。

  2. 质量假设。质量高的页面通过链接向其他页面传递更高的权重。

2.计算过程

  1. 将有向图转换为邻接矩阵。每一行为出链
    M = [ 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 ] M=\begin{bmatrix} 0 & 1 & 1 & 1\\ 1 & 0 & 0 & 1\\ 0 & 0 & 0 & 0\\ 0 & 1 & 1 & 0 \end{bmatrix} M=0100100110011100

  2. 计算概率矩阵,即归一化

M ′ = [ 0 1 / 3 1 / 3 1 / 3 1 / 2 0 0 1 / 2 0 0 0 0 0 1 / 2 1 / 2 0 ] M'=\begin{bmatrix} 0 & 1/3 & 1/3 & 1/3\\ 1/2 & 0 & 0 & 1/2\\ 0 & 0 & 0 & 0\\ 0 & 1/2 & 1/2 & 0 \end{bmatrix} M=01/2001/3001/21/3001/21/31/200

表示有多少概率链接到其他节点,如,节点1分别有1/3的概率跳转到2,3,4。求转置即可得到概率转移矩阵。

P = [ 0 1 / 2 0 0 1 / 3 0 0 1 / 2 1 / 3 0 0 1 / 2 1 / 3 1 / 2 0 0 ] P=\begin{bmatrix} 0 & 1/2 & 0 & 0\\ 1/3 & 0 & 0 & 1/2\\ 1/3 & 0 & 0 & 1/2\\ 1/3 & 1/2 & 0 & 0 \end{bmatrix} P=01/31/31/31/2001/2000001/21/20

概率转移矩阵即可描述一个用户在网上的下一步访问行为。假设初始化用户对每一个网页节点访问的概率相同。即:

ν = [ 1 / 4 1 / 4 1 / 4 1 / 4 ] \nu = \begin{bmatrix} 1/4\\ 1/4\\ 1/4\\ 1/4 \end{bmatrix} ν=1/41/41/41/4

下一次访问各节点的概率为:

ν ′ = P ν \nu'=P\nu ν=Pν

3,当用户操作时,不一定按照链接顺序来转移,可能会随机打开这4个网站中的任何一个,此时转移矩阵的概率每个节点都是一样的为1/4。那么再引入一个参数α,来表示按照当前转移矩阵跳的概率。此时转移矩阵为:
A = α × [ 0 1 / 2 0 0 1 / 3 0 0 1 / 2 1 / 3 0 0 1 / 2 1 / 3 1 / 2 0 0 ] + ( 1 − α ) × [ 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 1 / 4 ] A=\alpha\times \begin{bmatrix} 0 & 1/2 & 0 & 0\\ 1/3 & 0 & 0 & 1/2\\ 1/3 & 0 & 0 & 1/2\\ 1/3 & 1/2 & 0 & 0 \end{bmatrix}+(1-\alpha)\times \begin{bmatrix} 1/4 & 1/4 & 1/4 & 1/4\\ 1/4 & 1/4 & 1/4 & 1/4\\ 1/4 & 1/4 & 1/4 & 1/4\\ 1/4 & 1/4 & 1/4 & 1/4 \end{bmatrix} A=α×01/31/31/31/2001/2000001/21/20+(1α)×1/41/41/41/41/41/41/41/41/41/41/41/41/41/41/41/4

通常情况下,α=0.85

4,最终计算迭代公式
ν ′ = P ν \nu'=P\nu ν=Pν
当ν和v’误差在一定范围内,即为最终的PageRank值。通过计算,PageRank的值为,
ν = [ 0.3245 0.2251 0.2251 0.2251 ] \nu = \begin{bmatrix} 0.3245\\ 0.2251\\ 0.2251\\ 0.2251 \end{bmatrix} ν=0.32450.22510.22510.2251
5,总结

上述公式可以总结为:
P R ( i ) = α ∑ j ∈ i n ( i ) P R ( j ) ∣ o u t ( j ) ∣ + 1 − α N PR(i)=\alpha\sum_{j\in in(i)}\frac{PR(j)}{|out(j)|}+\frac{1-\alpha}{N} PR(i)=αjin(i)out(j)PR(j)+N1α

α:转移概率

N:节点总数

in(i):指向节点i的网页集合

out(j):节点j指向的网页集合。

你可能感兴趣的:(数字图像处理,算法,矩阵,线性代数)