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