CS224WLec4-PageRank

PageRank

  • 一个node的重要性由指向它的节点的重要性决定 —> 指向该node的节点数越多,且这些节点重要性越高,则该节点越重要。node j的重要性(传递函数)为:
  • 矩阵形式:

    • 随机邻接矩阵M。j有个出链,如果j -> i,则,因此每一列上的值要么为0,要么为,且加和为1,称为列随机矩阵
    • rank vector r: 为node j的重要性score,且
    • n*1 = n*n * n*1:
      ,
  • PageRank VS RandomWalk: 当random walk到达静态分布状态时满足,即PageRank得到的重要性向量v是random walk的静态分布
  • PangRank VS Eigenvector: PageRank得到的重要性向量v是当特征值为1时得到的主特征向量

Solve the equation

  • method: power iteration
    • initialize: 初始化,给每个node一个page rank值。e.g.
    • iterate: 迭代即:
    • stop: 也可以选择其他度量方式

Problems

  • dead ends: 遇到死胡同 —》 某个节点所在列的M为全0 —》随机矩阵不再随机,秩 < n —》pagerank会收敛为全0
    • solution: 填充M中的该列,例如填充为1/n
  • spider trap: 在某个节点处死循环
    • solution: 允许random surfer跳到一个随机page。加一个超参β,表示是否沿着这条link走的概率,1-β表示随机jump的概率 —》相当于改了M
  • Google solution: teleport rankpage。β表示page j由其他page的出链决定,1-β表示由其他随机page决定
    • equation
    • matrix G

PageRank扩展

  • Personalized PageRank: teleport到在指定的子图S
  • Random walks with restarts: teleport到start page

Limitations

  • 无法获得训练集里没有的node的embedding,必须重新训练
  • 无法捕获结构相似性:例如同一张图中的局部结构相似性
  • 无法利用node/edge以及图的特征:例如无法利用节点的其他属性
  • 解决方法:deep learning, GNN