《统计学习方法》(第二十一章)——PageRank算法

PageRank的定义

基本想法

  PageRank算法作为计算互联网网页重要程度的算法被提出,它定义网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,值越大重要程度就越大。
  假设互联网是一个有向图,在其基础上定义随机游走模型,即一阶马尔可夫链,表示网页浏览者在互联网上随机浏览网页的过程,假设浏览者在每个网页依照连接出去的超链接以等概率跳转到下一个网页,并在网页上持续不断进行这样的随机跳转,这个过程形成一阶马尔可分夫链,最后会收敛到一个固定值

有向图和随机游走模型

  • 随机游走模型
    给定一个含有n个结点的有向图,在有向图上定义随机游走模型,即一阶马尔可夫链,其中结点表述状态,有向边表示状态之间的转移,假设从一个节点到通过有向边相连的所有结点的转移概率相等,具体地,转移矩阵是一个n阶矩阵 M M M
    M = [ m i j ] n × n M=[m_{ij}]_{n×n} M=[mij]n×n
    i i i行第 j j j列的元素 m i j m_{ij} mij取值规则如下:如果节点 j j j k k k个有向边连出,并且节点 i i i是其连出的一个结点,则 m i j = 1 k m_{ij}=\frac{1}{k} mij=k1.否则 m i j = 0 m_{ij}=0 mij=0
    ∑ i = 1 n m i j = 1 \sum\limits_{i=1}^nm_{ij}=1 i=1nmij=1
    随机游走在某时刻 t t t访问各个结点的概率分布就是马尔可夫链在时刻 t t t的状态分布,可以用一个 n n n维向量 R t R_t Rt表示,则
    R t + 1 = M R t R_{t+1}=MR_t Rt+1=MRt

PageRank的基本定义

  给定一个包含 n n n个结点 v 1 , v 2 , . . , v n v_1,v_2,..,v_n v1,v2,..,vn的强联通且非周期的有向图,在有向图定义随机游走模型,即一阶马尔可分链,随机游走的特点是从一个节点到有有向边连出的所有结点的转移概率相等,转移矩阵为 M M M,这个马尔可夫链具有平稳分布 R R R
R = M R R=MR R=MR
平稳分布 R R R称为这个有向图的PageRank,R的各个分量称为各个结点的PageRank值
R = [ P R ( v 1 ) P R ( v 1 ) . . . P R ( v n ) ] (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)
其中
P R ( v i ) ≥ 0 PR(v_i)\ge0 PR(vi)0
∑ i = 1 n P R ( v i ) = 1 \sum\limits_{i=1}^nPR(v_i)=1 i=1nPR(vi)=1
R P ( v i ) = ∑ v j ∈ M ( v i ) P R ( v j ) L ( v j ) RP(v_i)=\sum\limits_{v_j \in M(v_i)}\frac{PR(v_j)}{L(v_j)} RP(vi)=vjM(vi)L(vj)PR(vj)
M ( v i ) M(v_i) M(vi)表示指向结点 v i v_i vi的结点集合, L ( v j ) L(v_j) L(vj)表示结点 v j v_j vj连出的有向边的个数

不可约且非周期的有限状态马尔可夫链,有唯一平稳分布存在,并且当时间趋于无穷时状态分布收敛于唯一的平稳分布

PageRank的一般定义

  给定一个含有 n n n个结点的任意有向图,在有向图定义一个一般的随机游走模型,即一阶马尔可夫链。一般的随机游走模型的转移矩阵由两部分的线性组合组成,一部分是有向图的基本转移矩阵 M M M,表示从从一个结点到其连出的所有结点的转移概率相等,另一部分是完全随机的转移矩阵,表示从任意一个结点到任意一个结点的转移概率为 1 n \frac{1}{n} n1,线性组合系数为阻尼因子 d ( 1 ≤ d ≤ 1 ) d(1\le d \le 1) d(1d1)这个一般随机游走的马尔可夫链存在平稳分布,记作 R R R定义平稳分布向量 R R R为这个有向图的一般PageRank
R = d M R + 1 − d n 1 R=dMR+\frac{1-d}{n}\pmb1 R=dMR+n1d111决定,其中 1 \pmb 1 111是所有分量为1的n维向量.

PageRank的计算

迭代算法

输入:含有 n n n个结点的有向图,转移矩阵 M M M,阻尼因子 d d d,初始向量 R 0 R_0 R0
输出:有向图PageRank的向量 R R R
( 1 ) (1) (1) t = 0 t=0 t=0
( 2 ) (2) (2)计算
R t + 1 = d M R t + 1 − d n 1 R_{t+1}=dMR_t+\frac{1-d}{n}\pmb1 Rt+1=dMRt+n1d111
( 3 ) (3) (3)如果 R t + 1 R_{t+1} Rt+1 R t R_t Rt充分接近,令 R = R t + 1 R=R_{t+1} R=Rt+1,停止
( 4 ) (4) (4)否则 t = t + 1 t=t+1 t=t+1转向 ( 2 ) (2) (2)

