PageRank 算法
算法原理
PageRank算法是Coogle搜索擎对检索结果的一种排序算法。它的基本思想主要是来自传统文献计量学中的文献引文分析,即一篇文献的质量和重要性可以通过其他文献对其引用的数量和引文质量来衡量,也就是说,一篇文献被其他文献引用越多,并且引用的文献的质量越高,则该文献本身就越重要。
重要假设
- 数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。
- 质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。
具体实现
PagsRank算法的具体实现可以利用网页所对应图的邻接矩阵来表达超链接关系。为此,首先写出所对应图的邻接矩阵V。为了能将网页的页面等级值平均分配给该网页所链接指向的网页,对W各个行向量进行归一化处理,得到矩阵P。矩阵P称为状态转移概率矩阵,它的各个行向量元素之和为1,PT 的最大特征值(一定为1)所对应的归一化特征向量即为各顶点的PageRank值。
PageRank值的计算步骤如下:
-
构造有向图 D = ( V , A , W ) D=(V,A,W) D=(V,A,W),其中 V = { v 1 , v 2 , . . . , v N } V=\{v_1,v_2,...,v_N\} V={ v1,v