0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

啥是佩奇排名算法?通过动画来理解进行计算的具体流程

电子工程师 来源:lq 2019-01-28 09:44 次阅读

佩奇排名介绍

佩奇排名是根据页面之间的链接结构计算页面的值的一种算法。下面我们通过动画来理解进行计算的具体流程。

假设一个正方形表示一个 WEB 页面,一个箭头表示一个页面之间的链接。

此图表明下面 3 页包含指向上面 1 页的链接

在佩奇排名算法中,网页指向的链接越多,页面被确定为越重要。

因此,在这里,确定首页最重要。

确定首页最重要

实际上,每个页面的重要性都是通过计算来量化的。

基本的计算方法思想

1.未链接的页面分数为 1

未链接的页面分数为 1

2.有链接的页面得分为正在链接的页面的总得分

有链接的页面得分为正在链接的页面的总得分

3.当有多个网页的链接时,链接分数均匀分布

链接分数均匀分布

4.来自高度链接网页的链接具有很高的价值

该图中心页面有三个独立页面指向它的链接,所以它的分数是 3 。

首页有一个很大的分数,因为链接是从分数为 3 的页面指向它的。

在动画中的六个页面中,判断最上面的页面是最重要的页面----这是佩奇排名的基本思想。

基本的计算方法思想的循环问题

如果按照顺序来计算每个页面的分数时,那么就会出现问题:以这种方式计算,它将无限循环,并且在循环中的页面得分在任何地方都会很高。

循环的问题可以通过“随机游走模型”的计算方法来解决。

随机游走模型

以小猪佩奇浏览网页为例。

小猪佩奇开始访问「五分钟学算法」中有趣的页面,那么从这个左下角页面开始。

它们跟随一个链接并移动到另外的一个页面,看了一些之后,发现不敢兴趣了,这样就停止了浏览。

然后,又一天,它在小吴的推荐下,在完全不同的页面进行浏览,跟随一个链接并移动到另外的一个页面,一旦失去兴趣就停止浏览。

像这样,重复从某个页面开始浏览,移动几页后便停止的操作,如果从互联网空间一侧进行观察,就像网页浏览的人:重复移动页面几次后传送到一个完全不同的页面。

量化随机游走模型

假设1 - α代表选择当前页面中的一个链接的概率。

α代表该人将传送到其他页面的概率。

现在用随机游走模型 处理上述的循环问题。

如果总页面访问次数达到1000次之后,使用百分比进行表示:那么这个值就表示“在某个时间点查看页面的概率”。

更实用的计算方法

如图所示,现在来尝试计算复杂的链接网络中每个页面的分数。

现在均匀设置分数,使总分加起来为 1 。而后根据网页浏览者的移动,来计算每个页面的概率。

移动 n次时出现在 A 中的概率表示未PAn,移动 n 次时出现在 B 中的概率表示未PBn。

举一个例子,在移动 1 次之后求在 A 的概率PA 1。

在 C 选择移动的概率是1-α。

其中,移动到 A 的一种场景是,C 中的佩奇选择了移动而不是传送。另外,这里选择了 A 而不是 B 作为目的地。

并且,根据上面的当有多个网页的链接时,链接分数均匀分布这条规则,从 A 或 B 选择 A 的概率是 0.5 。

因此,从 C 移动到 A 的概率是PC0 ✖️ (1-α) ✖️ 0.5。

A 被选为传送目标的概率是 0.25

A 被选为传送目标的概率是 0.25 ,根据前面的理论:在 A、B、C、D 中小佩奇选择传送的概率为α。因此,通过传送移动到 A 的概率为α ✖️ 0.25。 所以,移动一次后在 A 的概率为 PA1 = PC0 ✖️ ( 1 - α ) ✖️ 0.5 + α ✖️ 0.25

其中PC0 = 0.25,α = 0.15,代入计算后PA1 = 0.14375。

这样,通过计算后 B 、 C 、D 页的概率也更新了。

B 、 C 、D 页的概率也更新了

上面在移动 1 次之后这四个页面的概率更新情况,根据上述相同的方法计算 2 次后小佩奇浏览在每个页面的概率。

移动 2 次后

同样的,经过大量的移动,在每个页面上的概率逐渐趋于固定值。当数值固定是,计算也就完成了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68497
  • 算法
    +关注

    关注

    23

    文章

    4459

    浏览量

    90818
  • 计算方法
    +关注

    关注

    0

    文章

    16

    浏览量

    10227

