1 总览

PageRank是由Sergey Brin和Larry Page在1998年4月的第七届国际全球广域网会议(WWW7)中提出的。它是一个使用超链接的搜索排序算法。基于这个算法,他们穿在了Google搜素引擎,并且取得了巨大的成功。现在,每个搜索引擎都有自己的基于超链接的排序算法。

PageRank产生一个网页的静态排行,也就是说PageRank离线的计算每个页面,并且不依赖于查询。通过使用大量的链接结构作为单个页面的衡量标准,这个算法利用了Web的民主特性。PageRank的精髓就是通过把从x页面到Y页面的一个链接,作为x页面给y页面的投票。然而,PageRank不仅仅只是单纯的统计票数,或者一个页面收到的链接数。它也分析透出票的页面。如果投出票的页面本身是重要的,那么它会使得它投票的对象也是重要的。这就是在社交网络中的“rank prestige(威望等阶)”的思想。

2 算法

现在我们介绍PageRank公式。首先我们先成熟一些Web页面的额内容。
页面i的入链接(in-link):从其他页面指向页面i的超链接。通常而言,从同一个站点的链接不被考虑。
页面i的出链接(out-link):从页面i指向其他页面的超级链接。一般而言,不考虑同一个站点的链接。
下面这些基于rank prestige[86]的思想可以用来驱动PageRank算法:
1. 从一个页面指向另一个页面的超链接是一种暗含的权威的转移。因此,页面i收到的in-link越多,页面i的prestige(威望)就越高
2. 指向页面i的页面也有他们自己的威望分数。拥有较高威望的页面的投票比拥有较少威望的页面的投票更重要。简而言之,被重要的页面指向的页面也是重要的。
根据社交网络中的威望等级,页面i的重要性(这里是i的PageRank分数)是由所有指向i的页面所决定的。因为一个页面可能指向其他的很多页面,它的“威望”应够由它指向的页面来共享。
为了使用公式表达这个思想,我们把Web作为一个有向图G=(V,E)这里的V是顶点,也就是所有页面的集合。E是图的有向边,也就是所有超链接。这里让所有页面的总数设为n(n=|V|)第i个页面的PageRank分数由下面的式子定义。

P(i)=∑(j,i)∈EP(j)Oj

P(i)=\sum_{(j,i)\in E }{P(j)\over O_j}
这里的Oj是页面j的out-link的数量。数学上而言,我们有n个含有n个线性方程的未知数。我们可以用一个矩阵来代表所有的等式。设P是PageRank值的n维列限量,有如下表示:
P=(P(1),P(2),…,P(n))T
设A是我们的图的邻接矩阵

