PageRank

 PageRank算法在1998年4月举行的第七届国际万维网大会上由Sergey Brin和Larry Page提出。
PageRank是通过计算页面链接的数量和质量来确定网站重要性的粗略估计。算法创立之初的目的是应用在Google的搜索引擎中,对网站进行排名。
后来在影响力排名中应用广泛。将整个www可以看作一张有向图图,每一个网页都是一个节点。
如果网页B存在到网页A的链接,那么有一条从网页B指向网页A的有向边,称为入链。如果我们要计算网页A的PageRank值(以下简称PR值),
pagerank需要知道有哪些网页链接到网页A,也就是要首先得到网页A的入链,然后通过入链给网页A的投票来计算网页A的PR值。
不能简单的对入链进行求和统计数量,还要对入链赋予不同的权值来保证当某些高质量的网页指向网页A的时候,
那么网页A的PR值会因为这些高质量的投票而变大,也就是受到质量高的网页指向的影响偏大,权值利用入链网页的PR值均分处理
这样网页A被较少网页指向或被一些PR值较低的网页指向的时候,A的PR值也不会很大,就可以合理地反映一个网页的质量水平。
基于两个假设: 
1)入链数量假设:如果一个网页的入链数量越多,则其重要程度越高。
2)入链质量假设:高质量的网页为其链接的页面带去更多权重。

输入图片说明

Vi表示某个网页,Vj表示链接到Vi的网页(即Vi的入链),S(Vi)是网页i的中重要性(PR值)。
d是阻尼系数,是用来克服这个公式中“d *”后面的部分的固有缺陷用的:如果仅仅有求和的部分,那么该公式将无法处理没有入链的网页的PR值,
 因为这时,根据该公式这些网页的PR值为0,但实际情况却不是这样,所有加入了一个阻尼系数来确保每个网页都有一个大于0的PR值,一般设置为0.85。
大约100多次迭代PR值就能收敛到一个稳定的值,而当阻尼系数接近1时,需要的迭代次数会陡然增加很多,且排序不稳定。
公式中S(Vj)前面的分数指的是Vj所有出链指向的网页应该平分Vj的PR值,这样才算是把自己的票分给了自己链接到的网页。
In(Vi)是存在指向网页i的链接的网页集合。Out(Vj)是网页j中的链接存在的链接指向的网页的集合(也就是说网页j中指出去的链接网页集合)。
|Out(Vj)|是集合中元素的个数。
 PageRank需要使用上面的公式多次迭代才能得到结果。初始时,可以设置每个网页的重要性为1。
上面公式等号左边计算的结果是迭代后网页i的PR值,等号右边用到的PR值全是迭代前的。
每个链接到该页面的页面的重要性S(Vj)还需要对所有它所出去的页面所评分。所以除以了OUT(Vj)。
同时,该页面S(Vj)的重要性不能单单由其他的链接页面决定,还包含一定的概率来决定要不要接受由其他页面来决定,这也就是d的作用。
初始时,可以设置每个网页的重要性为1。上面公式等号左边计算的结果是迭代后网页i的PR值,等号右边用到的PR值全是迭代前的。
每一个网页的质量或者重要性,是到每一个入链到它的网页的重要性权重之和。 

猜你喜欢

转载自my.oschina.net/u/3726752/blog/1803060