PageRank
如何将图形表示为矩阵?
将图视为矩阵,通过随机游走定义节点重要性。
——>拓展到矩阵分解的概念
node2vec和DeepWalk本质上是一种隐式的矩阵分解的形式
对网络进行讨论:
- 网络如何连接?
- 网络的 map 是什么?
- 两个网络页面的重要性如何比较?
讨论:link 分析方法,目标是计算图中节点的重要性
——>PageRank——>拓展称为个性化PageRank
——>另一种拓展:带重启的随机游走
目标:计算网页在网络上的重要性
最简单的方法:根据网页的链接数
——>进链接 / 出链接。出链接容易伪造
——>是否来自重要的网页的链接也更重要
PageRank:网页的重要性从入链接获取,然后再将自己的重要性平分给出链接
PageRank的矩阵化:
列随机矩阵:每一列之和为1
与随机游走相关联——>stationary分配——>特征向量计算
假设一个冲浪者,随着时间 t 随机地在网络上进入访问节点 j。
设p(t)是访问网页的可能性分配。
需要计算在时间 t+1 时冲浪者在哪儿:使用公式表示
若令p(t+1)收敛 = p(t) ,则 t 的 p 称为随机游走的stationary分布
——>意味着从哪里开始游走都可以
——>联系前述:特征向量中心性
r = M r
——>转换为类似求特征向量
向量 r 是矩阵 M 的主要特征向量,它对应于特征值 1
|
|
|
解PageRank方程:
power迭代法:给定一个迭代过程,随时间更新rank向量。
给每个节点分配一些初始随机性,然后重复迭代过程,直到向量 r 稳定
对这个算法的三个问题:
- 它是否收敛?
- 它是否能够收敛到我们想要的位置?
- 它的结果是否合理?
——>两种可能出现的问题:
- 死胡同:随机游走到没有出路的节点,导致节点丢失重要性——>解决:到达死胡同时节点直接传送,等概率到达任一个节点
- 蜘蛛陷阱:存在自环将节点重要性截断——>解决:每次节点不仅可以随机游走,还可以以一定概率(约0.1-0.2)传送
对PageRank公式进行重新定义:
也可以写为矩阵形式:
迭代公式仍然工作:
|
|
|
带重启的随机游走 & 个性化PageRank
对图的近似性衡量——>解释以上名词
个性化pagerank:当节点进行传送时,它只会传送到兴趣点节点S的子集
带重启的随机游走:S是一个单节点,则可以随机游走,但总是跳回起点
——>随机游走的伪代码:从Q出发,到达一个节点,可以选择传送回Q,也可以选择继续探索
这种方法的好处:
- 考虑了一对节点之间有多少连接和多少路径?
- 这些连接的强度?
- 这些连接是直接的还是间接的?
- 路径上节点的强度?
不同PageRank的总结:
|
|
|
|
总结:
|
|
|