PageRank算法是图的链接分享的代表性算法,属于图数据上的无监督学习方法。
PageRank可以定义在任意有向图上,后来被应用到社会影响力分析、文本摘要等多个问题。
是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为。
在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,这时各个结点的平稳概率值就是其PageRank值,表示结点的重要度。
PageRank是递归定义的,PageRank的计算可以通过迭代算法进行。
一、PageRank定义
1、基本想法
历史上,PageRank算法作为计算机互联网网页重要度的算法被提出。PageRank是定义在网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,整体构成一个向量。
PageRank值越高,网页就越重要,在互联网搜索的排序中可能就被排在前面。
PageRank表示这个马尔可夫链的平稳分布。
每个网页的PageRank值就是平稳概率。
例如:
PageRank的计算可以在互联网的有向图上进行,通常是一个迭代过程。
先假设一个初始分布,通过迭代,不对计算所有网页的PageRank值,直到收敛为止。
2、有向图和随机游走模型
(1)有向图
定义
(2)随机游走模型
注意转移矩阵具有性质:
在有向图上的最忌游走形成马尔可夫链。也就是说,随机游走者每经一个单位时间转移一个状态。
在下图的有向图上可以定义随机游走模型:
3、PageRank的基本定义
PageRank的基本定义
定理
4、PageRank的一般定义
二、PageRank的计算
1、迭代算法
PageRank的迭代算法
2、幂法
幂法是一个常用的PageRank计算方法,通过近似计算矩阵的主特征值和主特征训练求得有向图的一般PageRank。
幂法主要用于近似计算矩阵的主特征值和主特征向量。
- 主特征值是指绝对值最大的特征值。
- 主特征向量是其对应的特征向量。
注意:特征向量不是唯一的,只是其方向是确定的,乘上任意系数还是特征向量。
假设要求n阶矩阵A的主特征值和主特征向量,采用下面的步骤:
计算一般PageRank的幂法
3、代数算法
代数算法通过一般转移矩阵的逆矩阵计算求有向图的一般PageRank