总结PageRank

版权声明:本文为博主原创文章,欢迎转载,但请注明出处~ https://blog.csdn.net/njustzj001/article/details/46930137

PageRank


当我们根据关键词搜索互联网上的内容时,对于不止一个的搜索结果,谁先谁后呢?PageRank就是为了解决这个问题而生的。

PageRank,一个对网页进行排序的算法,由佩奇和布林为Google设计。该算法将整个互联网中的网页看做是一个整体,不考虑具体每一个网页的内容属性,而只关注网页之间的关联。

我们知道,网页之间的关系无非就是链接的指入和指出。PageRank认为,如果一个网页被很多其它的网页所指入,说明这个网页就比较有“公信力”,所以它的排名就越高。这就相当于其它的网页给这个网页进行了一次投票。然而,并不是所有网页的投票都具有相同的作用,排名高的网页投出的票更容易成为“非常宝贵的一票”。

但是,按照上边所述,对一个网页排名需要其他网页投票,而其他网页的投票重要性又取决于自己的排名,这就成为了一个“先有鸡还是先有蛋”问题。解决办法是,先将所有网页的排名赋一个初值,然后经过不断迭代,直到收敛,最后的排名就是稳定的。

具体地,网页之间的指入指出关系可以用一个二维方阵来描述,这个方阵的边长就是网页的个数。每个网页的排名就是一个列向量,向量的长度就是网页的个数。然后,每一次迭代其实就是将列向量左乘这个二维矩阵。

PageRank的计算本质上就是一个矩阵相乘。这种计算可以分成多个小任务并行完成,比如使用MapReduce。

猜你喜欢

转载自blog.csdn.net/njustzj001/article/details/46930137