PageRank算法

202 阅读3分钟
一、算法定义

​ PageRank 算法作为计算互联网的重要度的算法被提出,它对每个网页给出一正实数,表示网页的重要程度整体构成一个向量,PageRank值越高,网页就越重要,在互联网搜索的排序中可能就排在前面。

如果互联网是一个有向图,在其基础上定义随机游走模型,即一阶马尔可夫链(当前状态只与上一状态有关),表示网页浏览者在互联网上随机浏览网页的过程,假设N个浏览者从N个网页出发,依照链接出去的超链接以等概率跳转到下一个网页,并在网上持续不断进行这样的过程形成一阶马尔可夫链过程。

image.png 如上图所示,表示一个有向图,可视为一个简化的互联网,各网页用一个节点表示,有向边表示网页之间的超链接,边上的权值表示网页之间的跳转概率。如A跳转到C的概率为1/3,A跳转到D的概率为1/3,D跳转到C等等。

一个网页如果指向该网页的超链接越多,随机跳转到该网页的概率也越高,该网页的PageRank值越高,这个网页越重要,PageRank值依赖于网络的拓扑结构,一旦网络的拓扑确定,PageRank值就确定。PageRank的计算依赖有向图进行,通常是一个迭代过程,先假设一个初始分步,通过迭代,不断计算所有网页的PageRank值,直到收敛为止。

PageRank的定义有关于有向图及有向图上随机游走模型,并且定义分为基本定义和一般定义,基本定义对应于理想情况,一般定义对应于现实情况。

1.1 有向图

有向图(directed graph) 记作 G=(V,E),其中V和E分别表示节点和有向边的集合。

强连通图:如果一个有向图从其中任何一个节点出发可以达到其他任何一个节点,则这个有向图是强连通图。

周期性图与非周期性图:如果从有向图的一个节点出发返回到这个结点路径的长度都是一个大于1的k的倍数,那么称这个节点为周期性节点。如果一个有向图不含有周期性节点,则称这个有向图为非周期性图,否则为周期性图。

1.2 随机游走模型

给定一个含有n各节点的有向图,在有向图上定义随机游走模型,即一阶马尔可夫链,其中节点表示状态,有向边表示状态之间的转移,假设从一个节点到通过有向 边相连的所有节点的转移概率相等。具体第,转移矩阵是一个n矩阵M 。

M=[mij]n×nM = [m_{ij}]_{n×n}

image.png

在有向图上的随机游走形成马尔可夫链,即随机游走者每经一个单位时间转移一个结点或状态,下一个时刻的所处的结点(或状态)i的概率只取决上一时刻所处的结点j(或状态),与结点j之前的结点或状态无关(这就是一阶马尔可夫链)。

image.png

image.png

image.png