一 原理介绍
1.1 简介
PageRank(网页级别)用来衡量一个网站的好坏的唯一标准 ,在加入了诸如Title标识和KeyWords标识等所有其他因素后,在搜索结果中因网站排名获得提升,从而提高搜索结果的相关性和质量
其算法的核心如下:
- 如果一个网页被很多其他网页链接连接到的话,说明这个网页比较重要,它的PageRank值会相对较高
- 如果一个PageRank高的网站指向另一个网站,这个被指向的网站的PageRank值也会相应提高,即一个网站的PageRank值会受到其他网址的影响
示意图:
- In: 每个球代表一个网页,球的大小反应了网页的pagerank值的大小
- Out: 指向网页B和网页E的链接有很多,所以B和E的值会比较高;而C很少有网页指向它,但是因为B(重要)指向它,所以它的值也相应会提高
1.2 PageRank算法原理
参考于:PageRank算法实现
1.2.1 简单的PageRank算法
假设网页X的排名用PR(X)表示,则A的排名为PR(A),通过这个图可以知道,B和C都指向了A,所以A的排名为
P R ( A ) = P R ( C ) + P R ( B ) PR(A) = PR(C)+PR(B) PR(A)=PR(C)+PR(B)
又因为C只指向了A,B不仅指向了A还指向了D,所以上面的公式更合理的应该是:
P R ( A ) = P R ( B ) 2 + P R ( C ) 1 PR(A) = \frac{PR(B)}{2} + \frac{PR(C)}{1} PR(A)=2PR(B)+1PR(C)
1.2.2 考虑没有出边(outlink)的算法
有的网页,会哪一个网页都不指向,那么它的值会被均分到所有的网页,即
P R ( A ) = P R ( B ) 2 + P R ( C ) 4 PR(A) = \frac{PR(B)}{2} + \frac{PR(C)}{4} PR(A)=2PR(B)+4PR(C)
1.2.3 网页链接中存在环
存在环则说明它指向的是自己,这个是可能的,因为有可能在点击网络跳转的时候转来转去都是那几个网站
所以假设当一个用户,遇上这种情况,他会以某一个概率 α \alpha α随机指向任意一个网页,指向每个网页的概率相等,这个时候网页A的PageRank值可以表示为:
P R ( A ) = α ( P R ( B ) 2 ) + ( 1 − α ) 4 PR(A) = \alpha(\frac{PR(B)}{2}) + \frac{(1-\alpha)}{4} PR(A)=α(2PR(B))+4(1−α)
这个公式可以解释为: α \alpha α表示用户从网页B以概率 α \alpha α链接到网页A,而后面的(1- 1 − α 1-\alpha 1−α)表示用户从网页C以概率 ( 1 − α ) (1-\alpha) (1−α)链接到网页A
即:
网页B的Pagerank值分配情况为: 1 2 α \frac{1}{2}\alpha 21α给A, 1 2 α \frac{1}{2}\alpha 21α给D, ( 1 − α ) 4 \frac{(1-\alpha)}{4} 4(1−α)分给其他4个网页
网页C的Pagerank值分配情况为: α \alpha α给自己(C), ( 1 − α ) 4 \frac{(1-\alpha)}{4} 4(1−α)分给其他网站
1.2.4 PageRank普遍公式
P R ( X ) = α ∑ Y i ∈ S ( X ) P R ( Y i ) n i + ( 1 − α ) N PR(X) = \alpha\sum\limits_{Y_{i} \in S(X)}\frac{PR(Y_{i})}{n_{i}} + \frac{(1-\alpha)}{N} PR(X)=αYi∈S(X)∑niPR(Yi)<