PageRank算法

目录:

  1. 基本思想
  2. 算法原理
  3. PR值计算方法

 

1.基本思想

PageRank,即网页排名,是Google用来标识网页的等级或重要性的一种算法。

最早的搜索引擎采用的是 分类目录 的方法,即通过人工对网页进行分类并整理出高质量的网站。

随着网页数目的急剧增大,这种方法显然无法实施。于是,搜索引擎进入了 文本检索 的时代,即通过计算用户的查询语句与网页内容的相关程度来返回搜索结果。比如通过向量空间模型将输入的检索词和文件转换成向量,通过计算两个向量的夹角偏差程度(一般采用余弦距离)来衡量相关性。这种方法虽然能处理大量网页,但是效果却并不是很好,比如存在一些作弊行为:某些网页重复倒腾某些关键词从而使自己的搜索排名靠前。

于是,谷歌的两位创始人,当时还是美国斯坦福大学研究生的佩奇 (Larry Page) 和布林 (Sergey Brin) 开始了对网页排序问题的研究。他们受学术界对学术论文重要性的评估方法(论文引用次数)的启发,提出了PageRank算法。

PageRank的核心思想其实十分简单,概括如下:

  1. 如果一个网页被很多其它网页链接到,说明这个网页很重要,它的PageRank值也会相应较高;
  2. 如果一个PageRank值很高的网页链接到另外某个网页,那么那个网页的PageRank值也会相应地提高。

2.算法原理

2.1 普遍情况

首先,PageRank算法预先给每个网页一个PR值(PR值指代PageRank值),PR值在物理意义上为一个网页被访问的概率,所以一般是1/N,其中N为网页总数。

另外,所有网页的PR值的和一般为1。(如果实在不为1也不是不行,最后算出来的不同网页之间PR值的大小关系仍然是正确的,只是这个数值不能直接地反映概率罢了。)

接着,运用下面的算法不断迭代计算,直至达到平稳分布为止。

迭代算法到底是如何进行的呢?下面我们给出一个具体的例子:

互联网中的众多网页可以看成一个有向图,箭头的指向即为链接的链入,如下图所示有4个网页:

sample1

根据上图,我们可以得到A的PR值为:

QQ截图20170329200947

但是从图中可以看出,除了C只有A这一个出口外,B和D都不止一个出口,所以上面的那个公式并不是非常正确。举个实际的例子,一个用户正在浏览网页B,那么接下来他去往网页A和网页D的概率在统计学上应该是一样的,所以A的PR值应该表示为:

QQ截图20170329201724

2.2 特殊情况(没有出链)

网络中不乏一些没有出链的网页,如下图:

sample2

其中,网页C没有出链,也就是说网页C对其他网页没有PR值的贡献,我们不喜欢这种“自私”的网页(其实是为了满足 Markov 链的收敛性),于是设定其对所有网页(包括它自己)都有出链,则此图中A的PR值表示为:

QQ截图20170329202405

2.3 特殊情况(出链循环圈)

网络中还存在这样的网页:只对自己有出链,或者几个网页的出链形成一个循环圈。那么在不断迭代的过程中,这一个或几个网页的PR值将只增不减,这显然是不合理的。

如下图中的C就只对自己有出链:

sample3

那么如何解决这个问题呢?我们假设某人正在浏览网页C,显然他不会一直停留在网页C,他可能会随机地输入一个网址从而去往另一个网页,并且其跳转到每个网页的概率是一样的。

于是此图中A的PR值表示为:

QQ截图20170329203135

 

综上,一般情况下,一个网页的PR值计算公式如下:

QQ截图20170329203314

其中,Mpi是所有对pi网页有出链的网页集合,L(pj)是网页pj的出链数目,N是网页总数,α一般取0.85。

根据上面的公式,我们就可以计算出每个网页的PR值,在不断迭代并趋于平稳的时候,即为最终结果。

3.PR值计算方法

 

 

参考文献:

  1. PageRank算法–从原理到实现
  2. 安逸轩博客

转载于:https://www.cnblogs.com/fhsy9373/p/7072166.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值