大数据pagerank算法设计
- 格式:docx
- 大小:112.87 KB
- 文档页数:3
pagerank算法例子PageRank算法是一种用于评估网页重要性的算法,它通过分析网页之间的链接关系来确定网页的排名。
下面我将从多个角度全面地解释和举例说明PageRank算法。
首先,PageRank算法是由谷歌的创始人之一拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)在1998年提出的。
该算法的核心思想是,一个网页的重要性取决于其被其他重要网页所链接的数量和质量。
换句话说,一个网页被越多重要网页所指向,它的排名就越高。
举个例子来说明PageRank算法的工作原理。
假设有三个网页A、B和C,它们之间的链接关系如下:A页面有指向B页面的链接。
B页面有指向A和C页面的链接。
C页面有指向B页面的链接。
根据PageRank算法,我们可以计算每个页面的初始排名。
假设初始排名为1,我们可以得到以下结果:A页面的初始排名为1。
B页面的初始排名为1。
C页面的初始排名为1。
接下来,我们根据链接关系来更新页面的排名。
根据PageRank 算法的计算公式,排名的更新是一个迭代过程。
在每一次迭代中,我们根据页面之间的链接关系来更新页面的排名。
在第一次迭代中,我们可以得到以下结果:A页面的排名更新为,1/2(来自B页面的链接)。
B页面的排名更新为,1/2(来自A页面的链接) + 1(来自C 页面的链接)。
C页面的排名更新为,1/2(来自B页面的链接)。
在第二次迭代中,我们再次根据链接关系来更新页面的排名。
根据公式,我们可以得到以下结果:A页面的排名更新为,1/2(来自B页面的链接) + 1/2(来自B页面的链接)。
B页面的排名更新为,1/2(来自A页面的链接) + 1(来自C 页面的链接)。
C页面的排名更新为,1/2(来自B页面的链接)。
通过多次迭代,我们最终可以得到每个页面的稳定排名。
在这个例子中,最终的排名结果可能是:A页面的排名为0.75。
B页面的排名为1.5。
C页面的排名为0.75。
PageRank算法在网页排序中的应用及改进PageRank算法是一种在网页排序中广泛应用的算法,旨在根据页面间的链接关系和互动,为网页分配权重。
本文将介绍PageRank算法的基本原理和其在网页排序中的应用,并探讨一些改进方法,以提高其准确性和效率。
一、PageRank算法的基本原理PageRank算法是由谷歌公司的创始人之一拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)于1996年提出的。
它根据网页之间的相互链接关系来计算每个网页的重要性指标,基本原理如下:1. 网页的权重:PageRank算法认为,一个网页的重要性取决于其被其他重要网页所链接的数量和质量。
一个链接来自权重高的网页对被链接的网页权重的贡献也更大。
2. 链接关系的传递性:如果网页A链接到网页B,那么网页B将获得一部分网页A的权重。
这种链接关系的传递性可以通过迭代计算来逐步传递网页的权重。
3. 反向链接的重要性:网页B被更多重要网页所链接时,网页B的权重会更高。
这个想法来源于互联网上用户通过链接表达的投票行为。
相对于单纯的链接数量,反向链接更能反映网页的权威性和受欢迎程度。
二、PageRank算法在网页排序中的应用PageRank算法在网页排序中的应用主要体现在搜索引擎中,通过计算网页的PageRank值,对搜索结果进行排序,从而提供更准确和有用的搜索结果。
1. 提高搜索准确性:PageRank算法通过对网页的重要性进行评估,将重要网页排在搜索结果的前面。
这样用户可以更容易地找到权威和有价值的信息。
2. 抑制垃圾信息:通过使用PageRank算法,搜索引擎可以过滤掉一些垃圾信息或低质量的网页。
因为这些网页往往没有被高质量网页所链接,其PageRank值较低。
3. 发现新网页:PageRank算法还可以帮助搜索引擎发现新网页。
当一个新网页被高质量网页链接时,其PageRank值将增加,并逐渐被搜索引擎所索引和优先展示。
Google三大论文(中文)Google三大论文(中文)Google是世界上最大的互联网公司之一,也是许多人使用的首选搜索引擎。
Google的成功离不开他们所采用的先进技术和创新思维。
在过去的几十年里,Google发表了许多重要的研究论文,这些论文对于推动计算机科学和人工智能领域的发展起到了巨大的贡献。
本文将介绍Google三篇重要的论文,它们分别是PageRank算法、DistributedFile System和MapReduce。
一、PageRank算法PageRank算法是Google搜索引擎的核心算法之一。
这个算法是由Google的创始人之一拉里·佩奇(Larry Page)和谢尔盖·布林(Sergey Brin)于1998年提出的。
PageRank算法通过分析与网页相关的链接数量和质量来评估网页的重要性,从而确定搜索结果的排名。
PageRank算法基于图论的概念,将互联网看作一个巨大的有向图,其中每个网页都是图中的一个节点,而网页之间的链接则是图中的边。
根据这些链接的链入和链出关系,算法可以计算出每个网页的PageRank值。
具有高PageRank值的网页会在搜索结果中排名较高,从而提高网页的可见性和流量。
二、Distributed File SystemDistributed File System(分布式文件系统)是Google为解决海量数据存储和处理问题而开发的一种分布式文件系统。
该系统最早在2003年的一篇名为《The Google File System》的论文中被介绍。
这个论文由Google的工程师们撰写,并提出了一种基于分布式架构和冗余存储的文件系统设计方案。
Distributed File System的设计目标是实现高可靠性、高性能和可扩展性。
它通过将大文件切割成小块并分布式存储在多台服务器上,同时也保证了数据的冗余存储和高可靠性。
这使得用户可以快速地读取和写入大规模的数据。
pagerank算法例题PageRank算法是由谷歌公司的创始人之一拉里·佩奇和谢尔盖·布林共同设计的,它是衡量网页重要性的一个重要指标,被广泛应用于引擎的排序算法中。
其基本思想是通过互联网上的超链接来分析网页的重要性,通过一定的计算方法将其转换为一个数值化的指标。
Pagerank算法的基本原理是将整个互联网抽象成一个有向图,其中网页是图的节点,而超链接是图的边。
这些超链接将不同的网页连接在一起,形成了一个复杂的网络结构。
在这个网络中,每个网页可以通过超链接访问到其他网页,也可以被其他网页访问。
基于这个网络结构,Pagerank算法通过计算每个网页的入链数量和出链数量,并结合网页之间的跳转概率来确定网页的重要性。
Pagerank算法的计算过程需要进行多次迭代,每次迭代都会更新网页的权重。
初始时,所有网页的权重被设置为相等的值,然后进行一次迭代。
在迭代的过程中,每个网页的权重会根据其入链和出链的数量进行调整,网页的权重会向入链较多的网页倾斜。
重要的网页通常会有更多的入链,而不那么重要的网页则会有较少的入链。
迭代的过程会一直进行下去,直到整个网络达到收敛为止。
当网络达到收敛时,每个网页的权重就是其Pagerank值。
Pagerank值越高的网页意味着其在整个网络中的重要性越高,引擎可以根据网页的Pagerank值来进行排序,将重要的网页排在前面。
下面以一个简单的例题来说明Pagerank算法的计算过程。
假设有如下5个网页的超链接关系:A->BA->CB->CC->AD->A其中关系“->”表示一个网页通过超链接指向另一个网页。
初始化时,所有网页的权重都设置为1/5,即:A:1/5B:1/5C:1/5D:1/5E:1/5进行第一次迭代时,根据网页之间的超链接关系,更新所有网页的排名。
A:(1-0.2)/5+0.2*(1/3+1/4)=0.34B:(1-0.2)/5=0.16C:(1-0.2)/5+0.2*(1/4+1/4+1/4)=0.32D:(1-0.2)/5=0.16E:(1-0.2)/5=0.16进行第二次迭代时,再次根据网页之间的超链接关系,更新所有网页的排名。
pagerank算法公式
PageRank是一种衡量网页重要性的算法,其基本思想是:对于一个网页,其“重要性”或者“权威性”主要取决于其引用的网页质量和数量。
PageRank的计算公式如下:
v’=Mv
其中,v是一个n维向量,每个分量代表对应节点的PageRank值的估计值,称作概率分布向量。
M是一个n×n矩阵,表示万维网的网页构成的图。
节
点A、B、C、D代表网页,有向边代表起点页面包含终点页面的链接。
PageRank还有一个简化模型:一个网页的影响力等于所有入链集合的页面的加权影响力之和,公式表示为:PR(u)=∑v∈BuPR(v)L(v)PR(u)=\sum_{v \in B_{u}} \frac{P R(v)}{L(v)}PR(u)=v∈Bu∑L(v)PR(v)u为待评估的页面,Bu为页面u的入链集合。
针对入链集合中的任意页面v,它能给u带来的
影响力是其自身的影响力PR(v)除以v页面的出链数量,统计所有能给u带来链接的页面v,得到的总和就是网页u的影响力,即为PR(u)。
请注意,这只是PageRank算法的简化模型,实际应用中PageRank算法会更复杂。
如需了解更多关于PageRank算法的信息,建议咨询计算机领域专业人士或查阅相关书籍。
PageRank算法1. PageRank算法概述PageRank,即⽹页排名,⼜称⽹页级别、Google左側排名或佩奇排名。
是Google创始⼈拉⾥·佩奇和谢尔盖·布林于1997年构建早期的搜索系统原型时提出的链接分析算法,⾃从Google在商业上获得空前的成功后,该算法也成为其他搜索引擎和学术界⼗分关注的计算模型。
眼下许多重要的链接分析算法都是在PageRank算法基础上衍⽣出来的。
PageRank是Google⽤于⽤来标识⽹页的等级/重要性的⼀种⽅法,是Google⽤来衡量⼀个站点的好坏的唯⼀标准。
在揉合了诸如Title标识和Keywords标识等全部其他因素之后,Google通过PageRank来调整结果,使那些更具“等级/重要性”的⽹页在搜索结果中另站点排名获得提升,从⽽提⾼搜索结果的相关性和质量。
其级别从0到10级,10级为满分。
PR值越⾼说明该⽹页越受欢迎(越重要)。
⽐如:⼀个PR值为1的站点表明这个站点不太具有流⾏度,⽽PR值为7到10则表明这个站点很受欢迎(或者说极其重要)。
⼀般PR值达到4,就算是⼀个不错的站点了。
Google把⾃⼰的站点的PR值定到10,这说明Google这个站点是很受欢迎的,也能够说这个站点很重要。
2. 从⼊链数量到 PageRank在PageRank提出之前,已经有研究者提出利⽤⽹页的⼊链数量来进⾏链接分析计算,这样的⼊链⽅法如果⼀个⽹页的⼊链越多,则该⽹页越重要。
早期的⾮常多搜索引擎也採纳了⼊链数量作为链接分析⽅法,对于搜索引擎效果提升也有较明显的效果。
PageRank除了考虑到⼊链数量的影响,还參考了⽹页质量因素,两者相结合获得了更好的⽹页重要性评价标准。
对于某个互联⽹⽹页A来说,该⽹页PageRank的计算基于下⾯两个基本如果:数量如果:在Web图模型中,如果⼀个页⾯节点接收到的其它⽹页指向的⼊链数量越多,那么这个页⾯越重要。
PageRank算法的原理及应用PageRank算法是一种被广泛应用于搜索引擎的网页排序算法,它是由Google公司的两位创始人——拉里·佩奇和谢尔盖·布林在1998年发明的。
经过多次改进和完善,如今的PageRank算法已经成为了搜索引擎排名的重要指标之一。
本文将从算法原理、公式推导和应用探究三个方面来介绍PageRank算法。
一、算法原理PageRank算法的核心思想是基于互联网上各个页面之间的链接关系进行排序,在一定程度上反映了网页的权威性和价值。
所谓链接关系,就是指一个页面通过超链接将访问者引向另一个页面的关系。
如果一个网页被其他网页链接得越多,那么这个网页的权威度就应该越高。
但是,PageRank并不直接以链接数量作为评价标准,而是通过一个复杂的算法来计算每个网页的等级。
具体来说,PageRank算法是基于马尔科夫过程的概率模型,它将互联网上的所有页面抽象成图形,每个网页都是一个节点,超链接则是节点之间的边。
PageRank算法的核心计算就是将这个图形转化成一个矩阵,然后使用迭代的方式求出每个节点的等级,即PageRank值。
在这个过程中,每个节点的PageRank值会受到其它所有节点的影响,而它自身的权值又会传递给其他节点,如此循环迭代,直到所有节点的PageRank值趋于收敛。
二、公式推导PageRank算法的公式推导是比较繁琐的,这里只能简单概括一下。
首先,PageRank值可以表示为一个向量,每个向量元素代表一个页面的权值。
由于PageRank算法是基于网页链接之间的关系计算出来的,所以可以将它表示成一个矩阵M,该矩阵中的元素mi,j表示第j个页面指向第i个页面的链接数量。
接着,可以构造一个向量v,v中的所有元素都是1/N(其中N为网页总数),代表每个页面初始的PageRank值。
然后,PageRank值可以通过迭代计算得到,具体的计算公式如下:PR(A) = (1-d)/N + d * (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))其中,PR(A)表示节点A的PageRank值,d是一个常数(0<d<1),代表网页的阻尼系数,T1-Tn是所有指向节点A的页面,C(Ti)是Ti页面的出链总数,PR(Ti)是Ti页面的PageRank值,N为网页总数。
pagerank算法步骤PageRank算法是一种用于评估网页重要性的算法,是由Google的创始人拉里·佩奇和谢尔盖·布林共同提出的。
它是一种基于链接分析的算法,主要通过计算一个网页的入链数和出链数来判断其重要性。
具体的PageRank算法步骤如下:1. 初始化PageRank值:对于一个网页,初始的PageRank值一般为1/N,其中N为所有网页的总数。
将这些初始值赋予所有的网页。
2. 迭代计算:根据PageRank的计算公式进行迭代计算,直到收敛为止。
PageRank的计算公式如下:PR(A) = (1-d)/N + d * (PR(T1)/C(T1) + PR(T2)/C(T2) + ... + PR(Tn)/C(Tn))其中PR(A)为网页A的PageRank值,d为阻尼系数,一般取值为0.85,N为所有网页的总数,T1、T2、...、Tn为指向网页A的网页,C(T1)、C(T2)、...、C(Tn)分别为这些指向网页A的网页的出链数。
迭代计算每个网页的PageRank值,直到前后两次迭代值的差异小于某个预定的阈值,即达到收敛。
3. 解决网页零入链问题:在计算过程中,可能出现一些网页没有任何其他网页指向它,即零入链问题。
为解决这个问题,可以给这些网页一个初始的PageRank值,并在迭代计算中加入一个平均值部分,使得网页的重要性能够传递给零入链的网页。
以上就是PageRank算法的主要步骤。
实际应用中,还可以对阻尼系数d进行微调,以达到更好的效果。
此外,为了加快迭代计算的速度,可以采用分布式计算的方式进行计算。
参考内容:1. 《The Anatomy of a Large-Scale Hypertextual Web Search Engine》(拉里·佩奇、谢尔盖·布林):这是PageRank算法的原始论文,详细介绍了算法的思想和具体实现。
论文发表于1998年,是该算法最早的介绍。
PageRank算法实验报告一、算法介绍PageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。
它由Larry Page 和Sergey Brin在20世纪90年代后期发明。
PageRank实现了将链接价值概念作为排名因素。
PageRank的核心思想有2点:1.如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是pagerank值会相对较高;2.如果一个pagerank值很高的网页链接到一个其他的网页,那么被链接到的网页的pagerank值会相应地因此而提高。
若页面表示有向图的顶点,有向边表示链接,w(i,j)=1表示页面i存在指向页面j的超链接,否则w(i,j)=0。
如果页面A存在指向其他页面的超链接,就将A 的PageRank的份额平均地分给其所指向的所有页面,一次类推。
虽然PageRank 会一直传递,但总的来说PageRank的计算是收敛的。
实际应用中可以采用幂法来计算PageRank,假如总共有m个页面,计算如公式所示:r=A*x其中A=d*P+(1-d)*(e*e'/m)r表示当前迭代后的PageRank,它是一个m行的列向量,x是所有页面的PageRank初始值。
P由有向图的邻接矩阵变化而来,P'为邻接矩阵的每个元素除以每行元素之和得到。
e是m行的元素都为1的列向量。
二、算法代码实现三、心得体会在完成算法的过程中,我有以下几点体会:1、在动手实现的过程中,先将算法的思想和思路理解清楚,对于后续动手实现有很大帮助。
2、在实现之前,对于每步要做什么要有概念,然后对于不会实现的部分代码先查找相应的用法,在进行整体编写。
3、在实现算法后,在寻找数据验证算法的过程中比较困难。
作为初学者,对于数据量大的数据的处理存在难度,但数据量的数据很难寻找,所以难以进行实例分析。
pagerank算法Pagerank算法介绍Pagerank算法,也称为网页排名算法,是Google搜索引擎的核心算法之一。
这个算法最早由Google创始人之一、斯坦福大学教授拉里·佩奇(Larry Page)提出,并以他的姓氏命名。
Pagerank 算法用于评估网页的重要性和排名顺序,可以帮助用户快速找到相关性更高的网页。
Pagerank算法的核心思想是根据互联网中网页之间的链接结构来评估网页的质量。
它基于一个假设:如果一个网页被很多其他网页链接到,那么它就是一个重要的网页。
而如果这些链接是来自其他重要的网页,那么这个网页的重要性就更高。
Pagerank算法通过计算网页之间的链接关系,为每个网页赋予一个Pagerank值,用于衡量其重要性。
Pagerank算法的计算过程可以简单概括为以下几个步骤:1. 初始化:给每个网页一个初始的Pagerank值,一般可以设置为相等的数值,例如1/N,其中N是互联网中的总网页数。
2. 迭代计算:通过多次迭代计算,逐步更新每个网页的Pagerank 值。
每一次迭代中,对于每个网页,计算其Pagerank值,该值与其被其他网页链接所传递的Pagerank值相关。
具体计算公式为:PR(A) = (1-d) + d * (PR(T1)/C(T1) + PR(T2)/C(T2) + ... + PR(Tn)/C(Tn))其中PR(A)表示网页A的Pagerank值,d是一个称为阻尼因子的常数(一般取值为0.85),T1至Tn表示链接到网页A的其他网页,C(T1)至C(Tn)则表示T1至Tn这些网页的出链数量。
3. 迭代终止:当每个网页的Pagerank值不再发生显著变化时,迭代可以停止,得到最终的Pagerank值。
Pagerank算法的核心在于通过网络中的链接关系来评估网页的重要性,而不仅仅是根据关键词等其他因素进行评估。
这种链接分析的方式使得Pagerank算法具有很强的可靠性和稳定性,因为网页的链接结构并不容易被人为操控。
PageRank算法PageRank是⽹页重要程度计算⽅法,可推⼴到有向图结点的重要程度的计算。
基本思想是在有向图上定义随机游⾛模型,在⼀定条件下,极限情况访问每个结点的概率收敛到平稳分布。
给定有n个结点强连通且⾮周期性的有向图,在其基础上定义随机游⾛模型。
假设转移矩阵M,在时刻0,1,2,…,t,…访问各个结点概率为则其极限存在,那么极限向量R表⽰马尔可夫链的平稳分布,满⾜平稳分布R称为这个图的PageRank。
R的各个分量为各个结点的PageRank值,这是PageRank的基本定义,但有时有向图并未能满⾜强连通且⾮周期性的条件,没有其对应的平稳分布。
然⽽可以在基本定义上导⼊平滑项,这样平稳分布向量R就由下⾯的公式决定其中,1是所有分量为1 的n维向量;d阻尼因⼦,⼀般由经验决定因此这也称为PageRank的⼀般定义,其随机游⾛模型的转移矩阵由两部分的线性组合组成,⼀部分是有向图的基本转移矩阵M,另⼀部分是完全随机的转移矩阵。
PageRank的计算⽅法包括幂法、迭代计算法、代数算法。
幂法是其常⽤的⽅法,通常计算矩阵的主特征值和主特征向量求求得有向图的⼀般PageRank。
计算流程:输⼊:有n个结点的有向图,其转移矩阵M,阻尼因⼦d,初始向量x0和计算精度ε输出:有向图的PageRank平稳向量R1. 令t=0,选择初始向量x02. 计算有向图的⼀般转移矩阵A3. 迭代并规范化结果向量4. 当时,令,停⽌迭代。
5. 否则,令t=t+1,执⾏步骤(3)6. 对R进⾏规范化处理,使其表⽰概率分布例,给定以下有向图,d=0.85,ε=0.005,求其⼀般的PageRank图1 有向图有向图的转移矩阵7. 令t=0,8. 根据公式计算该图的⼀般转移矩阵A9. 迭代并规范化通过多次迭代,在t=21,22时,得到向量,停⽌迭代,取将R规范化,即使得其各个分量的和为1,迭代计算算法的流程:输⼊:有n个结点的有向图,其转移矩阵M,阻尼因⼦d,初始向量R0输出:有向图的PageRank平稳向量R(1)令t=0,(2)计算(3)当时充分接近,令,停⽌迭代。
PageRank解释方法一1.PageRank的核心思想(1)R(x)表示x的PageRank,B(x)表示所有指向x的网页。
公式(1)的意思是一个网页的重要性等于指向它的所有网页的重要性相加之和。
粗看之下,公式(1)将核心思想准确地表达出来了。
但仔细观察就会发现,公式(1)有一个缺陷:无论J有多少个超链接,只要J指向I,I都将得到与J一样的重要性。
当J有多个超链接时,这个思想就会造成不合理的情况。
例如:一个新开的网站N只有两个指向它的超链接,一个来自著名并且历史悠久的门户网站F,另一个来自不为人知的网站U。
根据公式(1),就会得到N比F更优质的结论。
这个结论显然不符合人们的常识。
弥补这个缺陷的一个简单方法是当J有多个超链接(假设个数为N),每个链接得到的重要性为R(j)/N。
于是公式(1)就变成公式(2):(2)N(j)表示j页面的超链接数图2 来自Lawrence Page的文章从图2可以看出,如果要得到N比F更优质的结论,就要求N得到很多重要网站的超链接或者海量不知名网站的超链接。
而这是可接受的。
因此可以认为公式(2)将核心思想准确地表达出来了。
为了得到标准化的计算结果,在公式(2)的基础上增加一个常数C,得到公式(3):(3)2.计算,实例由公式(3)可知,PageRank是递归定义的。
换句话就是要得到一个页面的PageRank,就要先知道另一些页面的PageRank。
因此需要设置合理的PageRank初始值。
不过,如果有办法得到合理的PageRank初始值,还需要这个算法吗?或者说,这个严重依赖于初始值的算法有什么意义吗?依赖于合理初始值的PageRank算法是没意义的,那么不依赖于初始值的PageRank算法就是有意义的了。
也就是说,如果存在一种计算方法,使得无论怎样设置初始值,最后都会收敛到同一个值就行了。
要做到这样,就要换一个角度看问题,从线性代数的角度看问题。
将页面看作节点,超链接看作有向边,整个互联网就变成一个有向图了。
算法设计:
假设一个有集合:A,B,C和D 是由4个网页组成的。
在同一个页面之中,多个指向相同的链接,把它们看作是同一个链接,并且每个页面初始的PageRank值相同。
因为要满足概率值位于0到1之间的需求,我们假设这个值是0.25。
在每一次的迭代中,给定页面的PR值(PageRank值)会被平均分配到此页面所链接到的页面上。
倘若全部页面仅链接到A,这样的话A的PR值就是B,C和D的PR值之和,即:PR(A)=PR(B)+PR(C)+PR(D){\displaystyle PR(A)=PR(B)+PR(C)+PR(D)} 再次假设C链接到了A,B链接到了A和C,D链接到了A,B,C。
最开始的时候一个页面仅仅只会有一票。
正因为这样,所以的话B将会给A ,C这两个页面每一个页面半票。
按照这样来类比推算,D所投出去的票将只会有三分之一的票会被添加到属于A 的PR值上:
{\displaystyle PR(A)={\frac {PR(B)}{2}}+{\frac {PR(C)}{1}}+{\frac
{PR(D)}{3}}}
换个方式表达的话,算法将会依据每一个页面链接出来的总数 {\displaystyle L(x)}平均的分配每一个页面的PR值,然后把它添加至它指向的页面:
最后,这些全部的PR值将会被变换计算成为百分比的形式然后会再乘上一个修正系数。
因为“没有向外链接的网页”它传递出去的PR值将会是0,而且这将递归地差生影响从而使得指向它的页面的PR值的计算出来得到的结果同样是零,因此每一个页面要有预先设置好了的一个最小值:
需要注意的是,在Sergey Brin和Lawrence Page的1998年原版论文中给每一个页面设定的最小值是1-d,而不是这里的(1-d)/N,这将导致集合中所有网页的PR值之和为N(N为集合中网页的数目)而并不是所期待的1。
所以,一个页面的PR值直接取决于指向它的的页面。
如果在最初给每个网页一个随机且非零的PR值,经过重复计算,这些页面的PR值将会逐渐接近于某一个固定
定值,也就是处于收敛的状态,即最终结果。
这就是搜索引擎使用该算法的原因。
【测试环境】
【测试数据】
【测试结果】
PageRank算法的主要缺点在于旧的页面的排名往往会比新页面高。
因为即使是质量很高的新页面也往往不会有很多外链,除非它是某个已经存在站点的子站点。
这也是PageRank 需要多项算法结合以保证其结果的准确性的原因。