美文网首页
图算法之PageRank

图算法之PageRank

作者: 老羊_肖恩 | 来源:发表于2019-07-31 17:08 被阅读0次

      PageRank是以谷歌联合创始人拉里•佩奇(Larry Page)的名字命名的,用于在谷歌的搜索结果中对网站进行排名。由Sergey Brin与Larry Page于1998年在WWW7会议上提出来的,用来解决链接分析中网页排名的问题。PageRank及其变种在谷歌搜索的网页排序功能中大显身手,也奠定了现代搜索引擎算法的基础。由于不同的网页之间互相存在连接,因此每个网页的重要性排序十分重要,由此PageRank的基于很简单的假设,即:

    • 当一个网页被更多网页所链接时,其重要性很高,故而排名会越靠前;
    • 排名高的网页应具有更大的表决权,即当一个网页被排名高的网页所链接时,该网页的重要性也相应较高。

    基于以上两点,我们可以知道,任何一个网页的重要性,取决于连接到该网页的其他网页的重要性的加权之和。这里,我们将这种重要性定义为\small PR。那么对于任意一个网页,其重要性可以表示为:
    PR_i =\frac{1-\alpha}{|E|} + \sum_{(j,i)\in E} \frac{\alpha PR_j}{Oj}其中\alpha称之为阻尼系数,常置为0与1之间的一个常数,默认是0.85,\small (j,i)表示网页\small j指向网页\small i\small PR_i表示第\small i个网页的PageRank值,用以衡量每一个网页的排名;若排名越高,则其PageRank值越大。网页之间的链接关系可以表示成一个有向图\small G=(V,E),边\small (j,i)代表了网页\small j链接到了网页\small i\small O_j为网页\small j的出度,也可看作网页\small j的外链数。
      假定\small P=(PR_1,PR_2,⋯,PR_n)^T\small n维PageRank值向量,\small A为有向图\small G所对应的转移矩阵,那么原公式可以改写为:
    P_{n+1}=A^TP_n于是计算PR值的过程就变成了一个 Markov 过程,那么PageRank算法的证明也就转为证明 Markov 过程的收敛性证明:如果这个 Markov 过程收敛,那么\small \lim_{n \rightarrow \infty} P_{n}存在,且与\small P_0的选取无关 。

    PR值计算方法

    幂迭代法(power iteration)

      首先给每个页面赋予随机的\small PR初始值,然后通过\small P_{n+1}=A^TP_n不断地迭代\small PR值。当收敛于\small |P_{n+1}−P_n|<ϵ后迭代结束,获得所有页面的\small PR值。

    示例

      以下是PageRank在neo4j中的实现示例。分别是有向无权图和有向有权图上的运行结果。

    有向无权图
    image.png

    代码如下:

    CALL algo.pageRank.stream('Page', 'LINKS', {iterations:20, dampingFactor:0.85})
    YIELD nodeId, score 
    RETURN algo.asNode(nodeId).name AS page,score ORDER BY score DESC
    
    结果如下: image.png
    有向有权图
    image.png

    代码如下:

    CALL algo.pageRank.stream('Page', 'LINKS', {
      iterations:20, dampingFactor:0.85, weightProperty: "weight"
    })YIELD nodeId, score  
    RETURN algo.asNode(nodeId).name AS page,score ORDER BY score DESC
    
    结果如下: image.png

    参考:

    1. https://www.cnblogs.com/en-heng/p/6124526.html
    2. https://neo4j.com/docs/graph-algorithms/current/algorithms/page-rank/

    相关文章

      网友评论

          本文标题:图算法之PageRank

          本文链接:https://www.haomeiwen.com/subject/ghnzrctx.html