两个概念模型及算法之间的关系

在介绍具体链接分析算法之前,首先介绍两个概念模型,并对各个链接分析算法之间的关系进行说明,这样有助于读者从宏观角度理解各个算法的基本思路与传承关系。

随机游走模型(Random Surfer Model)

互联网用户在上网时,往往有类似的网络行为:输入网址,浏览页面,然后顺着页面的链接不断打开新的网页。随机游走模型就是针对浏览网页的用户行为建立的抽象概念模型。之所以要建立这个抽象概念模型,是因为包括PageRank 算法在内的很多链接分析算法都是建立在随机游走模型基础上的。

图 6-4 给出了随机游走模型的示意图。在最初阶段,用户打开浏览器浏览第1 个网页,假设我们有一个虚拟时钟用来计时,此时可以设定时间为1,用户在看完网页后,对网页内某个链接指向的页面感兴趣,于是点击该链接,进入第2 个页面,此时虚拟时钟再次计时,时钟走向数字2,如果网页包含了k 个出链,则用户从当前页面跳转到任意一个链接所指向页面的概率是相等的。用户不断重复以上过程,在相互有链接指向的页面之间跳转。如果对于某个页面所包含的所有链接,用户都没有兴趣继续浏览,则可能会在浏览器中输入另外一个网址,直接到达该网页,这个行为称为远程跳转(Teleporting)。假设互联网中共有m 个页面,则用户远程跳转到任意一个页面的概率也是相等的,即为1/m。随机游走模型就是一个对直接跳转和远程跳转两种用户浏览行为进行抽象的概念模型。

下面我们给出一个具体的随机游走模型的例子,为简单起见,该例子并未引入远程跳转行为。

在如图 6-5 所示的例子里,假设互联网由A、B、C 3 个网页构成,其相互链接关系如图中页面节点之间的有向边所示。根据链接关系,即可计算页面节点之间的转移概率,比如对于节点A 来说,只有唯一一个出链指向节点B,所以从节点A 跳转到节点B 的概率为1,对于节点C 来说,其对节点A 和B 都有链接指向,所以转向任意一个其他节点的概率为1/2。

假设在时刻1,用户浏览页面A,之后经由链接进入页面B,然后进入页面C,此时面临两种可能选择,跳转进入页面 A 或者页面B 皆可,两者概率相同,都为1/2。

假设例子中的互联网包含不止 3 个页面,而是由10 个页面构成,此时用户既不想跳回页面A,也不想跳回页面B,则可以按照1/10 的概率跳入其他任意一个页面,即进行远程跳转。

子集传播模型

子集传播模型是从诸多链接分析算法中抽象出来的概念模型(参见图6-6)。其基本思想是在做算法设计时,把互联网网页按照一定规则划分,分为两个甚至是多个子集合。其中某个子集合具有特殊性质,很多算法往往从这个具有特殊性质的子集合出发,给予子集合内网页初始权值,之后根据这个特殊子集合内网页和其他网页的链接关系,按照一定方式将权值传递到其他网页。

本章介绍的一些链接分析算法符合子集传播模型,比如HITS 算法和Hilltop 算法及其衍生算法,在“网页反作弊”一章(第8 章)会看到更多符合此模型的链接分析算法。

子集传播模型是个高度抽象的算法框架,很多算法可以认为是属于此框架的具体实例,即整体思路如上面所描述的流程,通常在以下几个方面各自存在不同。

•如何定义特殊子集合,即在确定子集合内的网页应该有哪些特殊性质,具体算法

规则不同。

•在确定了特殊子集合所具有的性质后,如何对这个特殊子集合内网页给予一定的

初始分值?不同算法打分方式各异。

•从特殊子集合将其分值传播到其他网页时,采取何种传播方式?可传播的距离有

多远?不同算法在此阶段也大都有差异。

注意:子集传播模型是本书作者从具体链接分析算法中归纳出的抽象模型,未见有文献明确提出,请读者阅读时谨慎参考。

链接分析算法之间的关系

到目前为止,学术界已经提出了很多链接分析算法,图6-7 列出了其中影响力较大的一些算法及其相互关系,图中不同算法之间的箭头连接代表算法之间的改进关系,比如SALSA 算法即融合了PageRank 和HITS 算法的基本思路。其他算法所代表的关系与此类似,可在图中明显看出算法间的传承关系。

尽管链接算法很多,但是从其概念模型来说,基本遵循上述小节介绍的随机游走模型和子集传播模型。而从图中可看出,在众多算法中,PageRank 和HITS 算法可以说是最重要的两个具有代表性的链接分析算法,后续的很多链接分析算法都是在这两个算法基础上衍生出来的改进算法。

在本章后续章节中,将详细介绍PageRank 算法、HITS 算法、SALSA 算法、主题敏感PageRank 算法和Hilltop 算法。这些算法大都已被不同的商业搜索引擎所采用,在实际生活中发挥了很重要的作用。对于图6-7 所列出的其他链接分析算法,将在本章末尾简述其原理。

