进击数据挖掘十大算法(七):PageRank
引言
历史上,PageRank算法作为计算互联网网页重要度的算法被提出。PageRank是定义在网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,PageRank值越高,网页就越重要,在互联网搜索的排序中可能就被排在前面。
假设互联网是一个有向图,在其基础上定义随机游走模型,即一阶马尔可夫链,表示网页浏览者在互联网上随机浏览网页的过程。假设浏览者在每个网页依照连接出去的超链接以等概率跳转到下一个网页,并在网上持续不断进行这样的随机跳转,这个过程形成一阶马尔可夫链。PageRank表示这个马尔可夫的平稳分布。每个网页的PageRank值就是平稳概率。
直观上,一个网页,如果指向该网页的超链接越多,随即跳转到该网页的概率也就越高,该网页的PageRank值就越高,这个网页也就越重要。PageRank值依赖于网络的拓扑结构,一旦网络的拓扑确定,PageRank值就确定。
一、随机游走模型
给定一个含有
第
注意转移矩阵具有性质:
在有向图上的随机游走形成马尔可夫链。也就是说,随机游走者没经一个单位时间转移一个状态,如果当前时刻在第
随机游走在某个时刻
二、PageRank的基本定义
给定一个包含
则极限
存在,极限向量
定义
平稳分布
其中,
显然有
这里
定理1 不可约且非周期的有限状态马尔可夫链,有唯一平稳分布存在,并且当时间趋于无穷时状态分布收敛于唯一的平稳分布。
三、PageRank的一般定义
一般的有向图未必满足强连通且非周期性的条件。比如在互联网,大部分网页没有连接出去的超链接,也就是说从这些网页无法跳转到其他网页,所以
给定一个含有
式中
上式第一项表示(状态分布是平稳分布时)依照状态转移矩阵
四、PageRank的计算
4.1 迭代算法
给定一个含有
的极限向量
算法4.1 (
输入:含有
个结点的有向图,转移矩阵 ,阻尼因子 ,初始向量 ; 输出:有向图的
向量 。
- 令
- 令
- 计算
- 如果
与 充分接近,令 ,停止迭代。
- 如果
- 否则,令
,执行步骤(2)。
- 否则,令
4.2 幂法
幂法(power method)是一个常用的
幂法主要用于近似计算矩阵的主特征值和主特征向量。主特征值是指绝对值最大的特征值,主特征向量是其对应的特征向量。注意特征向量不是唯一的,只是其方向是确定的,乘上任意系数还是特征向量。
假设要求
首先,任取一个初始的
然后,假设矩阵
对应的
这
于是,可以将初始向量
得到
接着,假设矩阵
由于
这里
说明当
于是主特征值
其中
在实际计算时,为了避免出现绝对值过大或过小的情况,通常在每步迭代后即进行规范化,将向量除以范数,即
现在回到计算一般
转移矩阵可以写作
其中 Perron-Frobenius
定理,一般
算法4.2 (计算一般
输入:含有
个结点的有向图,有向图的转移矩阵 ,系数 ,初始向量 ,计算精度 ; 输出:有向图的
- 令
,选择初始向量
- 令
- 计算有向图的一般转移矩阵
- 计算有向图的一般转移矩阵
- 迭代并规范化结果向量
- 当
时,令 ,停止迭代
- 当
- 否则,令
,执行步(c)
- 否则,令
- 对
进行规范化处理,使其表示概率分布
- 对
4.3 代数算法
代数算法通过一般转移矩阵的逆矩阵计算求有向图的一般
按照一般
于是,
这里
五、Reference
- 李航《统计学习方法》