码迷,mamicode.com
首页 > 编程语言 > 详细

PageRank算法

时间:2016-05-13 02:35:26      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

PageRank算法概述

PageRank是由LarryPage命名的一个算法,它的作用是粗略的计算网页的排名。它的一个潜在假设:越重要的网

站,那么从其他网站得到的链接也越多。它在加上阻尼系数的基础上有两个公式:

技术分享                                  (1)

技术分享                                   (2)

文献1说明了,Page和 Brin的公式(2)错误的把全部的网页看成是一个概率分布。所以一般用公式(1)

现在把它写成迭代的形式,如下:

技术分享                               (3)

我们让:

技术分享                                                        (4)

那么公式就变成如下:

技术分享                      (5)

其中d是阻尼系数(默认设置为0.85),技术分享是如果i和j没有链接,那么为0,

而且技术分享也就是说,先把之间的链接数填上,之后对列进行归一化。

现在用过一个列子来进行说明。

假设网页A,B,C和D关系如下:

技术分享

步骤1:找出链接关系

技术分享

步骤2:对列归一化

技术分享

步骤3:那么技术分享

下面通过matlab来进行迭代:

%迭代公式:
% R = A+d*B*R

R=[1/4;1/4;1/4;1/4];

A=[0.15;0.15;0.15;0.15]/4;

B=[0 1 1 1
    0 0 0 0
    0 0 0 0
    0 0 0 0];
for i = 1:100
    R = A +0.85*B*R;
    disp(i)
    disp(R)
end
结果:

...
   98

    0.1331
    0.0375
    0.0375
    0.0375

    99

    0.1331
    0.0375
    0.0375
    0.0375

   100

    0.1331
    0.0375
    0.0375
    0.0375
最终的结果Pr(A)=0.1331,Pr(B)=0.0375,Pr(C)=0.0375,Pr(D)=0.0375
















参考文献

1、http://infolab.stanford.edu/pub/papers/google.pdf

2、https://en.wikipedia.org/wiki/PageRank

PageRank算法

标签:

原文地址:http://blog.csdn.net/legotime/article/details/51345839

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!