PageRank的定义
基本想法
PageRank算法作为计算互联网网页重要程度的算法被提出,它定义网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,值越大重要程度就越大。
假设互联网是一个有向图,在其基础上定义随机游走模型,即一阶马尔可夫链,表示网页浏览者在互联网上随机浏览网页的过程,假设浏览者在每个网页依照连接出去的超链接以等概率跳转到下一个网页,并在网页上持续不断进行这样的随机跳转,这个过程形成一阶马尔可分夫链,最后会收敛到一个固定值
有向图和随机游走模型
- 随机游走模型
给定一个含有n个结点的有向图,在有向图上定义随机游走模型,即一阶马尔可夫链,其中结点表述状态,有向边表示状态之间的转移,假设从一个节点到通过有向边相连的所有结点的转移概率相等,具体地,转移矩阵是一个n阶矩阵MMM
M=[mij]n×nM=[m_{ij}]_{n×n}M=[mij]n×n
第iii行第jjj列的元素mijm_{ij}mij取值规则如下:如果节点jjj有kkk个有向边连出,并且节点iii是其连出的一个结点,则mij=1km_{ij}=\frac{1}{k}mij=k1.否则mij=0m_{ij}=0mij=0
∑i=1nmij=1\sum\limits_{i=1}^nm_{ij}=1i=1∑nmij=1
随机游走在某时刻ttt访问各个结点的概率分布就是马尔可夫链在时刻ttt的状态分布,可以用一个nnn维向量RtR_tRt表示,则
Rt+1=MRtR_{t+1}=MR_tRt+1=MRt
PageRank的基本定义
给定一个包含nnn个结点v1,v2,..,vnv_1,v_2,..,v_nv1,v2,..,vn的强联通且非周期的有向图,在有向图定义随机游走模型,即一阶马尔可分链,随机游走的特点是从一个节点到有有向边连出的所有结点的转移概率相等,转移矩阵为MMM,这个马尔可夫链具有平稳分布RRR
R=MRR=MRR=MR
平稳分布RRR称为这个有向图的PageRank,R的各个分量称为各个结点的PageRank值
R=[PR(v1)PR(v1)...PR(vn)](3)
R= \left[
\begin{matrix}
PR(v_1) \\
PR(v_1) \\
... \\
PR(v_n)
\end{matrix}
\right] \tag{3}
R=⎣⎢⎢⎡PR(v1)PR(v1)...PR(vn)⎦⎥⎥⎤(3)
其中
PR(vi)≥0PR(v_i)\ge0PR(vi)≥0
∑i=1nPR(vi)=1\sum\limits_{i=1}^nPR(v_i)=1i=1∑nPR(vi)=1
RP(vi)=∑vj∈M(vi)PR(vj)L(vj)RP(v_i)=\sum\limits_{v_j \in M(v_i)}\frac{PR(v_j)}{L(v_j)}RP(vi)=vj∈M(vi)∑L(vj)PR(vj)
M(vi)M(v_i)M(vi)表示指向结点viv_ivi的结点集合,L(vj)L(v_j)L(vj)表示结点vjv_jvj连出的有向边的个数
不可约且非周期的有限状态马尔可夫链,有唯一平稳分布存在,并且当时间趋于无穷时状态分布收敛于唯一的平稳分布
PageRank的一般定义
给定一个含有nnn个结点的任意有向图,在有向图定义一个一般的随机游走模型,即一阶马尔可夫链。一般的随机游走模型的转移矩阵由两部分的线性组合组成,一部分是有向图的基本转移矩阵MMM,表示从从一个结点到其连出的所有结点的转移概率相等,另一部分是完全随机的转移矩阵,表示从任意一个结点到任意一个结点的转移概率为1n\frac{1}{n}n1,线性组合系数为阻尼因子d(1≤d≤1)d(1\le d \le 1)d(1≤d≤1)这个一般随机游走的马尔可夫链存在平稳分布,记作RRR定义平稳分布向量RRR为这个有向图的一般PageRank
R=dMR+1−dn1R=dMR+\frac{1-d}{n}\pmb1R=dMR+n1−d111决定,其中1\pmb 1111是所有分量为1的n维向量.
PageRank的计算
迭代算法
输入:含有nnn个结点的有向图,转移矩阵MMM,阻尼因子ddd,初始向量R0R_0R0
输出:有向图PageRank的向量RRR
(1)(1)(1)令t=0t=0t=0
(2)(2)(2)计算
Rt+1=dMRt+1−dn1R_{t+1}=dMR_t+\frac{1-d}{n}\pmb1Rt+1=dMRt+n1−d111
(3)(3)(3)如果Rt+1R_{t+1}Rt+1和RtR_tRt充分接近,令R=Rt+1R=R_{t+1}R=Rt+1,停止
(4)(4)(4)否则t=t+1t=t+1t=t+1转向(2)(2)(2)
幂法
任取初始向量x0x_0x0,构造如下的一个nnn维向量序列
x0,x1=Ax0,x2=Ax1,...,xk=Axk−1x_0,x_1=Ax_0,x_2=Ax_1,...,x_k=Ax_{k-1}x0,x1=Ax0,x2=Ax1,...,xk=Axk−1
假设
∣λ1∣≥∣λ2∣≥...≥∣λn∣|\lambda_1|\ge|\lambda_2|\ge...\ge|\lambda_n|∣λ1∣≥∣λ2∣≥...≥∣λn∣
对应额线性无关特征向量
u1,u2,...,unu_1,u_2,...,u_nu1,u2,...,un
则
x0=a1u1+a2u2+...,+anunx_0=a_1u_1+a_2u_2+...,+a_nu_nx0=a1u1+a2u2+...,+anun
x1=a1Au1+a2Au2+...,+anAunx_1=a_1Au_1+a_2Au_2+...,+a_nAu_nx1=a1Au1+a2Au2+...,+anAun
xk=a1Aku1+a2Aku2+...,+anAkunx_k=a_1A^ku_1+a_2A^ku_2+...,+a_nA^ku_nxk=a1Aku1+a2Aku2+...,+anAkun
=a1λ1ku1+a2λ2ku2+...,+anλnkun=a_1\lambda_1^ku_1+a_2\lambda_2^ku_2+...,+a_n\lambda_n^ku_n=a1λ1ku1+a2λ2ku2+...,+anλnkun
=a1λ1k[u1+a2a1(λ2λ1)ku2+...+ana1(λnλ1)kun]=a_1\lambda_1^k[u_1+\frac{a_2}{a_1}(\frac{\lambda_2}{\lambda_1})^ku_2+...+\frac{a_n}{a_1}(\frac{\lambda_n}{\lambda_1})^ku_n]=a1λ1k[u1+a1a2(λ1λ2)ku2+...+a1an(λ1λn)kun]
当k充分大时
xk=a1λ1k[u1+ϵk]x_k=a_1\lambda_1^k[u_1+\epsilon_k]xk=a1λ1k[u1+ϵk]
xk→a1λ1ku1x_k\to a_1\lambda_1^ku_1xk→a1λ1ku1
xk≈a1λ1ku1x_k\approx a_1\lambda_1^ku_1xk≈a1λ1ku1
xk+1≈a1λ1k+1u1x_{k+1}\approx a_1\lambda_1^{k+1}u_1xk+1≈a1λ1k+1u1
λ1≈xk+1,jxk,j\lambda_1\approx\frac{x_{k+1,j}}{x_{k,j}}λ1≈xk,jxk+1,j
在实际计算的时候,我们需要规范化
yt+1=Axty_{t+1}=Ax_tyt+1=Axt
xt+1=yt+1∣∣yt+1∣∣x_{t+1}=\frac{y_{t+1}}{||y_{t+1}||}xt+1=∣∣yt+1∣∣yt+1
其中
∣∣x∣∣||x||∣∣x∣∣为无穷范数
输入:含有n个结点的有向图,有向图转移矩阵为MMM,系数为ddd,初始向量x0x_0x0计算精度ϵ\epsilonϵ
输出:有向图的PageRankR
(1)(1)(1)令t=0t=0t=0,选择初始向量x0x_0x0
(2)(2)(2)计算有向图的一般转移矩阵AAA
A=dM+1−dnEA=dM+\frac{1-d}{n}EA=dM+n1−dE
(3)(3)(3)迭代并规范化结果
yt+1=Axty_{t+1}=Ax_tyt+1=Axt
xt+1=yt+1∣∣yt+1∣∣x_{t+1}=\frac{y_{t+1}}{||y_{t+1}||}xt+1=∣∣yt+1∣∣yt+1
(4)(4)(4)∣∣xt+1−xt∣∣<ϵ||x_{t+1}-x_t|| \lt \epsilon∣∣xt+1−xt∣∣<ϵ,令R=xtR=x_tR=xt,停止
(5)(5)(5)否则t=t+1t=t+1t=t+1执行(3)(3)(3)
(6)(6)(6)对RRR进行规范化处理,使其表示概率分布
代数算法
按照定义
R=dMR+1−dn1R=dMR+\frac{1-d}{n}\pmb1R=dMR+n1−d111
则
(I−dM)R=1−dn1(I-dM)R=\frac{1-d}{n}\pmb 1(I−dM)R=n1−d111
R=(I−dM)−11−dn1R=(I-dM)^{-1}\frac{1-d}{n}\pmb 1R=(I−dM)−1n1−d111
576

被折叠的 条评论
为什么被折叠?



