一分钟了解pagerank最基本原理

来源:互联网 发布:sketch 46 破解版 mac 编辑:程序博客网 时间:2024/04/30 07:45
这里介绍下pagerank算法的最最最最最基本的原理

pagerank是搜索引擎中对网页进行排序的一种算法,更准确的说是给网页分配权重用的。该算法由google的两大boss佩奇和布林发明。

每个网页中会有很多超链接,<a></a>之类的。当然随着js技术的发展,网页中的链接不会全是在<a></a>中给出。提取网页中的链接也是网络爬虫的最重要组成部分之一,可以用机器学习的方式等。一个网页的权重由指向该网页的网页数量决定。如网页P(i)的权重定义为:
Weight(P(i)) = sum(Qj*Aj),其中Aj表示网页P(j)中指向P(i)的链接数占其总包含链接数的比值,Qj表示网页P(j)自身的权重。
以上公式是个自依赖的过程,也就是说要求P(i)的权重就必须知道P(j)的权重,而P(j)的权重又可能由P(i)决定。因此以上公式是个迭代的过程,google两大boss证明了该迭代是可收敛的。

这个公式的计算过程可以用矩阵的乘法表示,假设服务器中有n个网页(爬虫爬取的,且经过去重等操作后的数量)。则网页之间的链接关系可以表示为

其中aij表示网页P(j)指向网页P(i)的分量,也就是a0j+a1j+...+anj=1。因为网络中的网页数量非常大,而网页之间的链接关系远不到这个数量级,因此用稀疏矩阵表示N。。
用下式表示网页的权重

初始值为:

将B中的第i行与N中的第i行的每个元素分别求乘积再求和,用所求的值作为新的B,这样就是一次迭代。经过多次迭代后B的值不再变化,就是最后的权重。
0 0