PageRank算法

PageRank,网页排名,又称网页级别,传说中是PageRank算法拯救了谷歌,它是根据页面之间的超链接计算的技术,作为网页排名的要素之一。它通过网络浩瀚的超链接关系来确定一个页面的等级。Google把从A页面到B页面的链接解释为A页面给B页面投票,根据投票的来源(甚至来源的来源,即链接到A页面的页面)和投票目标的等级来决定新的等级。简单地说,一个高等级的页面可以使其他低等级页面的等级提升。

PageRank的基本思想:

  对网页的重要程度进行排序,也就是网络中各个节点的重要程度。如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:PR(T)/L(T).

      其中PR(T)为T的PageRank值,L(T)为T的出链数

      则A的PageRank值为一系列类似于T的页面重要性得分值的累加。

   即一个页面的得票数由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票。一个页面的PageRank是由所有链向它的页面(链入页面)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。

PageRank的计算方式:

假设一个由只有4个页面组成的集合:A,B,C和D。如果所有页面都链向A,那么A的PR(PageRank)值将是B,C及D的和。

       继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

      换句话说,根据链出总数平分一个页面的PR值。

   由于存在一些出链为0,也就是那些不链接任何其他网页的网, 也称为孤立网页,使得很多网页能被访问到。因此需要对 PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数(damping factor)q, q一般取值q=0.85。

      其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。 1- q= 0.15就是用户停止点击,随机跳到新URL的概率)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。

      最后,即所有这些被换算为一个百分比再乘上一个系数q。由于下面的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每个页面一个最小值。

     这个公式就是.S Brin 和 L. Page 在《The Anatomy of a Large- scale Hypertextual Web Search Engine Computer Networks and ISDN Systems 》定义的公式。

     所以一个页面的PageRank是由其他页面的PageRank计算得到。Google不断的重复计算每个页面的PageRank。如果给每个页面一个随机PageRank值(非0),那么经过不断的重复计算,这些页面的PR值会趋向于正常和稳定。这就是搜索引擎使用它的原因。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

使用Unity3D和TensorFlow教AI投篮

在本文中,我们将深入探讨如何使用Unity3D和TensorFlow来教AI执行简单的游戏任务:投篮。完整的源代码可以在文末访问Github链接。

29130
来自专栏杨建荣的学习笔记

通过shell脚本来得到不稳定的执行计划(r4笔记第40天)

生产系统中总是可能碰到各种各样的sql问题,其中大部分问题都和执行计划有关,执行计划出现问题有很多原因导致,比如统计信息过旧,比如数据的分布极不均匀等等都会导致...

29750
来自专栏华章科技

使用python抓取婚恋网用户数据并用决策树生成自己择偶观

之前在世纪佳缘上爬取过类似的数据,总体的感觉是上面的用户数据要么基本不填要么一看就很假,周围的一些老司机建议可以在花田网上看下,数据质量确实高很多,唯一的缺点就...

9520
来自专栏编程

基于Python库Face_Recognition动手DIY人脸识别

0X00 前言 最近使用iPhone x,把人脸识别代入了我们的生活中。前段时间了解了一个Python的一个开元函数库,并对其进行了分析、学习和实践,那么今天我...

37050
来自专栏吉浦迅科技

NVIDIA®Jetson嵌入式平台开发工具JetPack 3.0正式发布

JetPack(Jetson SDK)是一个按需的一体化软件包,捆绑了NVIDIA®Jetson嵌入式平台的开发人员软件。JetPack 3.0包括对Jetso...

41690
来自专栏量子位

手把手教你训练一个秒杀科比的投篮AI,不服来练 | 附开源代码

在这篇教程中,谷歌工程师Abe Haskins用简洁易懂的语言,教你用Unity3D和TensorFlow生产一只会投篮的AI。

15500
来自专栏智能算法

TensorFlow Lite在Kika Keyboard中的应用案例分享

『基于 AI 技术变革沟通,让世界沟通更简单』一直是 Kika keyboard 最重要的使命。从2016年开始,Kika 技术团队一直致力于 AI 技术在移动...

24340
来自专栏AI研习社

Github 项目推荐 | 面向多设备和多框架的英特尔开源编译器 —— nGraph

英特尔近期开源了深度学习框架编译器 nGraph。nGraph 是一款开源 C++ 库,编译器和运行器,它能够让数据科学家能够专注于数据科学研发,不需要担心如何...

13130
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(140)-库存进出策略

如何实现先进先出? 按照批次管理对仓库物料实施管理即可。即明确批次管理标准,入库产品按规定给其相应批次标识,并按照物料类别、批次号分层或分区存放,发料时,严格按...

33440
来自专栏人工智能LeadAI

PageRank算法原理与实现

PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(...

13030

扫码关注云+社区

领取腾讯云代金券