经常看到各种介绍pagerank的文章,但是少有文章能够讲清楚pagerank的思想是如何产生的,事实上这还是要归结到数学原理,这篇文章是讲得让我理解最深刻的:http://www.changhai.org/articles/technology/misc/google_math.php。
pagerank产生思想源于论文引用数,引用次数越高的论文影响力越大。它原则有两点:1,网页被链接的越多,重要性就越高;2,网页被重要性高的网页链接,就越重要。
pn = Hnp0 是该想法的出发点,计算出最终各个网页的pageRank值。但是H^{n}矩阵必须保证满足三点要求,也就是三个问题:
- 极限 limn→∞pn 是否存在?
- 如果极限存在, 它是否与 p0 的选取无关?
- 如果极限存在, 并且与 p0 的选取无关, 它作为网页排序的依据是否真的合理?
第三个问题:用pn = Hnp0造成第3个问题的不合理情况,因为悬挂网页的存在,有些网页没有链接其他网页,会造成“网页黑洞”。(背后的数学问题是,存在H矩阵的某一列之和为0,不能构成概率之和为1的特点)
解决办法:通过S = H + aeT/N,加入随机矩阵,模拟用户访问到没有链接的网页时,会随机选择互联网的一个网页作为其链接。
前两个问题:如果不能收敛的话,就得不到pagerank值。
解决办法: 假定虚拟用户在每一步都有一个小于 1 的几率 α 访问当前网页所提供的链接, 同时却也有一个几率 1-α 不受那些链接所限, 随机访问互联网上的任何一个网站。用数学语言来说 (请读者自行证明), 这相当于是把上述 S 矩阵变成了一个新的矩阵 G:G = αS + (1-α)eeT/N。
( 因为随机过程理论中有一个所谓的马尔可夫链基本定理 (Fundamental Theorem of Markov Chains), 它表明在一个马尔可夫过程中, 如果转移矩阵是素矩阵, 那么上述前两个问题的答案就是肯定的。而G矩阵是素矩阵)
这样,PageRank的计算公式就确定了,可以看到,在最终收敛后,p=G^*p,即p是矩阵G中特征值为1的特征向量。其余的特征值lambda满足|lambda|<=alpha
分享到:
相关推荐
truncated-pagerank 计算源代码 java实现
目录 一、实验目的 2 二、实验内容 2 三、实验背景 2 四、实验原理 3 五、实验结果 4 实验一:dead end与spider trap的实验(见附件一) 4 实验二:迭代不同次数的实验(见附件二) 6 实验三:迭代时不同的beta值对...
用matlab编程实现的pagerank算法 与你们分享
三种方法对web-Google.txt进行pagerank计算,1.python以稀疏矩阵方法实现单机计算谷歌网页数据计算pageRank值2.调用networkx库3.调用networkx库,其中pagerank自己实现。
是一个与查询无关的静态算法,所有网页的PageRank值通过离线计算获得;有效减少在线查询时的计算量,极大降低了查询响应时间。 缺点: 1)人们的查询具有主题特征,PageRank忽略了主题相关性,导致结果的相关性和...
内含数据集。执行main.py即可
PageRank分值计算 Python爬虫 数据挖掘实验 华南理工大学
南开大学大数据课程大作业一 :PageRank算法代码
计算大规模网络结点的PageRank值,python实现
实现PageRank算法最为简单的代码,此代码使用java编写,适合与学习搜索引擎了解pageRank算法的初学者。
pagerank - 加权PageRank算法Go实现
主题敏感PageRank 计算主要由两个步骤构成,第1 步是离线的分类主题PageRank 数值计算;第2 步是在线利用算好的主题PageRank 分值,来评估网页和用户查询的相似度,以按照相似度排序提供给用户搜索结果。下面以具体...
pagerank 算法的详细公式,基于此算法的不足讨论改进方法
PageRank 算法的 C 实现,有和没有并行化 包括几个文件: step1.c,PageRank的顺序实现。使用转置的邻接矩阵; step2.c,PageRank的顺序实现。使用邻接矩阵的压缩稀疏行组织; step3.c,PageRank的并行实现。...
因此,其他加速PageRank计算的方法逐渐得到研究者的重视。文中首先对布尔搜索引擎、向量空间模型引擎、概率模型搜索引擎、元搜索引擎等基本搜索引擎模型进行综述,总结各基本搜索引擎模型的特征和优缺点。文中立足于...
很早就对Google的PageRank算法很感兴趣,但一直没有深究,只有个轮廓性的概念。前几天趁团队outing 的机会,在动车上看了一些相关的资料(PS:在动车上看看书真是一种享受),趁热打铁,将所看的东西 整理成此文。 ...
the original pagerank algorithm form Page
南开大学大数据课程大作业一:PageRank算法(分块)
无向图pagerank算法,java版本,完美运行!!!!!!!