编程语言
首页 > 编程语言> > 机器学习算法--pagerank

机器学习算法--pagerank

作者:互联网

什么是pagerank算法:

该算法的核心思想就是“一个网页的访问量越多,这个网页越是优质的,如果很多优质的网页都指向一个网页,那么这个网页往往也是优质的。”这个的意思是网页的重要性等于所有指向这个网页的网页的重要性之和。

pagerank算法有什么用呢?

往往用于搜索引擎中的根据网页之间的超链接计算的技术,而将网页进行排名的要素直以,又称网页排名,谷歌左侧排名。

pagerank算法的具体实现:

R(i)=\frac{R(i))}{R(j))}

将每一个网页抽象成一个节点,每个节点和每个节点之间是强连通的,多个相同连接不存在重复边,这些网页构成了一个有项图,

假设有个用户的停留在某个页面的时候,跳转到页面上每个连接的概率是相同的,如上图,a向b,c,d跳转的时候,概率均是1/3.设一共有N个网页,则可以组织这样的n维矩阵,其中i行j列的值表示用户从页面j转到页面i的概率,这样的矩阵叫做转移矩阵,则由上图可以得出下面的矩阵M:

M=\begin{bmatrix} 0&1/2 &0 &1/2 \\ 1/3&0 &0 & 1/2\\ 1/3&1/2 &0 &0 \\ 1/3& 0 &1 &0 \end{bmatrix}

v=\begin{bmatrix} 1/4\\ 1/4\\ 1/4\\ 1/4 \end{bmatrix}

 

M的第一行表示a,b,c,d页面到达a页面的概率,则用M的第一行乘以pagerank向量v(阻尼系数,第一次用户访问各个页面的概率是1/4),得到的是一个新的pagerank向量,这个pagerank就是页面a的最新合理估计,也就是访问的优质含量。然后再用M去乘以这个新的pagerank会产生一个更新的pagerank向量,然后不断地迭代,会发现v最终会收敛,mv约等于v,计算停止。

最终的v就是各个页面的pagerank值。

标签:概率,网页,矩阵,算法,pagerank,机器,页面
来源: https://blog.csdn.net/allowancedebug/article/details/87866227