PageRank算法介绍
1.算法概述
PageRank,即网页排名,又称网页级别、Google左側排名或佩奇排名。是Google创始人拉里·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界十分关注的计算模型。 PageRank是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个站点的好坏的唯一标准。在揉合了诸如Title标识和Keywords标识等全部其他因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的网页在搜索结果中另站点排名获得提升,从而提高搜索结果的相关性和质量。其级别从0到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)。
2.算法基本思想
对于某个互联网网页A来说,该网页PageRank的计算基于下面两个基本如果:
数量如果:在Web图模型中,如果一个页面节点接收到的其它网页指向的入链数量越多,那么这个页面越重要。
质量如果:指向页面A的入链质量不同,质量高的页面会通过链接向其它页面传递很多其它的权重。所以越是质量高的页面指向页面A,则页面A越重要。
假设网页T存在一个指向网页A的连接,则表明T的全部者觉得A比較重要,从而把T的一部分重要性得分赋予A。这个重要性得分值为:
PR(T)/L(T)
当中PR(T)为T的PageRank值,L(T)为T的出链数,则A的PageRank值为一系列类似于T的页面重要性得分值的累加。
利用以上两个如果,PageRank算法刚开始赋予每一个网页同样的重要性得分,通过迭代递归计算来更新每一个页面节点的PageRank得分,直到得分稳定为止。
3.算法简单计算
如果一个由仅仅有4个页面组成的集合:A,B,C和D。如果全部页面都链向A,那么A的PR(PageRank)值将是B,C及D的和。
继续如果B也有链接到C,而且D也有链接到包含A的3个页面。一个页面不能投票2次。所以B给每一个页面半票。以相同的逻辑,D投出的票仅仅有三分之中的一个算到了A的PageRank上。
换句话说,依据链出总数平分一个页面的PR值。
4.修正PageRank计算公式
因为存在一些出链为0,也就是那些不链接不论什么其它网页的网, 也称为孤立网页,使得非常多网页能被訪问到。因此需要对 PageRank公式进行修正,即在简单公式的基础上添加了阻尼系数q,q一般取值q=0.85。其意义是,在随意时刻,用户到达某页面后并继续向后浏览的概率。 1- q= 0.15就是用户停止点击,随机跳到新URL的概率的算法被用到了全部页面上,估算页面可能被上网者放入书签的概率。
最后,即全部这些被换算为一个百分比再乘上一个系数q。因为以下的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每一个页面一个最小值。
所以一个页面的PageRank是由其它页面的PageRank计算得到。Google不断的反复计算每一个页面的PageRank。假设给每一个页面一个随机PageRank值(非0),那么经过不断的反复计算,这些页面的PR值会趋向于正常和稳定。这就是搜索引擎使用它的原因。
5.PageRank算法的幂法计算
https://www.cnblogs.com/mfrbuaa/p/3909597.html
6.算法优缺点
长处:是一个与查询无关的静态算法,全部网页的PageRank值通过离线计算获得;有效降低在线查询时的计算量,极大降低了查询响应时间。
缺点: 1)人们的查询具有主题特征,PageRank忽略了主题相关性,导致结果的相关性和主题性减少
2)旧的页面等级会比新页面高。由于即使是非常好的新页面也不会有非常多上游链接,除非它是某个网站的子网站。