幂法

任取初始向量 x 0 x_0 x0,构造如下的一个 n n n维向量序列
x 0 , x 1 = A x 0 , x 2 = A x 1 , . . . , x k = A x k − 1 x_0,x_1=Ax_0,x_2=Ax_1,...,x_k=Ax_{k-1} x0,x1=Ax0,x2=Ax1,...,xk=Axk1
假设
∣ λ 1 ∣ ≥ ∣ λ 2 ∣ ≥ . . . ≥ ∣ λ n ∣ |\lambda_1|\ge|\lambda_2|\ge...\ge|\lambda_n| λ1λ2...λn
对应额线性无关特征向量
u 1 , u 2 , . . . , u n u_1,u_2,...,u_n u1,u2,...,un

x 0 = a 1 u 1 + a 2 u 2 + . . . , + a n u n x_0=a_1u_1+a_2u_2+...,+a_nu_n x0=a1u1+a2u2+...,+anun
x 1 = a 1 A u 1 + a 2 A u 2 + . . . , + a n A u n x_1=a_1Au_1+a_2Au_2+...,+a_nAu_n x1=a1Au1+a2Au2+...,+anAun
x k = a 1 A k u 1 + a 2 A k u 2 + . . . , + a n A k u n x_k=a_1A^ku_1+a_2A^ku_2+...,+a_nA^ku_n xk=a1Aku1+a2Aku2+...,+anAkun
= a 1 λ 1 k u 1 + a 2 λ 2 k u 2 + . . . , + a n λ n k u n =a_1\lambda_1^ku_1+a_2\lambda_2^ku_2+...,+a_n\lambda_n^ku_n =a1λ1ku1+a2λ2ku2+...,+anλnkun
= a 1 λ 1 k [ u 1 + a 2 a 1 ( λ 2 λ 1 ) k u 2 + . . . + a n a 1 ( λ n λ 1 ) k u n ] =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充分大时
x k = a 1 λ 1 k [ u 1 + ϵ k ] x_k=a_1\lambda_1^k[u_1+\epsilon_k] xk=a1λ1k[u1+ϵk]
x k → a 1 λ 1 k u 1 x_k\to a_1\lambda_1^ku_1 xka1λ1ku1
x k ≈ a 1 λ 1 k u 1 x_k\approx a_1\lambda_1^ku_1 xka1λ1ku1
x k + 1 ≈ a 1 λ 1 k + 1 u 1 x_{k+1}\approx a_1\lambda_1^{k+1}u_1 xk+1a1λ1k+1u1
λ 1 ≈ x k + 1 , j x k , j \lambda_1\approx\frac{x_{k+1,j}}{x_{k,j}} λ1xk,jxk+1,j
在实际计算的时候,我们需要规范化
y t + 1 = A x t y_{t+1}=Ax_t yt+1=Axt
x t + 1 = y t + 1 ∣ ∣ y t + 1 ∣ ∣ x_{t+1}=\frac{y_{t+1}}{||y_{t+1}||} xt+1=yt+1yt+1
其中
∣ ∣ x ∣ ∣ ||x|| x为无穷范数
输入:含有n个结点的有向图,有向图转移矩阵为 M M M,系数为 d d d,初始向量 x 0 x_0 x0计算精度 ϵ \epsilon ϵ
输出:有向图的PageRankR
( 1 ) (1) (1) t = 0 t=0 t=0,选择初始向量 x 0 x_0 x0
( 2 ) (2) (2)计算有向图的一般转移矩阵 A A A
A = d M + 1 − d n E A=dM+\frac{1-d}{n}E A=dM+n1dE
( 3 ) (3) (3)迭代并规范化结果
y t + 1 = A x t y_{t+1}=Ax_t yt+1=Axt
x t + 1 = y t + 1 ∣ ∣ y t + 1 ∣ ∣ x_{t+1}=\frac{y_{t+1}}{||y_{t+1}||} xt+1=yt+1yt+1
( 4 ) (4) (4) ∣ ∣ x t + 1 − x t ∣ ∣ < ϵ ||x_{t+1}-x_t|| \lt \epsilon xt+1xt<ϵ,令 R = x t R=x_t R=xt,停止
( 5 ) (5) (5)否则 t = t + 1 t=t+1 t=t+1执行 ( 3 ) (3) (3)
( 6 ) (6) (6) R R R进行规范化处理,使其表示概率分布

代数算法

按照定义
R = d M R + 1 − d n 1 R=dMR+\frac{1-d}{n}\pmb1 R=dMR+n1d111

( I − d M ) R = 1 − d n 1 (I-dM)R=\frac{1-d}{n}\pmb 1 (IdM)R=n1d111
R = ( I − d M ) − 1 1 − d n 1 R=(I-dM)^{-1}\frac{1-d}{n}\pmb 1 R=(IdM)1n1d111

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值