3-1 personal rank 算法的背景与物理意义

基于图的推荐--personal rank 

1.背景

首先介绍基于图的个性化召回算法--personal rank的背景。

(1)用户行为很容易表示为图

图这种数据结构有两个基本的概念--顶点和边。

在实际的个性化推荐系统中,无论是信息流场景、电商场景或者是O2O场景,用户无论是点击、购买、分享、评论等等的行为都是在user和item两个顶点之间搭起了一条连接边,构成了图的基本要素。

实际上这里user与item构成的图是二分图,后面会介绍二分图的概念以及结合具体的例子展示如何将用户行为转换为图。

(2)图推荐在个性化推荐领域效果显著

2.二分图

二分图又称为二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点 i 和 j 分别属于这两个不同的顶点集(i in A, j in B),则称图G为一个二分图。

则,推荐系统中,user、item恰好满足两种独立的集合,并且用户行为总是从user顶点到item顶点集合,所以由推荐系统中user和item之间构成的图就是二分图。

接下来结合具体实例讲解如何将用户的行为转化为二分图。

假设某推荐系统中有4个用户:A B C D,以及从日志(log)中发现对如下item有过行为:

即:user A 对 item a、b、d有过行为,userB 对 item a、c有过行为,userC对 item b、e有过行为,userD 对 item c、d有过行为。

首先将user、item分成两组不相交的集合,如下:

然后,将所有user 对 item 有过行为的进行连线,就可以得到二分图,如下:

此时就有问题,对于userA 来说,item c 和item e哪个更值得推荐?

这里共有5个item,其中用户A已经对item a、b、d有过行为,这里行为是指信息流产品中的点击或者电商产品中的购买等表示user对item喜欢的这种操作。

那么personal rank恰恰是这么一种算法,它能够结合用户行为构成的二分图,对于固定用户对item集合的重要程度给出排序,也就是说将user A 没有对item c 和item e有过行为,但是personal rank算法可以给出item c 和item e对于user A来说,哪个更值得推荐。

下面从物理意义的角度来分析一下,从二分图上如何分析出来item集合对user的重要程度。

3.物理意义

(1)两个顶点之间连通的路径数

如果要比较两个item顶点对固定user的重要程度,只需分别看一下user到两个item顶点的路径数,路径数越多的顶点越重要。

(2)两个顶点之间连通的路径长度

同样路径数的情况下,总路径长度越短的顶点越重要。

(3)两个顶点之间连通路径经过顶点的出度

这里解释一下出度的概念:出度是指顶点对外连接边的数目。如user A对item a、b、d有过行为,即为有条连接边,则A的出度为3。如果前两项都相同,则两个item对固定user 的重要程度则比较经过顶点所有的出度和,如果出度和越小则越重要。

这里回归第二部分中的问题--对于user A来说,item c 和item e哪个更值得推荐?

 

1.分别有几条路径连接?

首先看A-c 之间有几条路径连通:分别是A-a-B-c,A-d-D-c 两条路径连通。

再来看A-e 之间有几条路径连通:A-b-C-e一条路径

从这一角度出发,可以知道 c 比 e 重要。

2.连通路径的长度分别是多少?

首先看A-c 之间有几条路径连通:分别是A-a-B-c,A-d-D-c ,长度都为3

再来看A-e 之间有几条路径连通:A-b-C-e长度为3

3.连通路径的经过顶点出度分别是多少?

首先看A-a-B-c这条路径:A出度是3,a出度是2,B出度是2,c出度是2

再看A-d-D-c这条路径:A出度是3,d出度是2,D出度是2,c出度是2

再看A-b-C-e这条路劲:A出度是3,b出度是2,C出度是2,e出度是1

这里虽然 e 的出度和更小,但是由于1中 c 有两条路径,且1的优先级更高,所以还是应该推荐 c。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值