原文标题:你知道“啥是佩奇”,却不一定了解佩奇排名算法

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OpenHarmony实战开发-如何实现组件动画

    ArkUI为组件提供了通用的属性动画和转场动画能力的同时,还为一些组件提供了默认的动画效果。例如,List的滑动动效,Button的点击动效,是组件自带的默认动画效果。在组件默认
    的头像 发表于 04-28 15:49 104次阅读
    OpenHarmony实战开发-如何实现组件<b class='flag-5'>动画</b>。

    插座TS15-W(15A) 4个 这型号怎么理解?现在的代替型号是

    插座TS15-W(15A)4个这型号怎么理解?现在的代替型号是
    发表于 04-16 10:50

    鸿蒙开发之发动画

    动画的原理是在一个时间段内,多次改变UI外观,由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画。UI的一次改变称为一个动画帧,对应一次屏幕刷新,而决定动画流畅度的一个重要指
    的头像 发表于 02-01 15:25 191次阅读
    鸿蒙开发之发<b class='flag-5'>动画</b>篇

    计算机视觉:AI如何识别与理解图像

    计算机视觉是人工智能领域的一个重要分支,它致力于让机器能够像人类一样理解和解释图像。随着深度学习和神经网络的发展,人们对于如何让AI识别和理解图像产生了浓厚的兴趣。本文将探讨计算机视觉
    的头像 发表于 01-12 08:27 663次阅读
    <b class='flag-5'>计算</b>机视觉:AI如何识别与<b class='flag-5'>理解</b>图像

    生成AD9653 PN码的算法,如何计算输出的pn码?

    您好,看了关于测试码部分的pn9和pn23伪随机码,想用pn9序列做对齐,但是不太明白如何计算输出的pn码,有没有关于如何生成这个码的具体算法呢?或者具体生成值的表格呢?谢谢!
    发表于 12-01 08:29

    FPGA图像处理_ISP算法DPC流程

    DPC通常作为ISP算法流程里面的第一个模块,原理也很简单。
    的头像 发表于 11-25 10:04 877次阅读
    FPGA图像处理_ISP<b class='flag-5'>算法</b>DPC<b class='flag-5'>流程</b>

    HarmonyOS属性动画开发示例(ArkTS)

    显式动画接口指定由于闭包代码导致的状态变化插入过渡动效。 属性动画:组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户
    发表于 11-23 15:31

    PCL泊松盘采样具体流程

    泊松盘采样 泊松盘采样(possion disk sampling)的特点是任何两个点的距离都不会隔得太近。 比如下图,左边是随机生成的点,右边是泊松盘采样生成的点。 具体流程如下: 1、设定好两个
    的头像 发表于 11-21 17:42 452次阅读
    PCL泊松盘采样<b class='flag-5'>具体</b><b class='flag-5'>流程</b>

    理解Mahony滤波算法的实现过程

    进行9轴姿态解算时,我深深地感受到对四元数与姿态阵之间关系的理解是非常重要的。在此之前,我检索了网络文章,并记录了《MEMS_惯性传感器09 - Mahony姿态解算算法详解》、《MEMS_惯性传感器
    的头像 发表于 11-13 10:55 762次阅读
    <b class='flag-5'>理解</b>Mahony滤波<b class='flag-5'>算法</b>的实现过程

    洞悉 Omniverse:Reallusion 通过双向实时同步和 OpenUSD 支持改进角色动画制作流程

    的创作者和开发者都可以通过 iClone Omniverse Connector 的更新改进他们的工作流程。 此次升级不仅实现了无缝协作,还为使用 NVIDIA Omnive
    的头像 发表于 10-21 16:35 239次阅读
    洞悉 Omniverse:Reallusion <b class='flag-5'>通过</b>双向实时同步和 OpenUSD 支持改进角色<b class='flag-5'>动画</b>制作<b class='flag-5'>流程</b>

    理解STM32控制中常见的PID算法

    理解STM32控制中常见的PID算法
    的头像 发表于 10-17 17:28 1727次阅读
    <b class='flag-5'>理解</b>STM32控制中常见的PID<b class='flag-5'>算法</b>

    不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)

    概念的理解程度,那么本书就是为你编写的。本书还可供初中和高中教师用来通过开发项目向学生介绍编程。 本书内容: 本书旨在让你成为优秀的程序员,具体地说,是优秀的Python程序员。通过
    发表于 09-13 16:41

    如何使用软件算法计算CRC-16/8的结果

    - NUC240 - LQFP100 V1.0 该示例代码演示如何使用软件算法计算CRC-16/8的结果,并使用指定的CRC-32/16/8查询表更有效地查找CRC的结果。 您可以在下列时间下载
    发表于 08-31 09:50

    自动驾驶 RRT算法理解

    RRT 算法是一种对状态空间随机采样的算法通过对采样点进行碰撞检测,避免了对空间的精确建模带来的大计算量,能够有效地解决高维空间和复杂约束
    发表于 07-28 15:45 1468次阅读
    自动驾驶 RRT<b class='flag-5'>算法</b>原<b class='flag-5'>理解</b>析

    如何在OpenHarmony上实现逐帧动画

    逐帧动画是常见的一种动画呈现形式,本例就为大家介绍如何通过 translate(),setInterval(),clearAllInterval() 等方法实现逐帧动画
    的头像 发表于 06-18 15:14 508次阅读
    如何在OpenHarmony上实现逐帧<b class='flag-5'>动画</b>?