引言
在推荐系统中,常常用二部图来表示用户和物品的关系:把用户(Users)看成一类点,把物品(Objects)看成另一类点。如果用户购买了某种物品,那么用户和物品之间就存在一条连线,也就是一条边。如果用户没有购买某种物品,那么用户和物品之间就没有连线。但是用户和用户之间,物品和物品之间是不存在连线的。换句话说就是同一类点之间是不存在连线的。这样的图结构就叫做二部图。电子商务中间的物品推荐,可以看成是二部图的边的挖掘问题。扩散过程可以用来寻找二部图中两个节点的关联强度。经典的扩散过程分成两类:一种叫做物质扩散(Probabilistic Spreading),它满足能量守恒定律;另一种叫做热传导(Heat Spreading),一般由一个或多个热源(物品)驱动,不一定满足能量守恒定律。
物质扩散(Probabilistic Spreading)算法流程
如图所示,用黄色的点来表示用户,用红色的点表示物品。用户有三位,物品有四个。第一个用户和第一个物品有连线表示第一个用户购买了第一个物品,而与第二个物品没有连线表示第一个用户没有购买第二个物品。根据图像(a)所示,第一个物品和第三个物品有能量1,第二个物品和第四个物品有能量0.对于物质扩散过程,第一个物品需要把自己的能量1平均分配给购买过它的用户一和用户二。第三个物品也需要把自己的能量1平均分配给购买过它的用户一和用户三。用户的能量就是所有用物品得到的能量的总和。正如图像(b)所示,第一个用户此时具有能量1,第二个和第三个用户都具有能量1/2.接下来,每个用户再把自身的能量平均分配给所有购买过的物品,物品的能量则是从所有用户得到的能量的总和。所以第一个物品的能量就是第一个用户的能量乘以0.5加上第二个用户的能量乘以1/3,所得的能量则是2/3.其他物品的能量用类似的方法计算。
物质扩散(Probabilistic Spreading)数学模型
假设有m个用户(Users)和n个物品(Objects),可以构造矩阵 如果
,那么表示用户i购买了物品j;如果
, 那么表示用户i没有购买物品j。用
来表示物品1到物品n的能量。用
表示用户
的度,也就是该用户购买的物品数量。用
表示物品j的度,也就是该物品被多少个用户购买过。根据物质扩散的算法描述,第一步需要计算出用户从物品那里得到的能量,此时用户
得到的能量用
表示,那么
后面需要通过用户的能量来更新物品的能量,假设物品的新能量用
表示,那么
把的公式带入上面可以得到对于
我们有
在这里对于
假设矩阵
列向量
和
,那么
性质1. 矩阵每列的和都是1,i.e.
对于所有的
都成立。
证明.
性质2.对于所有的
都成立。换言之,矩阵
不一定是对称矩阵,只有在所有物品的度都完全一致的情况下才是对称矩阵。
证明. 根据和
的定义可以得到结论。
性质3. 矩阵对角线上的元素是该列的最大值。i.e.
对于所有的
都成立。
证明. 根据矩阵的定义,对于所有的
可以得到
性质4. 能量守恒定律:
证明. 根据前面的性质,已经知道矩阵每一列的和都是1,i.e.
可以直接计算得到:
性质5. 如果物品的用户都是物品
的用户,换句话说,如果
则有
那么
对于所有的
都成立。反之,如果
那么物品
的用户都是物品
的用户。
证明. 根据的定义,可以得到
根据条件,如果则有
那么上面两个式子相等。i.e.
对于所有的
都成立。
根据上面性质,可以定义变量
其中可以看成物品
与物品
的独立程度。如果
那么说明物品
的用户都是物品
的用户。如果
那么说明物品
的用户与物品
的用户则没有交集。换言之,物品
与物品
则相对独立。根据这个性质,如果
越小,那么物品
与其他物品就相对独立。
性质6.对于所有的
都是成立的。
证明. 根据以上性质可以得到对于
都成立,并且
所以上面性质成立。
基于物质扩散算法的用户相似度
回顾一下基于用户的协同过滤算法:用户的相似度是
或者使用余弦表达式
如果用户并没有选择物品
那么预测分数则是
这里的求和指的把除了用户的其他用户做相似度的加权,看用户
是否购买了物品
然后对于任意的用户和物品组成的对
只要
(意思是用户
并没有购买过物品
),根据预测分数
从大到小对
排序,推荐
值大的物品给用户
即可。以上就是基于用户的协同过滤算法。
下面来介绍基于物质扩散方法的算法。与上面的方法类似,第一步就是定义用户相似度如下:
上面定义表示物品购买的人越多,用户的相似度
就会减少。原因就是比方说像新华字典这种购买的人非常多的物品,并不能说明大多数人都是相似的,反而是购买数学分析这种物品的人相似性比较大。也就是说物品的热门程度
对计算用户相似度的时候有抑制作用。此时的评分系统则是:如果用户
之前没有购买物品
那么其预测分数则是
对于物质扩散的算法,可以用以下简单方法进行推广。增加参数定义用户
和用户
的相似度
如下:
当时,减弱了热门物品对用户相似度的影响;当
时,增加了热门物品对用户相似度的影响。某篇论文显示基于某些数据,
是最佳的参数。