纯技术:谷歌PageRank算法原理及实现

纯技术:谷歌PageRank算法原理及实现

PageRank算法原理介绍

PageRank算法是google的网页排序算法,在《The Top Ten Algorithms in Data Mining》一书中第6章有介绍。大致原理是用户搜索出的多个网页需要按照一定的重要程度(即后面讲的权重)排序,每个网页的权重由所有链接到它的其他 网页的权重的加权和,加权系数为每个网页链出的网页数的倒数,也就是说每个网页的权重会平均分配到其链向的所有网页。

例如A链接到B和C,B链接到C,C链接到A,P(X)表示X的权重,如下图所示

图片[1]-纯技术:谷歌PageRank算法原理及实现-一鸣资源网

分析总结

对于上面这个公式,看到网上有人假定P的总能量是1,则可以改写为P=BP 的形式来进行迭代,这种方法也实现了一下,问题仍然是当存在网页链入或者链出数为0时,每次迭代后不能保证能量守恒,那么下一次就会导致P=BP这个公式 不成立,从而出现迭代不收敛;一种有效的做法是每次迭代后就将P进行能量规一化,这样是可以保证结果的收敛性的。但是这种做法与原始算法的结果会有一点细 微的出入。因此建议按照原始的公式进行迭代求解。

© 版权声明
THE END