您的位置:首页 > 其它

基于图的评级算法——PageRank

2016-08-20 13:55 169 查看
简介

PageRank算法由Google创始人提出,用来给互联上的网页进行重要性打分。

细说

PageRank算法对人们在网页间跳转的行为进行建模并根据人们最终停留在某一个网页的概率来对这个网页的重要性进行打分:人们在上网的时候,在任何一个网页上,可能通过点击网页上的超链接跳转到下一个页面,也可能在浏览器地址栏输入其它网页的地址跳转到下一个页面,在若干次跳转之后,人们停留在某个网页的概率作为这个网页的重要性分值。接下来,我们推导出这个模型的数学公式。

人们,在一个有出链(指向其它网页的链接)的网页i上,点击网页i上的超链接跳转到下一个页面的概率是d,在浏览器地址栏输入网页地址跳转到下一个页面的概率为1 - d,在一个没有出链的网页i上,点击网页i上的超链接跳转到下一个页面的概率是0,在浏览器地址栏输入网页地址跳转到下一个页面的概率为1;网页i上的超链接数(出链数)定义为Oi,则从网页i,通过点击超链接方式,跳转到到它指向的某个网页的概率为1Oi,跳转到它没指向的网页的概率为0;假设整个互联网上有m个网页,从网页i,通过在浏览器地址栏输入网址的方式,跳转到任意网页的概率为1m。于是,我们得到从网页i跳转到网页j的转移概率为:

Pij={(1−d)1m+d1Oi,1m,xOi>0Oi=0

所有网页间的转移概率构成一个m x m的转移概率矩阵:

A=⎡⎣⎢⎢⎢⎢⎢P11P21⋮Pm1P12P22⋮Pm2⋯⋯⋱⋯P1mP23⋮Pmm⎤⎦⎥⎥⎥⎥⎥

到这里,我们终于明白,人们浏览网页的行为就是一个马尔可夫链,网页就是状态,A就是转移概率矩阵。

求解

既然我们已经知道PageRank算法就是人们浏览网页的一个马尔可夫链,那么计算,在若干次跳转之后,人们停留在某个网页的概率,也就是计算马尔可夫链的n步转移概率,具体计算方式见基于图的评级算法基础——马尔可夫链。我们还知道,矩阵(AT)k(A转置的k次方)的所有元素都大于0,所以只要人们跳转此数足够多,停留在某一个网页的概率将会是一定的。

为什么PageRank算法可行

其实,也就是问,为什么可以把人们最终停留在某个网页的概率值作为这个网页的重要性评分?根据计算网页间的转移概率和计算n步转移概率的公式可知,一个网页的分值之所以和另一个网页不同,是因为这个网页被别的网页指向的次数以及指向这个网页的的网页自身的重要性(活着说被人们停留的概率),这符合了人们认为一个人重要的事实:被越多重要的人推荐的人越重要,网页通过链接指向来表示推荐。其实,还是有一种人也很重要,就是能向你推荐很多重要的人的人,这种人就像武侠电视剧里面的包打听。接下来介绍的HITS算法就采用了这两种方式来衡量图中节点的两种重要性。

参考资料:

《概率导论》第2版,(美)伯特瑟卡斯,(美)齐齐克利斯 著,郑忠国,童行伟 译

《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译

《线性代数及其应用》第3版,(美)莱(Lay,D.C.) 著,刘深泉 等译
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息