PageRank
PageRank
简化模型
将互联网上的网页看成有向图。
对于任意一个网页,其pagerank的值为;
Bi 为所有连接到网页 i 的网页的集合,Lj为网页 j 对外的连接数
- 其中蕴含的一个思想:如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:PR(T)/L(T) 这里采用的就是均分的思想。
以上图为例:
A转移到 B、C、D的概率分别为 1/3,B转移到 A、D的概率为 0.5. ·······
因此,在进行下一轮迭代时候,D分到 上一轮A的1/3,分到上一轮B的0.5·······
设个节点的初始值构成向量 R 0 R_0 R0 ,由上图可以构造转移矩阵M
矩阵每个元素
m
i
j
m_{ij}
mij 表示从i 链出到 j ,向 j 转移的概率为
m
i
j
m_{ij}
mij 。 矩阵的一列之和 为 1 。
迭代方程:
R
t
+
1
=
M
R
t
R_{t+1} = MR_{t}
Rt+1=MRt
存在极限:
M
R
=
R
MR = R
MR=R
一般性定义
简单定义的pagerank 会存在两个问题:
-
rank leak :一个独立网页,没有链出的连接,会造成排名泄露。转移矩阵如上图。这样相当于用户点击到一个网页就不进行点击了,最终迭代结果会都趋向于0.
-
rank sink :如上图,网页没有入读连接,如节点A,所产生的贡献会被B\C\D构成的强连通分量蚕食。A的pr值会在之后的迭代中趋向于0。
以上图为例,设用户以d概率按原来的蓝色方向转移,以概率为 1-d 按红色方向转移。
令
M
′
=
d
∗
M
+
(
1
−
d
)
∗
[
1
/
N
]
N
x
N
M' = d*M + (1-d)*[1/N]_{NxN}
M′=d∗M+(1−d)∗[1/N]NxN
R
=
M
′
R
R = M' R
R=M′R
d 代表阻尼因子,通常设为 0.85