详解PageRank算法

简介

PageRank算法,是一种网页排名算法。在组建搜索引擎时,爬下来的数据从网页的角度来看,将所有的连接指向放到一起,可以构成一个图。PageRank,就是在这图上做文章。利用PageRank算法,得到PR(PageRank)值,当一个网页的PR值越大,则说明该网页越受欢迎。

算法原理

基本思想

"重要性",即如果两个网页的链入的网页数相同的,如果网页1的连入的页面重要性较高,则认为网页1比网页2重要

随机游走模型

假设有一个永不停息,在浏览器上浏览网页的人,他随机的点击一个链接继续访问下一个网页,当达到稳态的时候(即经过了足够长的时间),他会正在看哪个网页?

这等价于,在静态情况下,每个网页$v$都有一个被访问的概率$p(v)$,它可以视为网页的重要程度。

$p(v)=\sum{E[u,v]*p(u)/d_u}$

其中$d_u$时网页$u$的"出度",$\sum{p(u)}=1$

我们可以令$L[u,v]={E[u,v] \over d_u}$

此时的公式就改写为$p[v]=\sum{L[u,v]p[u]}$,写成矩阵形式

当节点为悬挂节点时,,即出度为0的节点,修正为$L[u,v]={1 \over N}$

模型存在的问题

上诉随机游走模型有稳态解的条件:强连通,无圈,即形成的有向图通过链接方式访问到每一个网页

破坏条件:

  • 图中有圈
  • 有入度或出度为0的点

改进后PageRank模型

引入一个随机跳转概率$\beta$,每次浏览者都有$1-\beta$的概率沿着链接走,有$\beta$的概率重新随机的选择一个新的起始点。

其中 Google matrix 为

模型的求解过程

 

posted @ 2019-11-19 21:52  simpleknight  阅读(2900)  评论(0编辑  收藏  举报