1、 PageRank算法概述:

page rank,或PageRank,也称为PageRank、Google left rank或PageRank。

这是谷歌创始人拉里•佩奇(Larry·;page)和谢尔盖•布林(Sergey·;Brin)在1997年构建早期搜索系统原型时提出的链接分析算法。自从Google在商业领域取得空前成功以来,该算法也成为其他搜索引擎和学术界十分关注的计算模型。目前,许多重要的链路分析算法都是从PageRank算法中派生出来的。PageRank是Google用来识别网页级别/重要性的一种方法,也是Google用来衡量网站质量的唯一标准。在融合了标题和关键字等所有其他因素后,谷歌通过PageRank调整搜索结果,使那些“排名/重要性”较高的页面可以在其他搜索结果网站中排名更高,从而提高搜索结果的相关性和质量。它的级别是从0到10,10是满分。公关价值越高,页面就越受欢迎(也越重要)。例如:PR值为1的站点表示该站点不是很受欢迎,而PR值为7到10则表示该站点非常受欢迎(或非常重要)。一般的PR4,甚至是一个好的网站。谷歌把自己网站的公关价值定为10,这说明谷歌是一个非常受欢迎的网站,也可以说这个网站非常重要。

2、 从入站链接数到PageRank:

在PageRank被提出之前,一些研究者已经提出使用网页中的链接数来分析和计算链接。如果一个网页有更多的链接,那么这个网页就更重要。在早期,许多搜索引擎也采用了链接数作为链接分析方法,这对提高搜索引擎的效果也有着显著的作用。PageRank不仅考虑链接数量的影响,还涉及到网页的质量。这两种方法的结合,使网页的重要性得到了更好的评价标准。

对于Internet页面a,PageRank的计算基于以下两个基本条件:

(1) Quantity if:在Web图模型中,如果一个页面节点从其他页面接收到更多的传入链接,那么这个页面就更重要。

(2) 质量如果:链接到页面a的质量不同,高质量的页面将通过链接向其他页面传递许多其他权重。所以高质量的页面指向a页越多,a页就越重要。

3、基本概念

(1)出链

如果在网页A中附加了网页B的超链接B-Link,用户浏览网页A时可以点击B-Link然后进入网页B。上面这种A附有B-Link这种情况表示A出链B。可知,网页A也可以出链C,如果A中也附件了网页C的超链接C-Link。

(2)入链

上面通过点击网页A中B-Link进入B,表示由A入链B。如果用户自己在浏览器输入栏输入网页B的URL,然后进入B,表示用户通过输入URL入链B

(3)无出链

如果网页A中没有附加其他网页的超链接,则表示A无出链

(4)只对自己出链

如果网页A中没有附件其他网页的超链接,而只有他自己的超链接A-Link,则表示A只对自己出链

(5)PR值

一个网页的PR值,概率上理解就是此网页被访问的概率,PR值越高其排名越高。

4、算法原理

PageRank算法[^ref_3]总的来说就是预先给每个网页一个PR值(下面用PR值指代PageRank值),由于PR值物理意义上为一个网页被访问概率,所以一般是1N,其中N为网页总数。另外,一般情况下,所有网页的PR值的总和为1。如果不为1的话也不是不行,最后算出来的不同网页之间PR值的大小关系仍然是正确的,只是不能直接地反映概率了。

预先给定PR值后,通过下面的算法不断迭代,直至达到平稳分布为止。

互联网中的众多网页可以看作一个有向图。下图是一个简单的例子[^ref_4]:

sample1

这时A的PR值就可以表示为:

PR(A)=PR(B)+PR(C)

然而图中除了C之外,B和D都不止有一条出链,所以上面的计算式并不准确。想象一个用户现在在浏览B网页,那么下一步他打开A网页还是D网页在统计上应该是相同概率的。所以A的PR值应该表述为:

PR(A)=PR(B)2+PR(C)1

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

sample1

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

PR(A)=PR(B)2+PR(C)4

然而我们再考虑一种情况:互联网中一个网页只有对自己的出链,或者几个网页的出链形成一个循环圈。那么在不断地迭代过程中,这一个或几个网页的PR值将只增不减,显然不合理。如下图中的C网页就是刚刚说的只有对自己的出链的网页:

sample3

为了解决这个问题。我们想象一个随机浏览网页的人,当他到达C网页后,显然不会傻傻地一直被C网页的小把戏困住。我们假定他有一个确定的概率会输入网址直接跳转到一个随机的网页,并且跳转到每个网页的概率是一样的。于是则此图中A的PR值可表示为:

