pagerank算法实验报告.doc
- guocuilv2018个人认证 |
- 2020-04-15 发布|
- 17.74 KB|
- 2页
PageRank算法实验报告
一、算法介绍
PageRank是 Google专有的 算法,用于衡量特定网页相对于 搜索引擎索引中的其他网页而言的重要程度。它由Larry Page 和 Sergey Brin在20世纪90年代后期发明。PageRank实现了将链接价值概念作为排名因素。
PageRank的核心思想有2点:
1.如果一个网页被很多其他网页链接到的话说明这个网页比较重要,也就是pagerank值会相对较高;
2.如果一个pagerank值很高的网页链接到一个其他的网页,那么被链接到的网页的pagerank值会相应地因此而提高。
若页面表示有向图的顶点,有向边表示链接,w(i,j)=1表示页面i存在指向页面j的超链接,否则w(i,j)=0。如果页面A存在指向其他页面的超链接,就将A的PageRank的份额平均地分给其所指向的所有页面,一次类推。虽然PageRank会一直传递,但总的来说PageRank的计算是收敛的。
实际应用中可以采用幂法来计算PageRank,假如总共有m个页面,计算如公式所示:
r=A*x
其中A=d*P+(1-d)*(e*e'/m)
r表示当前迭代后的PageRank,它是一个m行的列向量,x是所有页面的PageRank初始值。
P由有向图的邻接矩阵变化而来,P'为邻接矩阵的每个元素除以每行元素之和得到。
e是m行的元素都为1的列向量。
二、算法代码实现
PageRank算法代码:
>> clear
G=[0 0 0 1 0 1;1 0 0 0 0 0;0 1 0 0 0 0; 0 1 1 0 0 0;0 0 1 0 0 0;0 0 1 0 1 0];%设置邻接矩阵
p=0.85;%阻尼系数
d = sum(G);%求每列的和
[n,n]=size(G);%网页数量,矩阵的维数
D = diag(1./d);%