`
floger
  • 浏览: 213312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Google之Page Rank分析(转)

阅读更多

本文来源为:http://hi.baidu.com/alphahunters/blog/item/e0e8a92d1b2820321f3089a0.html

 

首先申明,本博文自原创,部分数据来源于网络。

google的搜索结果中,PR值越高的网页排在越前面。

网页权重的算法有很多种,为何我唯独选择了page rank来讨论,不仅因为它是Google搜索引擎采用的搜索结果排名算法之核心,且它把整个互联网当做一个整体来对待且最终依靠经典的数学模型精准地得到web上网页的权重。

虽然今天的搜索引擎的排名系统远远要比这个算法复杂。域名数据,内容质量,用户数据,建站时间等都可能被考虑进去,但是page rank算法仍然是核心的技术之一,使得Google名声大噪。关于page rank的介绍性文章,在Google黑板报里的 Page Rank Google 的民主表决式网页排名技术。关于其更详细的论述,可以参照Google 的两个创始人拉里•佩奇 Larry Page )和谢尔盖•布林 (Sergey Brin)的论文The PageRank Citation Ranking: Bringing Order to the Web

首先,page rank基于以下的假设:一个网页被引用 (即反向链接)的次数越多,则说明越重要; 一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。所以,为了说明问题的方便,就引出了下面这个简化了的Page Rank算法。简化版一:R(u) = cR(1)/N(1) + ……+cR(v)/N(v)(vBu)。其中R(v)是网页vPR值,N(v)是网页v的正向链接数,B(u)是页面u的反向链接的集合。c是阻尼系数(Damping Factor),它的值在01之间。因此,阻尼系数的使用,减少了其它页面对当前页面A的排序贡献。那么这个式子如何用数学的方法解答呢?首先可以认为整个互联网是一个大的有向图G=(V,E)V是所有页面的集合,E是有向边的集合,(i,j)表示页i有指向页j的超链接。由于有向图和矩阵在本质上是可以互相转换的,下面举例是如何互转的:

此有向连通图模拟网页间的超链接

链接源I D 链接目标 ID

1          2,3 ,4,5, 7

2          1

3          1,2

4          2,3,5

5          1,3,4,6

6          1,5

7          5

如果我们假设Aij1 ,if (从页面 i 向页面 j 「有 」 链接的情况) Aij0, if (从页面 i 向页面 j 「没有」链接的情况) 。则根据以上我们可以构造如下矩阵

A = [

   0, 1, 1, 1, 1, 0, 1;

   1, 0, 0, 0, 0, 0, 0;

   1, 1, 0, 0, 0, 0, 0;

   0, 1, 1, 0, 1, 0, 0;

   1, 0, 1, 1, 0, 1, 0;

   1, 0, 0, 0, 1, 0, 0;

   0, 0, 0, 0, 1, 0, 0;

]

接下来再来看看公式一中的PR值求法,即

PR(1) = c[1*PR(2) + (1/2)*PR(3) + (1/4)*PR(5) +(1/2)*PR(6)];

PR(2) = c[(1/5)*PR(1) + (1/2)*PR(3) + 0.25*PR(5) + 0.5*PR(5)];

............

PR(7) = c[(1/5)*PR(1) + 0+ 0......];

则,可以得出PT = cMPT其中M的方阵如下,

M = [

    0,    1,   1/2,    0,     1/4,    1/2,    0;

    1/5,    0, 1/2,    1/3,    0,     0,     0;

    1/5,    0, 0,     1/3,    1/4,    0,     0;

    1/5,    0, 0,      0,     1/4,    0,     0;

    1/5,    0, 0,     1/3,    0,     1/2,    1;

    0,      0, 0,      0,     1/4,    0,     0;

    1/5,    0, 0,     0,     0,     0,     0;

]

所以,PTM的特征根为c的特征向量。只需求出最大特征根的特征向量,就是网页集对应的最终PageRank值,这可以用迭代方法计算。如何迭代呢?如果我们给定初始向量PT1’做第一次迭代,就相当于用初始向量乘以上面的矩阵。第二次迭代就相当于用第一迭代的结果再乘以上面的矩阵……实际上,在随机过程的理论中,上述矩阵被称为“转移概率矩阵”。这种离散状态按照离散时间的随机转移过程称为马尔可夫链(Markov chain)。设转移概率矩阵为P,若存在正整数N,使得PN>0(每一个元素大于0),这种链被称作正则链,它存在唯一的极限状态概率,并且与初始状态无关。这篇Google搜索与Inter网中的数学文章里,描述了马氏链与page rank的关系。

最后可以看到,从最开始的矩阵A到矩阵M可以很容易转化得到(A倒置后将各个数值除以各自的非零要素)

现在考虑有一个页面(比如是页面7),它不含有任何的超链接,即它的前向链接或者说出度为0,很显然,方阵M的最后一行为全零,这样,特征向量PT也为全零。我们也可以从图论的角度来阐述这个问题。我们可以这样定义一个有向图:图G的顶点集合为V={V1,V2,,Vn},边的集合为E={Eij}。我们把有向图G的每个顶点都给定一个权值P(Vi),即为它的PR值。有向边AB的权值定义为AB贡献的PageRank,也即网站A链接到网站B的概率。这样,对于一个顶点,若它的出度大于0,则从它出去的权值和为1(这一点可以从上述的方阵M中的列可以看出,满足了全概率)。显然,如果图中有一个顶点X的出度是0,那么经过有限次迭代后所有顶点的PR值都将变为0。这是因为由于X不对外贡献任何PR,所以整体的PR总和在不断减少,最终减为0。这个被拉里•佩奇和谢尔盖•布林称为rank sink。为了克服这个问题,就有了下面这个公式:Rank算法简化版二:R(u) = 1-c+ cR(1)/N(1) + ……+cR(v)/N(v)(vBu) ……公式二

(1-c)实际上为了服从概率分布。这样可以推导出P = (1-c)e + cMP,即

P = [(1-c)eeT/n + cM]P (eTP=n)。关于用矩阵方法来推导的更详细的文章,可以参考这篇"The $25,000,000,000 Eigenvector: The Linear Algebra Behind Google".

   现在可以想象一下整个web中有250亿不止的网页,收敛速度是至关重要的。所以为什么作者拉里•佩奇 Larry Page )和谢尔盖•布林 (Sergey Brin)要取c0.85,在这篇文章How Google Finds Your Needle in the Web's Haystack的最后部分讨论到。

Pagerank算法除了对搜索结果进行排序外,还可以应用到其它方面,如估算网络流量,向后链接的预测器,为用户导航等。这篇文章PageRank sculpting.讲述了当前Google的一些改进.

    后记,20019月,PageRank被授予美国专利,专利被正式颁发给斯坦福大学,佩奇作为发明人列于文件中。最后要说的一点,分析PR算法,用到了离散数学,线性代数,概率论,数值计算甚至随机过程,所以看来数学确实很好很强大需要认真学习啊。

分享到:
评论

相关推荐

    Page Rank

    3. **网页排序**:在返回搜索结果时,Page Rank是决定网页顺序的重要因素之一。 **源代码与学习资料:** 对于想要深入了解Page Rank算法的开发者来说,可以下载提供的"Page Rank"压缩包文件,其中可能包含了实现...

    Rank-Rnet.rar_Page Rank_driverh92_page_重要性排序

    Page Rank是Google创始人Larry Page提出的一种网页排名算法,它通过计算网页之间的链接关系来评估网页的重要性,成为搜索引擎优化(SEO)领域的一个核心概念。在这个名为"Rank-Rnet.rar"的压缩包文件中,我们看到一...

    [搜索链接]Page Rank查询_pagerank.zip

    Page Rank是Google创始人Larry Page提出的一种网页排名算法,它在搜索引擎优化(SEO)领域具有重要地位。这个压缩包文件“Page Rank查询_pagerank.zip”很可能包含关于Page Rank算法的详细资料,帮助我们理解其原理...

    Google Page rank 算法经典论文

    ### Google Page Rank 算法经典论文解析 #### 引言 随着互联网的快速发展与海量信息的积累,搜索引擎成为人们获取所需信息的重要工具之一。在众多搜索引擎中,Google以其高效、精准的搜索结果脱颖而出,而这一切的...

    人工智能-项目实践-搜索引擎-基于page rank的个人搜索引擎项目

    Page Rank是由Google创始人拉里·佩奇和谢尔盖·布林提出的算法,用于评估网页的重要性。该算法的基本思想是,一个网页的Page Rank值不仅取决于其本身的质量,还与链接到它的其他网页的Page Rank有关。高Page Rank的...

    google's page rank and beyond&&&Understanding search engines

    1.google's page rank and beyond2.Understanding search engines附带阅读器,欢迎搜索爱好者和我联系交流,email:gigglesun@163.com.

    根据《集体智慧编程》实现的一个小型的搜索引擎,包括page rank算法和BF 神经网络算法的实现.zip

    Page Rank是Google的创始人拉里·佩奇和谢尔盖·布林提出的著名算法,用于评估网页在互联网上的重要性。其基本思想是:一个被许多高质量网页链接的页面,其Page Rank值通常较高。Page Rank的计算过程涉及以下几个...

    谷歌pagerank算法

    谷歌 pagerank 算法是互联网历史上具有里程碑意义的算法之一,由谷歌创始人拉里·佩奇和谢尔盖·布林共同设计。它的核心思想来源于论文引用关系的研究,认为一篇论文的重要性可以通过引用它的其他论文数量来衡量。在...

    Google-Chrome-Google-Page-Rank:获取 Google 页面排名并将其显示在地址栏中的 Chrome 扩展程序

    "Google-Chrome-Google-Page-Rank" 指的是一款针对 Google Chrome 浏览器的扩展程序,它的主要功能是获取网页的 Google Page Rank(谷歌页面排名),并将其结果显示在浏览器的地址栏中。Google Page Rank 是 Google ...

    ASP.NET百度权重,alexa排名,google page rank,google收录,百度收录和百度快照查询源代码.rar

    通过分析和使用这些源代码,开发者可以更好地理解如何与百度和Google的API交互,获取并展示网站的SEO相关数据。这对于网站管理员和SEO专家来说是一个有价值的工具,可以帮助他们监控和改进网站的搜索引擎表现。

    page rank 介绍

    PageRank是Google搜索引擎早期采用的一种核心算法,由斯坦福大学的Sergey Brin和Lawrence Page在1998年提出。这个算法是第一代谷歌搜索引擎的基础,它被用来衡量网页的重要性和进行搜索结果的排序。PageRank的理论...

    英文原版-My Secret Of Ranking On The First Page Of Google Without Paying 1st Edition

    The first page Google rankings is what this eBook will strive to provide for you and it will offer you with hidden Google secrets which can help your web site or pages to rank well on search results....

    C# winform 获取 google pagerank

    此方法用于C# winform 获取指定页面的google pagerank值,绝对正确

    pagerankmatlab代码-Google-PageRank:使用Matlab计算网络的GooglePage-rank

    pagerank matlab代码Google-PageRank 使用 Matlab 计算网络的 Google Page-rank。 如果你有类似的作业,请不要复制代码,试着理解它。

    国外PR批量查询工具

    PaRaMeter stands for "Page Rank Meter" - a free Google PageRank checking and monitoring tool. PageRank is one of the methods Google uses to determine how relevant and important a page is. PageRank is ...

    Matt Cutts:不要把注意力放在PR上.docx

    标题中的“Matt Cutts:不要把注意力放在PR上”指的是Google前员工Matt Cutts的一段视频讲解,他建议网站管理员和SEO专家不应该过分关注Google的Page Rank(PR)。Page Rank是Google早期用来衡量网页重要性的算法,...

    Google Page Rank:用于收集网页的Google Page Rank的工具和库。-开源

    该项目是一个简单的Qt库扩展,用于检索任何公共网页的Google页面排名。 您可以异步使用库功能,这意味着您可以发送请求,稍后再收到一条带有答案的消息,您可以继续执行其他工作。 该项目还包括一个命令行工具,用于...

    评论:Google的潘多拉星球.docx

    评论中的内容讨论了Google搜索引擎的发展历程及其核心技术Page Rank的演变。Google搜索引擎的使命是通过爬行、收录、相关性计算和传送四个步骤,为用户提供准确的答案。早期的搜索引擎依赖于简单的重要性排名,容易...

    googles[1].pagerank.and.beyond_langville.meyer

    PageRank是谷歌创始人拉里·佩奇和谢尔盖·布林在1990年代末发明的一种网页评级系统,它通过分析网页之间的链接结构来评估网页的重要性。PageRank的基本思想是,一个被许多高质量网页链接的页面本身也更可能是高质量...

Global site tag (gtag.js) - Google Analytics