MapReduce 基础算法【PageRank网页排名算法】

PageRank算法由Google创始人Larry Page提出,用于评估网页的重要性。该算法考虑了网页之间的链接关系,一个页面的PR值由链向它的页面PR值经过递归计算得出。在实际应用中,PageRank需要解决排名泄露和排名下沉等问题,并通过随机浏览模型进行修正。通过MapReduce可以有效地计算大规模数据集上的PageRank值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

PageRank网页排名算法

PangeRank算法是Google公司创始人之一Larry Page发明的,它是一个用来衡量评估网页重要性或者等级的算法。Google公司据此标识网页的PR值,最直观的条件就是有很多网页链接到它,尤其是要有很高Rank值的网页链接到该网页。

基本思想

如果网页T存在一个指向网页A的连接,则表明T的所有者认为A比较重要,从而把T的一部分重要性得分赋给A,这个重要性得分值为: PR(T)/L(T) P R ( T ) / L ( T ) .其中 PR(T) P R ( T ) T T 的PangeRank值, L ( T ) T T 的输出链数。则A的PangeRank值为一系列类似于 T 的页面重要性得分值的累加。

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

简单计算

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

PR(A)=PR(B)+PR(C)+PR(D) P R ( A ) = P R ( B ) + P R ( C ) + P R ( D )

继续假设 B B 也有链接到 C ,并且 D D 也有链接到包括 A 的3个页面。一个页面不能投票2次。所以 B B 给每个页面半票。同样, D 投出的票只有三分之一算到了A的PangeRank上。
PR(A)=PR(B)2+PR(C)1+PR(D)3 P R ( A ) = P R ( B ) 2 + P R ( C ) 1 + P R ( D ) 3

换句话说,根据链出的总数平分一个页面的PR值。
PR(A)=PR(B)L(B)+PR(C)L(C)+PR(D)L(D) P R ( A ) = P R ( B ) L ( B ) + P R ( C ) L ( C ) + P R ( D ) L ( D )

PageRank 的简化模型

互联网上的各个网页之间的连接关系我们都可以看成一个有向图,对于任意的网页,它的PR值可以表示为:

PR(u)=vBuPR(v)L(v) P R ( u ) = ∑ v ∈ B u P R ( v ) L ( v )

其中, Bu B u 是所有链接到网页 u u 的网页集合,网页 v 是属于集合 Bu B u 的网页, L(v) L ( v ) 则是网页 v v 的对外链接数(即出度)。

简化模型的问题

排名泄露

这里写图片描述

如上图所示,如果存在网页没有出度链接,如A点,则会产生排名泄露问题,经过多次迭代之后,所有网页的PR值会趋向于0。其中,有向图可以得出如下的初始的转移矩阵:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值