pagerank算法

参考网址

blog.csdn.net/gamer_gyt/a…

1/什么是pagerank

PageRank中的Page可是认为是网页,表示网页排名,
也可以认为是Larry Page(google产品经理),因为他是这个算法的发明者之一,还是google CEO(^_^)。

PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。

它的思想是模拟一个悠闲的上网者,上网者首先随机选择一个网页打开,
然后在这个网页上呆了几分钟后,跳转到该网页所指向的其他网页,
这样无所事事、漫无目的地在网页上跳来跳去,PageRank就是估计这个悠闲的上网者分布在各个网页上的概率。
复制代码

2/最简单pagerank模型

互联网中的网页可以看出是一个有向图,其中网页是图中的节点,
如果网页A有链接到网页B,则存在一条有向边A->B,下面是一个简单的示例:
复制代码

image.png

上面这个例子中只有四个网页,如果当前在A网页,那么悠闲的上网者将会各以1/3的概率跳转到B、C、D,
这里的3表示A有3条出链,如果一个网页有k条出链,那么跳转任意一个出链上的概率是1/k,
同理D到B、C的概率各为1/2,
而B到C的概率为0。
一般用转移矩阵表示上网者的跳转概率,如果用n表示网页的数目,则转移矩阵M是一个n*n的方阵;
如果网页j有k个出链,那么对每一个出链指向的网页i,有M[i][j]=1/k,
而其他网页的M[i][j]=0;
上面示例图对应的转移矩阵如下:
复制代码

image.png

初始时,假设上网者在每一个网页的概率都是相等的,即1/n,于是初始的概率分布就是一个所有值都为1/n的n维列向量V0,用V0去右乘转移矩阵M,就得到了第一步之后上网者的概率分布向量MV0,(nXn)*(nX1)依然得到一个nX1的矩阵。下面是V1的计算过程:
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享