——本段文字节选自《这就是搜索引擎:核心技术详解》

图书详细信息:http://blog.csdn.net/broadview2006/article/details/7179396

两个概念模型及算法之间的关系相关推荐

  1. 数据结构与算法之间的关系

    今天打算学一下数据结构,于是在网上搜索相关的教程,发现很多教程的名字在数据结构后面加上了算法两个字,然后我在想,(数据结构 == 算法)?.如果不等于,那么为什么那么多的人总喜欢将数据结构和算法拿到一 ...

  2. C++中STL和容器、迭代器、算法之间的关系

    自学习C++以来,一直对STL.容器.迭代器.算法甚是困惑. 参考一些资料,加上自己的理解,整理如下 如果说程序等于数据结构+算法,STL就是一个小程序库,之所以说小,是因为容器模板中常用的函数有限, ...

  3. 两条垂直的直线之间的关系

    如果两条直线的斜率k1.k2存在,而且这两条直线垂直,那么k1*k2=-1

  4. 摄像机标定中四大坐标系之间的关系

    一.四个坐标系简介和转换 相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解.本人研究了好长时间,几乎每天都重复看几遍,最终才会明白其推导过程.      我 ...

  5. 回归算法实例一:家庭用电预测——时间与功率、功率与电流、时间与电压之间的关系

    安装numpy:pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ numpy 安装scipy:pip install --ind ...

  6. 时间复杂度解析 根据算法换算时间复杂度 常见时间复杂度及其之间的关系

    一.引入 先看一道题,如果 a+b+c=1000,且 a2+b2=c^2(a,b,c 为自然数),如何求出所有a.b.c可能的组合? 二.两种解答方式 算法是独立存在的一种解决问题的方法和思想. 第一 ...

  7. R语言ggplot2可视化散点图、可视化两个数值变量之间的关系、使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线、自定义数据点的大小、色彩、添加主标题、副标题、题注信息

    R语言ggplot2可视化散点图.可视化两个数值变量之间的关系(Scatter plot).使用geom_smooth函数基于loess方法拟合数据点之间的趋势关系曲线.自定义数据点的大小.色彩.添加 ...

  8. Python使用matplotlib可视化散点图、可视化两个数值变量之间的关系(Scatter plot)

    Python使用matplotlib可视化散点图.可视化两个数值变量之间的关系(Scatter plot) 目录 Python使用matplotlib可视化散点图.可视化两个数值变量之间的关系(Sca

  9. Sinkhorn算法,正矩阵与双随机矩阵之间的关系

    Sinkhorn算法 Sinkhorn 算法描述了任意一个正矩阵(元素均为正)与双随机矩阵之间的关系. 简略描述 Relations between arbitrary positive matric ...

  10. correl函数相关系数大小意义_相关系数越大,说明两个变量之间的关系就越强吗...

    展开全部 相关系数越大,说明两个变量之间的关系就越强.当相关系数为1时,两个变量其e68a84e8a2ad3231313335323631343130323136353331333431353431实 ...

最新文章

  1. java生成Json文件
  2. 6、CSS Id 和 Class类选择器
  3. 转型会员制,云集能否讲好电商下半场故事?
  4. 记一次游戏私服getshell过程
  5. spring 事务 会话_测试Spring的“会话”范围
  6. 信捷伺服刚性调整_信捷電氣(603416):伺服與PLC增長將加速,口罩機解決方案帶來新增量...
  7. 【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息
  8. android适配各种分辨率的问题
  9. 7.Oracle数据库SQL开发之 算术运算
  10. 多目标优化算法(一)NSGA-Ⅱ(NSGA2)
  11. 词法分析之LED文件生成程序【调试中......】
  12. 后疫情时代|如何才能让居家办公变得更高效?
  13. tic tac toe php,Python函数找出tic tac toe获胜者
  14. 怎样删除androidstudio创建的模拟器
  15. 最新 NCBI 上传测序数据教程 (图文详解)
  16. 白杨流量汇线下聚会品茶聊流量,搞流量的核心是什么?
  17. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之02【EC20模组硬件供电和开关机复位操作】
  18. LogicFlow自定义业务节点
  19. 170虚拟sim服务器,虚拟大容量SIM卡服务器端管理软件的设计与现实
  20. ps磨皮portraiture插件

热门文章

  1. python import模块熟悉方法
  2. 【底层原理】深入理解Cache (上)
  3. [bzoj1468][poj1741]Tree_点分治
  4. 变态ie6之要求css与页面编码一致引发的问题
  5. BZOJ1301 字符加密Cipher (后缀数组)
  6. 整合Spring Cloud微服务分布式云架构技术点
  7. 20155303 2016-2017-2 《Java程序设计》第九周学习总结
  8. JQ怎样返回顶部代码
  9. nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法
  10. 第23章 排序算法(包括merge等)