Aij={1/Oi,0,if(i,j)∈Eotherwise

A_{ij}=\begin{cases} 1/O_i, \\ 0, & \text{otherwise} \end{cases}
我们把n个等式的系统写作

P=ATP

P=A^TP (3)
这是特征系统的特征值方程,这里的解P是特征值为1的特征向量。由于这是一个循环的定义,我们使用一个迭代的算法来解决它。事实证明,如果条件满足,1
是最大的特征值,并且PageRank向量P是主特征向量;

Power iteration(幂迭代)[30]是一个用来找到P的有名的数学方法。
然而问题在于由于Web图不满足条件,等式(3)是不重复的。事实上等式(3)也可以由Markov chain(马尔科夫链)得到。然后从马尔科夫链中得到的一些理论就可以被使用。在扩张Web图使得它满足条件之后,下面的等式就产生了:

P=(1−d)e+dATP

P=(1-d)e+dA^TP
这里的e是所有1’s的列向量。这样,我们得到了每个页面i的PageRank公式:

P(i)=(1−d)+d∑j=1nAjiP(j)

P(i)=(1-d)+d\sum_{j=1}^nA_{ji}P(j)
这是公式等加油在原始的PageRank论文中给出的公式:

P(i)=(1−d)+d∑(j,i)∈EP(j)Oj

P(i)=(1-d)+d\sum_{(j,i)\in E}{P(j)\over O_j}
参数d被称为damping factor(尼阻因素),它的值介于0和1之间,在论文[10,52]使用的中d=0.85。
可以使用幂迭代的方法来计算PageRank的值,这样会得到特征值为1的特征向量。这个算法非常简单,可以从Fig4 表4中看到。我们可以从任何的指定的PageRank的初始值开始。如果结果变动不多,那么迭代就救赎。在Fig4中,如果1-残余向量的范式小于预定的阈值e那么迭代就结束。
由于在Web搜索中,我们感兴趣的是网页的排名,所以这个算法最终是否收敛我们是不关心的。这样就可以使用更少的迭代。在[10]中,一个拥有322百万,3.22亿链接的数据库,经过了52次迭代就达到了可以接受的效果。

3 PageRank的未来

自从在论文[10,61]中提出了PageRank算法,研究者就可以提出了很多的加强的模型,和替代模型,用于提高他的计算,增加暂时的维度[91]。Liu,Langville和Meyer的书中包括了一些PageRank的升读分析和其他几个基于链接的算法。

数据挖掘十大算法翻译——6PageRank相关推荐

  1. 数据挖掘十大算法之分类算法(分类介绍及评价指标)

    文章目录 1. 分类相关知识 1.1 分类的概念 1.2 分类的流程 1.3 分类模型评价标准 2. 二分类分类案例 参考文章: 接上篇文章,接下来学习挖掘算法中的分类算法: 首先我们应该知道数据挖掘 ...

  2. 自学数据挖掘十大算法之CART

    分类与回归树(Classification andRegression Trees, CART)算法由Breiman等人于1984年提出,是分类数据挖掘算法的其中一种.CART采用一种二分递归分割的技 ...

  3. 数据挖掘十大算法——简介

    1. 简介 ICDM(国际数据挖掘大会)2006年从18种提名的数据挖掘算法中投票选出了十大算法.这18中提名数据挖掘算法分属10大数据挖掘主题,红色部分即为最终选出的十大算法: 分类(Classif ...

  4. 数据挖掘十大算法之决策树详解(1)

    在2006年12月召开的 IEEE 数据挖掘国际会议上(ICDM, International Conference on Data Mining),与会的各位专家选出了当时的十大数据挖掘算法( to ...

  5. pagerank数据集_从小白视角理解数据挖掘十大算法

    关注上方"数据挖掘工程师",选择星标, 关键时间,第一时间送达! 作者 | 雪山飞猪链接 | https://www.cnblogs.com/chenqionghe/p/12301 ...

  6. 数据挖掘十大算法之—C4.5

    http://www.cnblogs.com/superhuake/archive/2012/07/25/2609124.html C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法.它的目标是 ...

  7. 数据挖掘十大算法之C4.5

    转载自:http://www.cnblogs.com/superhuake/archive/2012/07/25/2609124.html C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法.它 ...

  8. 从小白视角理解“数据挖掘十大算法”

    目录 一.PageRank 原理 比喻说明 二.Apriori(关联分析) 原理 比喻说明 三.AdaBoost 原理 比喻说明 四.C4.5(决策树) 原理 比喻说明 五.CART(决策树) 原理 ...

  9. 数据挖掘十大算法(九):朴素贝叶斯 python和sklearn实现

    第三个算法终于算是稍有了解了,其实当你结合数据了解了它的实现原理后,你会发现确实很朴素.这里对朴素贝叶斯算法做一个介绍和总结,包括(原理.一个代码示例.sklearn实现),皆为亲自实践后的感悟,下面 ...

最新文章

  1. 如何用SPY++工具查看窗体的句柄
  2. 造假露馅!曾创下融资纪录的科技公司,被曝用印度码农冒充AI,挣了1个多亿...
  3. Linux/Centos Mondo 一键部署、镜像恢复,快速部署
  4. 机器学习应用方向(二)~概念漂移(concept drift)
  5. 《写给大家看的设计书:实例与创意(修订版)》—1你已经知道多少了?
  6. win10计算机修改底色,win10电脑如何修改登陆背景
  7. Vue第二部分(4): 嵌套路由和路由传参
  8. [我的常识]动物庄园里说鼻环,到底为啥要穿鼻环呢
  9. 利用密码字典暴力破解渗透目标系统
  10. 本地iis部署之后网页无法打开
  11. Spring Data Jpa 复合主键
  12. Ubuntu 误删文件恢复方法
  13. jquery、css 的选择器(逗号/空格/英文句号/大于号/加号/波浪号)
  14. C语言——首字母大写
  15. mysql返回empty_mysql在文件刪除時返回空集
  16. JQuery18(JQ原理 DOM元素 appendTo append prepend prependTo InsertBefore Before JReplaceAll)
  17. JavaScript 各种验证(转自呆木头)
  18. 百度的工业互联网新解,“开物”加速工业智能化升级
  19. gulp 雪碧图制作
  20. 大数据分析案例-基于朴素贝叶斯算法构建微博谣言检测模型

热门文章

  1. STC15W204S串口通讯,设置自动热加载程序代码(自动下载代码)
  2. 关于做用户修改自我信息时遇到的问题,以及当前解决方法
  3. 1000+份ppt模板及180+简历模板资源分享
  4. Redis Replication
  5. postman中文设置以及Test断言设置总结
  6. DSO窗口优化部分代码注释加理论解析
  7. 安装gutenberg报错,尝试在官网下载文件安装到指定文件夹还是没用
  8. 【NPDP】大师级管理人物盘点:竞争战略之父-迈克尔·波特
  9. 深圳大学算法实验总结2020(实验1~6+大作业)
  10. Centos7 新建server的优化脚本--不适用于所有人