目录
什么是PageRank算法
算法原理(1)
算法原理(2)
看论文推荐
1. 什么是PageRank算法
PageRank是Google提出的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。
- 是Google创始人拉里·佩奇和谢尔盖·布林于1997年创造的
- PageRank实现了将链接价值概念作为排名因素。
2. 算法原理(1)
思考超链接在互联网中的作用?
- 入链 ====给?的投票
PageRank让链接来“投票“,到一个页面的超链接相当于对该页投一票。 - 入链数量
如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。 - 入链质量
指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要
此时:
- 所有的人的入链价值都是1
- 站在A的角度:需要将自己的PR值分给B,D
- 站在B的角度:收到来自A,C,D的PR值
- PR需要迭代计算,直到PR值会趋于稳定
算法原理(2)
初始值
Google的每个页面设置相同的页面价值,即PR值
pagerank算法给每个页面的PR初始值为1。迭代计算(收敛)
Google不断的重复计算每个页面的PageRank。那么经过不断的重复计算,这些页面的PR值会趋向于稳定,也就是收敛的状态。在具体企业应用中怎么样确定收敛标准?
- 每个页面的PR值和上一次计算的PR相等
- 设定一个差值指标0.0001)。当所有页面和上一次计算的PR差值平均小于该标准时,则收敛。
- 设定一个百分比(99%),当99%的页面和上一次计算的PR相等
- 站在互联网的角度:
- 只出,不入:PR会为0(垃圾网站)
- 只入,不出:PR会很高(大网站,不会随便做出量)
- 直接访问网页
- 修正PageRank计算公式:增加阻尼系数
- 在简单公式的基础上增加了阻尼系数(damping factor)d
- 一般取值d=0.85。
- 完整PageRank计算公式
d:阻尼系数
M(i):指向i的页面集合
L(j):页面的出链数
PR(pj):j页面的PR值
n:所有页面数