在实际应用中许多数据都以图(graph)的形式存在,比如,互联网、社交网络都可以看作是一个图。图数据上的机器学习具有理论与应用上的重要意义。 PageRank 算 法是图的链接分析(link analysis)的代表性算法,属于图数据上的无监督学习方法。
PageRank算法最初作为互联网网页重要度的计算方法,1996 年由Page和Brin提出,并用于谷歌搜索引擎的网页排序。事实上,PageRank 可以定义在任意有向图上,后来被应用到社会影响力分析、文本摘要等多个问题。
PageRank算法的基本想法是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为。在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,这时各个结点的平稳概率值就是其PageRank值,表示结点的重要度。PageRank 是递归定义的,PageRank 的计算可以通过迭代算法进行。
本文第1节给出PageRank 的定义,第2节叙述PageRank的计算方法,包括常用的幕法 (power method)。
1.PageRank的定义
1.1 基本想法
历史上,PageRank算法作为计算互联网网页重要度的算法被提出。PageRank是定义在网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,整体构成一个向量,PageRank值越高,网页就越重要,在互联网搜索的排序中可能就被排在前面。
假设互联网是一个有向图,在其基础上定义随机游走模型,即一阶马尔可夫链,表示网页浏览者在互联网上随机浏览网页的过程。假设浏览者在每个网页依照连接出去的超链接以等概率跳转到下一个网页,并在网上持续不断进行这样的随机跳转,这个过程形成一阶马尔可夫链。PageRank表示这个马尔可夫链的平稳分布。每个网页的PageRank值就是平稳概率。
图1表示一个有向图,假设是简化的互联网例,结点
![b20fc323aa09a51e90c181b4666299af.png](https://i-blog.csdnimg.cn/blog_migrate/31aaabdd951289ebfd3d7887c58060ba.png)
直观上,一个网页,如果指向该网页的超链接越多,随机跳转到该网页的概率也就越高,该网页的PageRank值就越高,这个网页也就越重要。一个网页,如果指向该网页的PageRank值越高,随机跳转到该网页的概率也就越高,该网页的PageRank值就越高,这个网页也就越重要。PageRank值依赖于网络的拓扑结构,一旦网络的拓扑(连接关系)确定,PageRank值就确定。
PageRank 的计算可以在互联网的有向图上进行,通常是一个迭代过程。先假设一 个初始分布,通过迭代,不断计算所有网页的PageRank值,直到收敛为止。
下面首先给出有向图及有向图上随机游走模型的定义,然后给出PageRank的基本定义,以及PageRank的一般定义。基本定义对应于理想情况,一般定义对应于现实情况。
1.2 有向图和随机游走模型
1.有向图
定义1 (有向图) 有向图(directed graph)记作
比如,互联网就可以看作是一个有向图,每个网页是有向图的一个结点,网页之间的每一条超链接是有向图的一条边。
从一个结点出发到达另一个结点,所经过的边的一个序列称为一条路径 (path) , 路径上边的个数称为路径的长度。如果一个有向图从其中任何一个结点出发可以到达其他任何一个结点,就称这个有向图是强连通图 (strongly connected graph) 。 图1中的