大数据经典算法PageRank 讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开 源 建 站 系 统
开源建站系统中的大多数网页都是由网页模板生成 的,网页模板中含有固定的链接指向一些共同的网 页甚至是作弊网页。
链接农场
设T的总rank为y,则y由三部分组成: 1、可达页的rank贡献,设为x。 2、心灵转移的贡献,为β/n。其中n为全部网 页的数量,β为转移参数。 3、支持页的贡献: 设有m个支持页,因为每个支持页只和T有链 接,所以可以算出每个支持页的rank为:
Page 29
PageRank 能够对网页的重要性做出客观的评价
1、敏感度较高,反应较快 Google对新建的网站具有较高的查知性, Google收录新建网站的两个途径是:
作弊者可在他网页上增 加一个词项,并将该词 项重复千百次,搜索引 擎可能以为该网页与检 索关键词高度相关而把 该网页放在搜索结果的 前列
2.Pagerank的定义
火龙果整理 uml.org.cn
Pagerank思想:
“被越多优质的网页所指的网页,它是优质的概率就 越大”
2.Pagerank的定义
Pagerank是一个函数,它对Web中的每个网页赋予一个实数 值。它的意图在于,网页的Pagerank越高,那么它就越“重要”。 首先,我们将Web做如下抽象:1、将每个网页抽象成一个节 点;2、如果一个页面A有链接直接链向B,则存在一条有向边从A 到B。因此,整个Web被抽象为一张有向图。
火龙果整理 uml.org.cn
Link Spam反作弊
火龙果整理 uml.org.cn
网络拓扑分析
一种方法是通过对网页的图拓扑结构分析找出可能存在 的spam farm。 但是随着Web规模越来越大,这种方法非常困难,因 为图的特定结构查找是时间复杂度非常高的一个算法, 不可能完全靠这种方法反作弊。
Link Spam反作弊
火龙果整理 uml.org.cn
PageRank算法
基本PageRank 面向主题PageRank Link Spam与反作弊 导航页与权威页
一小组:王高翔,李渠,刘晴,柳永康,刘昊骋 二小组: 王飞,李天照,赵俊杰,陈超,陈瑾翊
一.Pagerank定义及终点,自连接点的概念
早期搜索引擎的弊端
火龙果整理 uml.org.cn
Pagerank的定义
终止点
自连接点
1.早期搜索引擎的弊端
火龙果整理 uml.org.cn
早期很多搜索引擎根本 不评价结果重要性,而 是直接按照某自然顺序 (例如时间顺序或编号 顺序)返回结果。一旦 结果集变大,简直就是 一场灾难,这也注定这 种方法不可能用于现代 的通用搜索引擎
基于检索词评价的思想 非常朴素:检索关键词 出现次数越多的页面匹 配度越高,而匹配度越 高的页面重要性越高
3.终止点
一个没有出链的网页称为终止点。 这里D页面不存在外链,是一个终止点。 由矩阵论的知识可推知,迭代结果将最 终归零。 那么该如何处理终止点呢? 迭代拿掉图中的终止点及终止点相关的 边(之所以迭代拿掉是因为当目前的终 止点被拿掉后,可能会出现一批新的终 止点),直到图中没有终止点。对剩下 部分计算rank,然后以拿掉终止点逆向 顺序反推终止点的rank值。
火龙果整理 uml.org.cn
TrustRank
TrustRank的思想很直观:如果一个页面的普通rank远高 于可信网页的topic rank,则很可能这个页面被spam了。 设一个页面普通rank为P,TrustRank为T,则定义网页的 Spam Mass为:(P – T)/P。 Spam Mass越大,说明此页面为spam目标页的可能性越 大。
交 换 链 接
交换链接是指网站之间人为地互相增加对方网站的 链接,是增加外链成本最低和使用最多的一种方法。 由于交换链接可以增加网站的外链,提高网站的 pagerank值。
Link Spam
火龙果整理 uml.org.cn
黄 金 链
指一些高权重的网站出售首页的链接给作弊网站, 提高作弊网站的pagerank值。
火龙果整理 uml.org.cn
4.自连接点
火龙果整理 uml.org.cn
如下图,D有外链所以不是终止点,但是它只链向自己(注 意链向自己也算外链,当然同时也是个内链)。这种节点叫 做自连接点,如果对这个图进行计算,会发现D的rank越来越 大趋近于1,而其它节点rank值几乎归零。
火龙果整理 uml.org.cn
火龙果整理 uml.org.cn
四、权威页与导航页
链接分析技术
倒排索引:第一代搜索技术,将网页的数据分解成关 键词项,然后按关键字建立索引,由关键字索引找到 对应的网页。另外,还有非主属性值,有称副键值。 带有倒排索引的文件被称为倒排文件,倒排文件中 次 关键字索引被称为倒排表。由倒排表可以对集合进行 并、交等操作,得到结果后再对记录进行操作。
火龙果整理 uml.org.cn
PageRank,有效地利用了 Web 所拥有的庞大链接构造的特性。 从网页A导向网页B的链接被看作是对页面A对页面B的支持投票, Google根据这个投票数来判断页面的重要性。可是 Google 不单 单只看投票数(即链接数),对投票的页面也进行分析。「重要性」
高的页面所投的票的评价会更高,因为接受这个投票页面会被理 解为「重要的物品」。根据这样的分析,得到了高评价的重要页面 会被给予较高的 Page Rank(网页等级),在检索结果内的名次也 会提高。PageRank 是 Google 中表示网页重要性的综合性指标, 而且不会受到各种检索(引擎)的影响。倒不如说,PageRank 就 是基于对"使用复杂的算法而得到的链接构造"的分析,从而得出 的各网页本身的特性。当然,重要性高的页面如果和检索词句没 有关联同样也没有任何意义。为此 Google 使用了精练后的文本 匹配技术,使得能够检索出重要而且正确的页面。
击添加
火龙果整理 uml.org.cn
其中β往往被设置为一个比较小的参数(0.2或更小),e为N维单位向量,加入e 单击此处添加段落文字内容
的原因是这个公式的前半部分是向量,因此必须将β/N转为向量才能相加。这样, 整个计算就变得平滑,因为每次迭代的结果除了依赖转移矩阵外,还依赖一个小 概率的心灵转移。
M 是Web的转移矩阵,|S|是集合S的大小
例子
假设β = 0.8 S={B,D}.
火龙果整理 uml.org.cn
那么(1 − β)eS/|S| 的第二和第 四个分量是 1/10,其它分量 为0.因为1 − β=1/5,S的大小 为2,向量es中B和D对应的分 量为1,A和C 对应分量为0
上述过程第三步是最棘手的,现有一些解决方法: A.允许用户从菜单中选择一个主题 B.通过用户最近搜索查询或最近浏览的Web网页来推断主题 C.利用用户的信息(如用户的收藏夹或者社交网站上列出的兴趣)来推断主 题 确定一个网页的所属类别可以使用“基于词汇的主题判断”方法
火龙果整理 uml.org.cn
如果按这个公式迭代算下去,会发现自连接点的问题解决了,从而每个页面 都拥有一个合理的pagerank。
分块式Pagerank算法:
火龙果整理 uml.org.cn
单击此处添加段落文字内容
原来的算法存在的问题:
1.时间开销大。每次迭代就算时间开销为
2.因特网中数据大部分是分布式的,计算过程需要多次传递数据,网 络负担太大。
做法
每个用户有一个私 人的PageRank向量
对每一个主题方向 建立偏向该主题的 一个PageRank向量
思路及公式
火龙果整理 uml.org.cn
假定我们知道某些网页代表一个主题(体育),为了构建面向主题的PageRank, 我们可以安排随机冲浪者只到达一个随机的体育类网页,而不是到达任意类别的 一个网页。 这种做法的后果是,随机冲浪者很可能停留在已知的体育类网页上,或者从这些 已知的体育类网页上通过较短的路径就可到达的网页上。体育类网页链向的网页 很可能与体育类相关,随着离已知体育类网页的距离的增加,这些网页离体育相 关的概率也随之降低。 假定S是一个网页的集合,其中的网页属于类别S(随机跳转集合)。es是一个 向量,如果其分量对应的网页属于S,则该分量置为1,否则为0。于是S的面向 主题的PageRank的迭代公式如下:
火龙果整理 uml.org.cn
则支持页贡献的全部rank为:
因此可以得到:
链接农场
火龙果整理 uml.org.cn
由于相对β,n非常巨大,所以可以认为β/n近似于0。 简化后的方程为:
解方程得:
假设β为0.2,则1/(2β-β^2) = 2.77则这个spam farm可以将x约放大2.7倍。
3.n维矩阵式一个稀疏矩阵,无论计算还是存储都很浪费资源。
能否考虑先算出局部的Pagerank值??
分块式Pagerank算法:
火龙果整理 uml.org.cn
算法实现步骤: 单击此处添加段落文字内容
1.分数据块,计算每一个网络图G[i]的的Local Pagerank。 2.根据各数据块之间的相关性,计算缩略图p的Blockrank。 3.将所得Local Pagerank和Blockrank按照一定原则进行计算,得到 一个新的n维Pagerank. 4.将n维Pagerank多次迭代,得到最后收敛的pagerank向量。
火龙果整理 uml.org.cn
对应的转移矩阵如左图
一个N维矩阵,其中i行j列的值 表示用户从页面j转到页面i的概 率。这样一个矩阵叫做转移矩 阵

