如何优雅的理解PageRank

博客引流

一口气开始别憋气

终于Tex调好了 刚好最近又多次提及PageRank 于是~

目测这一系列 有个两三篇blog

PageRank 是 由佩奇(Larry Page)等人提出 的 Google 最为有名的技术之一
我 乔治 甘拜下风

PageRank 是一种基于随机游走 的 评价网站权值的算法

言而总之 PageRank是一种十分重要的算法 不管在学术界 还是在产业界

Node Similarity & Proximity

在介绍PageRank 需要先来提一下 什么叫节点相似

假设在一个有向图集合G(V, E)中研究两个节点u, v之间的相关性

在这里插入图片描述

上图, 我们可以从感性的认识上判断u, v之间的相似高要比u, w之间的相似度要高

那如何来具体定义相似度呢

Common neighbor

我们很容易可以想到 好像 一个节点的邻居集合可以表征这个节点的周围结构

实际上这就是CN算法(common neighbor)

规定 C N ( u , v ) = n e i ( u ) ∩ n e i ( v ) CN(u, v)=nei(u)\cap nei(v) CN(u,v)=nei(u)nei(v)

Jaccard

单纯的数值对于估计一个节点的相似度 可能存在标准不统一的情况

故jaccard在CN的基础上做了一个归一化的处理

得到 J a c c a r d = C N ( u , v ) n e i ( u ) ∪ n e i ( v ) Jaccard=\dfrac{CN(u, v)}{nei(u)\cup nei(v)} Jaccard=nei(u)nei(v)CN(u,v)

Adamic-Adar Index

A d a m i c − A d a r I n d e x = ∑ 1 l o g N ( v ) Adamic-Adar Index=\sum \dfrac{1}{logN(v)} AdamicAdarIndex=logN(v)1

当然还可以按计算时用到部分点还是全部点来进行分类

  • local
    • Common Neighbors(CN), Jaccard, Adamic-Adar Index
  • grobal
    • Personalized PageRank(PPR), SimRank, Katz

事实上 节点相似度在生产过程中有极强的落地场景

尤其是和社交网络分析相关的好友推荐

另外 还可以运用在Top-k的关系发现当中

传言王者荣耀的好友推荐 就是用PPR做的

最后需要提一句 N o d e S i m i l a r i t y ̸ = N o d e P r o x i m i t y Node Similarity\not = Node Proximity NodeSimilarity̸=NodeProximity

一般而言, s i m ( u , v ) = s i m ( v , u ) sim(u, v) = sim(v, u) sim(u,v)=sim(v,u), 但 p ( u , v ) ̸ = p ( v , u ) p(u, v) \not = p(v, u) p(u,v)̸=p(v,u)

Naive PageRank

P R ( u ) = ∑ v ∈ N i n ( u ) N 1 N o u t ( v ) P R ( v ) PR(u)=\sum\limits_{v \in N_{in}(u)}^N \dfrac{1}{N_{out}(v)}PR(v) PR(u)=vNin(u)NNout(v)1PR(v)

S.t. P R ( u ) ≥ 0 PR(u) \ge 0 PR(u)0, ∑ P R = 1 \sum PR = 1 PR=1

直观上看PR值的计算是一个迭代的过程,通过出度把PR值分配给下游节点

但Naive PageRank在计算的过程中会出现一些问题

P R ⃗ = P T ⋅ P R ⃗ \vec {PR} = P^T \cdot\vec{PR} PR =PT

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值