PR(A)=α(PR(B)2)+(1−α)4

在一般情况下,一个网页的PR值计算如下:

PR(pi)=α∑pj∈MpiPR(pj)L(pj)+(1−α)N

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

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

Google PageRank算法相关推荐

  1. PageRank算法(二)

    原文地址:https://blog.csdn.net/monkey_d_meng/article/details/6556295 说明:这是我学习过程中看到对PageRank来龙去脉解释非常清晰的博客 ...

  2. hadoop上的pageRank算法

    简单的pageRank实现参考:http://wlh0706-163-com.iteye.com/blog/1397694 较为复杂的PR值计算以及在hadoop上的实现:http://deathsp ...

  3. [转]PageRank算法

    原文引自: 原文引自: http://blog.csdn.net/hguisu/article/details/7996185 感谢 1. PageRank算法概述 PageRank,即网页排名,又称 ...

  4. 张洋:浅析PageRank算法

    本文引自http://blog.jobbole.com/23286/ 很早就对Google的PageRank算法很感兴趣,但一直没有深究,只有个轮廓性的概念.前几天趁团队outing的机会,在动车上看 ...

  5. 数据挖掘十大经典算法之——PageRank 算法

    数据挖掘十大经典算法系列,点击链接直接跳转: 数据挖掘简介及十大经典算法(大纲索引) 1. 数据挖掘十大经典算法之--C4.5 算法 2. 数据挖掘十大经典算法之--K-Means 算法 3. 数据挖 ...

  6. PageRank算法并行实现

    算法为王系列文章,涵盖了计算机算法,数据挖掘(机器学习)算法,统计算法,金融算法等的多种跨学科算法组合.在大数据时代的背景下,算法已经成为了金字塔顶的明星.一个好的算法可以创造一个伟大帝国,就像Goo ...

  7. 【白话机器学习】算法理论+实战之PageRank算法

    1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...

  8. SEO算法:如何通过PageRank算法判断SEO排序结果

    想必在做SEO的时候有同学发现相同的网站有两个页面但是排名的名次不同,既然是同一个网站那么应该权重都一样怎么会一个排名前面一个后面呢?在搜索引擎当中每个网页都有对应的页面得分在决定这两个页面排名顺序是 ...

  9. PageRank算法简介及Map-Reduce实现

    PageRank对网页排名的算法,曾是Google发家致富的法宝.以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理. 一.什么是pagerank Pag ...

最新文章

  1. JavaScript中的JS引擎的执行机制
  2. 在Eclipse的CDT:配置和开发Qt5工程
  3. java获取当前tomcat线程pid_java 查看tomcat线程信息(示例代码)
  4. 一线大厂为什么对免费的开源项目这么热衷?
  5. Testng 测试框架源码阅读(一)
  6. [转] 硬盘工具DiskMan使用图解
  7. Linux学习笔记-增量编译(Makefile进一步使用)
  8. 开源GIS(十四)——openlayers通过geoserver中WFS更改要素
  9. 微机实验报告4 数码转换程序实验
  10. C# System.DirectoryServices.DirectoryEntry 域用户验证
  11. SPI读写串行FLASH(W25Q64)
  12. 模电七:集成运算放大器(上)
  13. iscsi对oracle发起程序,windows_2008+Oracle_11g_R2_配置完整版
  14. 网页跳转QQ聊天界面
  15. 电脑网络连接里多了个计算机,怎么样把几台电脑连接在同一个局域网
  16. Layui 表格分页控件
  17. ESXi 6 升级到ESXi 6.5VIB冲突问题
  18. 电子商务毕业论文php,基于PHP的校园电子商务系统的设计与实现.doc
  19. 智能运维监控管理平台技术方案
  20. SAP-ABAP-SO23邮箱地址如何获取

热门文章

  1. HTTP 异步接口自动化测试方案
  2. [转载]神经网络梯度消失与梯度爆炸
  3. 想往模具设计方向发展,可是CAD都不会怎么办?
  4. 2022-2027年中国大豆加工行业市场深度分析及投资战略规划报告
  5. 无盘系统的服务器配置高不高,为什么网吧电脑配置不很高但是很快
  6. 计算机打不开运行软件怎么回事,电脑上软件打不开怎么办(电脑无法运行任何程序)...
  7. Unsupervised learning of digit recognition using spike-timing-dependent plasticity
  8. 【论文写作助手】综述论文行书的思路
  9. NIPS 2017:与李飞飞、哈萨比斯、Ian Goodfellow等7位大牛面对面
  10. 2019南京征信报告办理