目录

算法简介

算法原理

简单实现

优缺点

算法简介

PageRank算法基于 “从许多优质的网页链接过来的网页,必定还是优质网页”的回归关系,来判定网页的重要性
 
有以下两个影响因素:
数量因素 :一 个页面节点接收到的入链数量越多,这个页面越重要
质量因素:指向页面 A 的入链质量不同,越是质量高的页面指向页面 A ,则页面 A 越重要

 

算法原理

假设一个由4个网页组成的群体:A,B,C和D。如果所有页面都只链接至A,那么A的PR(PageRank)值将是B,C及D的Pagerank总和。
链接算法之PageRank算法原理和应用
 
重新假设B链接到A和C,C只链接到A,并且D链接到全部其他的3个页面。一个页面总共只有一票。所以B给A和C每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

链接算法之PageRank算法原理和应用

在一般情况下,一个网页的PR值计算如下:(其中Mpi是所有对pi网页有出链的网页集合,L(pj)是网页pj出链数目,N是网页总数,α一般取0.85(很多论文都取0.85),其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率)

链接算法之PageRank算法原理和应用

下图是A、B、C、D四个网页的链接关系,我们以此为例,对PageRank算法的原理再进行解析:

链接算法之PageRank算法原理和应用

根据上式,我们可以用一个矩阵来表示这张图的出链入链关系,Sij=0表示j网页没有对i网页的出链

链接算法之PageRank算法原理和应用

E为所有分量都为 1 的列向量,接着定义矩阵A:

链接算法之PageRank算法原理和应用

则PR值的计算如下,其中Pn为第n次迭代时各网页PR值组成的列向量

链接算法之PageRank算法原理和应用

简单实现

链接算法之PageRank算法原理和应用

为了方便计算我们用一个简化的公式对上图所示的三个网页进行了排序。公式:

链接算法之PageRank算法原理和应用

PR(A) 是页面APR值,PR(Ti)是页面TiPR值,在这里,页面Ti是指向A的所有页面中的某个页面,C(Ti)是页面Ti的出度,也就是Ti指向其他页面的边的个数,d 为阻尼系数(上面的α)。

假设每个页面的PR初始值为1d0.5

页面A、B、CPR值计算如下:

链接算法之PageRank算法原理和应用

链接算法之PageRank算法原理和应用

链接算法之PageRank算法原理和应用

迭代计算12轮之后,各个页面的PR值:

链接算法之PageRank算法原理和应用

可知重要性排名:C>A>B

优缺点

PageRank算法的优点:

  • 从全局出发的度量以及非查询相关的特性,因此用户在查询时,不需要通过实时计算,搜索效率高。
  • 具有一定的反作弊能力,一个网页的拥有者很难将重要网页的链接指向自己的网页。

PageRank算法的缺点:

  • 没有考虑时间问题。一个网页存在时间越久,指向它的链接越多,它的PageRank值就越高,使得一些新的高质量网页在搜索中不能获得高排名。
  • 由于非查询相关特性,查询结果可能发生偏离

相关文章: