ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Page Rank 算法

2021-08-16 11:33:16  阅读:145  来源: 互联网

标签:网页 迭代 frac cdots Rank 链接 算法 排名 Page


背景

总的来讲,对于一个特定的查询,搜索结果的排名取决于两组信息,关于网页的质量信息,和这个查询与每个网页的相关信息。PageRank算法就是一种衡量网页质量的方法。
 

核心思想(原理)

在互联网上,如果一个网页被很多其它网页所连接,说明它受到普遍的承认和信赖,那么它的排名就高。
 

算法细节

算法的思想如上文所诉,但实际上要复杂得多。比如说,对于来自不同网页的链接区别对待,因此网页排名高的那些网页的链接更可靠,于是给这些链接以较大的权重。

可以想像,一个新开的质量差的网站与另一个质量好的老网站它们的权重显然是不同的,否则就可以轻易作弊。

那接下来的问题就是这些网站的权重要如何度量呢,可以想到应该是网页本身的网页排名。现在麻烦来了,计算搜索结果的网页排名的过程中需要用到网页本身的排名。

解决方法是,把这个问题变成一个二维矩阵相乘的问题,并且用迭代的方法解决。先假定所有网页的排名是相同的,并且根据这个初始值,算出各个网页的第一次迭代排名,然后再根据第一次迭代排名算出第二次的排名 。
 

PageRank计算方法

假定如下向量,为第一、第二、...第N个网页的网页排名。

\[B=(b_1,b_2,...b_N)^T \]

如下矩阵为网页之间的链接数目,其中\(a_{mn}\)代表第m个网页指向第n个网页的链接数。

\[A= \begin{bmatrix} a_{11} & \cdots & a_{1n} & \cdots & a_{1M} \\ \cdots \\ a_{m1} & \cdots & a_{mn} & \cdots & a_{mM} \\ \cdots \\ a_{M1} & \cdots & a_{Mn} & \cdots & a_{MM} \\ \end{bmatrix} \]

A是已知的,B是未知的,是我们需要计算的。
假定\(B_i\)是第i次的迭代的结果,那么

\[B_i=A \cdot B_{i-1} \]

初始假设:所有网页的排名都是1/N,即

\[B_0=\left( \frac{1}{N},\frac{1}{N},\cdots,\frac{1}{N} \right) \]

注:关于矩阵计算的优化与技巧和链接数量的平滑,这里并没有给出,可以查阅相关资源。


参考
《数学之美》

标签:网页,迭代,frac,cdots,Rank,链接,算法,排名,Page
来源: https://www.cnblogs.com/hwyang/p/15146912.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有