火龙果整理 uml.org.cn
设初始时每个页面的rank值为1/N,这里就是1/4。按A-D顺序将页面rank为向量v:
第一步之后,冲浪者的概率分布为Mv; 第二步之后,冲浪者的概率分布为M²v; 第i步之后,依次类推,可得冲浪者经过i步 之后的位置概率分布向量为Miv。 我们可以从初向量v出发,不断左乘矩阵M, 直到前后两轮迭代产生的结果向量差异很小 时停止,从而得到M的主特征向量。 实际上,对于Web本身而言,迭代50-75次 已经足够收敛。
于是转移矩阵乘以β得:
火龙果整理 uml.org.cn
迭代过程:
初始V
面向主题的PageRank的使用
火龙果整理 uml.org.cn
为了将面向主题的PageRank集成到搜索引擎中,我们必须 1.确定哪些主题需要构建特定的PageRank 2.对每个主题选择一个随机跳转集合,使用该集合来计算面向当前主题的 PageRank向量值 3.对特定的搜索查询请求,寻找一种方法来确定最相关的主题和主题集合 4.对上述查询,应用步骤3中选出的主题和主题的集合的PageRank向量来返 回应答结果。
为了克服这种问题,需要对PageRank 计算方法进行一个平滑处理,具体做 Baidu Nhomakorabea击添加 法是加入“跳转因子(teleporting)”。所谓跳转因子,就是我们认为在任 何一个页面浏览的用户都有可能以一个极小的概率瞬间转移到另外一个随机 页面。当然,这两个页面可能不存在超链接,因此不可能真的直接转移过去, 跳转因子只是为了算法需要而强加的一种纯数学意义的概率数字。
火龙果整理 uml.org.cn
面向主题PageRank
动机
火龙果整理 uml.org.cn
不同的人有不同的兴趣,而有时完全不同的兴趣却采用相同的查询词 项来表达。如果搜索引擎能够推断出用户的兴趣,那么在返回相关页 面的时候会表现得更好 比如用户搜索"苹果"
理想情况 做法 实际情况 Open Directory(DMOZ) 分16个顶层类别
三、Link Spam与反作弊
Link Spam方法
火龙果整理 uml.org.cn
链 接 农 场
链接农场是指由互联网中的一部分网页组成,这些 网页非常密集地互相连接在一起。链接农场是通过 创建一个堆砌大量链接而没有实质内容的网页,这 些链接彼此互链,或指向特定网站,以提高某个或 者某些特定网页的Pagerank值为目的。
火龙果整理 uml.org.cn
PageRank:关注 链接 的入度和出度,即本网页与其 他网页的关系,计算出一个PR值,由此,来判断网页
的重要程度。而此项,是搜索引擎查询时另外一个依 据,可以说是第一个过滤项。
HITS: 分析网页的导航度和权威度,由此来判断网页
的作用。
Page 28
Page Rank判断页面重要性
相关文档
最新文档