简介
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模型
引入一个随机跳转概率$eta$,每次浏览者都有$1-eta$的概率沿着链接走,有$eta$的概率重新随机的选择一个新的起始点。
其中 Google matrix 为