Page Rank (2014ICM)

    PageRank网页排名,又称网页级别Google左侧排名佩奇排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。


让链接来“投票”

     一个页面的“得票数”由所有链向它的页面的重要性来决定,到一个页面的超链接当于对该页投一票。一个页面的PageRank是由所有链向它的页面(“链入页面”)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。

PageRank算法

一、简单算法

假设一个由4个页面组成的小团体:ABCD。如果所有页面都链向A,那么APR(PageRank)值将是BCD的Pagerank总和。

PR(A)= PR(B) + PR(C) + PR(D)

继续假设B也有链接到C,并且D也有链接到包括A的3个页面。一个页面不能投票2次。所以B给每个页面半票。以同样的逻辑D投出的票只有三分之一算到了A的PageRank上。

PR(A)= \frac{PR(B)}{2}+ \frac{PR(C)}{1}+ \frac{PR(D)}{3}

换句话说,根据链出总数平分一个页面的PR值。

PR(A)= \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}

最后,所有这些被换算为一个百分比再乘上一个系数d。由于“没有向外链接的页面”传递出去的PageRank会是0,所以,Google通过数学系统给了每个页面一个最小值(1 - d)/N

PR(A)=\left( \frac{PR(B)}{L(B)}+ \frac{PR(C)}{L(C)}+ \frac{PR(D)}{L(D)}+\,\cdots \right) d + \frac{1 - d}{N}



二、完整算法

       这个方程式引入了随机浏览的概念,即有人上网无聊随机打开一些页面,点一些链接。一个页面的PageRank值也影响了它被随机浏览的概率。为了便于理解,这里假设上网者不断点网页上的链接,最终到了一个没有任何链出页面的网页,这时候上网者会随机到另外的网页开始浏览。

       为了处理那些“没有向外链接的页面”(这些页面就像“黑洞”会吞噬掉用户继续向下浏览的概率)带来的问题,d=0.85(这里的d被称为阻尼系数(damping factor),其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。1-d=0.15(就是用户停止点击,随机跳到新URL的概率)的算法被用到了所有页面上,估算页面可能被上网者放入书签的概率。

所以,这个等式如下:

{\rm PageRank}(p_i) = \frac{1-d}{N} + d \sum_{p_j \in M(p_i)} \frac{​{\rm PageRank} (p_j)}{L(p_j)}

p_1, p_2, ..., p_N是被研究的页面,M(p_i)是链入p_i页面的集合,L(p_j)p_j链出页面的数量,而N是所有页面的数量。

PageRank值是一个特殊矩阵中的特征向量。这个特征向量为

\mathbf{R} =\begin{bmatrix}{\rm PageRank}(p_1) \\{\rm PageRank}(p_2) \\\vdots \\{\rm PageRank}(p_N)\end{bmatrix}


\mathbf{R} =\begin{bmatrix}{(1-d) / N} \\{(1-d) / N} \\\vdots \\{(1-d) / N}\end{bmatrix}+ d\begin{bmatrix}\ell(p_1,p_1) & \ell(p_1,p_2) & \cdots & \ell(p_1,p_N) \\\ell(p_2,p_1) & \ddots & & \\\vdots & & \ell(p_i,p_j) & \\\ell(p_N,p_1) & & & \ell(p_N,p_N)\end{bmatrix}\mathbf{R}

如果p_j不链向p_i,而且对每个j都成立时,\ell(p_i,p_j)等于0

\sum_{i = 1}^N \ell(p_i,p_j) = 1,

实例分析

    现假设有A,B,C,D,E五个网页,其中
           1)A网页有链接指向B,C,D,E 
           2)B网页有链接指向A,D 
           3)C网页有链接指向A,D 
           4)D网页有链接指向C 
           5)E网页有链接指向A,C


矩阵如下:
                 S=  0               1/2           1/2         0             1/2     
                       1/4            0              0             0             0      
                       1/4            0              0             1             1/2     
                       1/4            1/2           1/2         0             0      
                       1/4            0              0             0             0     


               T=  1     1     1     1     1
                     1     1     1     1     1
                     1     1     1     1     1
                     1     1     1     1     1
                     1     1     1     1     1


假设 d=0.85  ,则  R=0.85*S+0.15*T/5


Matlab代码:

clc;
clear;
S=[0 1/2 1/2 0 1/2;1/4 0 0 0 0; 1/4 0 0 1 1/2; 1/4 1/2 1/2 0 0;  1/4 0 0 0 0];
C=ones(5);
R=0.85*S+0.15*C/5;
[m,n]=eig(R); %求矩阵R的全部特征值


R =
    0.0300    0.4550    0.4550    0.0300    0.4550
    0.2425    0.0300    0.0300    0.0300    0.0300
    0.2425    0.0300    0.0300    0.8800    0.4550
    0.2425    0.4550    0.4550    0.0300    0.0300
    0.2425    0.0300    0.0300    0.0300    0.0300


m =
   -0.4823   -0.2863   -0.8165    0.7446    0.0000
   -0.1623   -0.3912    0.4082   -0.2725   -0.7071
   -0.6697    0.6775    0.0000   -0.4720    0.7071
   -0.5159    0.3912    0.0000    0.2725   -0.0000
   -0.1623   -0.3912    0.4082   -0.2725    0.0000


n =
    1.0000         0         0         0         0
         0    0.1556         0         0         0
         0         0   -0.4250         0         0
         0         0         0   -0.5806         0
         0         0         0         0   -0.0000


特征值1对应的特征向量为如下:


   -0.4823   
   -0.1623  
   -0.6697  
   -0.5159  
   -0.1623   


故ABCDE各个网页的PAGERANK值分别为0.48,0.16,0.66,0.51,0.16,可看出C的pagerank值最高。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值