论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

开源代码

主要思想:content + preference,不需要引入额外的内容信息和额外的目标函数,通过dropout来模拟数据缺失进行训练。

本文提出的一种模型,可以结合Memory和Content的信息,但是只使用一个目标函数,即拥有了以往Hybrid model的性能,还解决了冷启动问题,同时大大降低了模型训练的复杂程度。

 

主要定义:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

 

Preference:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 代表的是N个user的集合;

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 代表的是M个Item的集合;

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 和 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 形成的 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 的preference矩阵为 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems ,而 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 代表的是用户u对项目v的preference,即R的第u行第v列。

对于一个新的User或者Item,就有 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 。

Content:

content可以是通过各种渠道获取的额外信息,信息越多,对推荐的贡献也会越大。

对于user来说,content可以是user的个人资料,如性别年龄个人评价等等,也可以是其社交网络的信息,对于item,content可以是一个商品的基本信息,如产地、类型、品牌、评论等等,也可以是相关的视频图片资料。

user和item得到的content feature分别为 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 和 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems , 则 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 就代表用户u(item v)的content向量。

目标就是使用 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 和 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 来训练一个准确又鲁棒的模型。

 

LFM:

一种基于矩阵分解的用来预测用户对物品兴趣度的推荐算法。

相比USerCF算法(基于类似用户进行推荐)和ItemCF(基于类似物品进行推荐)算法;我们还可以直接对物品和用户的兴趣分类。对应某个用户先得到他的兴趣分类,确定他喜欢哪一类的物品,再在这个类里挑选他可能喜欢的物品。

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

把原来的items和users的矩阵分成两个矩阵,提高运算效率。

 

模型方法

把R的每一行每一列作为Users和Items的preference向量输入,难以训练(Users和Items数量太大)。利用LFM:我们先把R分解成两个小矩阵U和V,我们可以认为,U和V相乘可以基本重构R,涵盖了R的绝大部分信息。所以,在preference方面,我们使用U和V来代替R作为模型的输入。

 

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

我们对于用户u,输入是 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems ;对于项目v,输入是 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems ,然后分别输入一个深度神经网络中,得到用户u和项目v各自的一个新的向量 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 和 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 。

用新得到的u和v的向量 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems  论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems ,我们可以接着相乘得到一个R的新的估计 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems .

框架图如下:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

目标函数:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

希望我们训练出来的两个user和item的向量尽可能拟合原来的向量。

在训练的时候,我们选择的 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 和 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 都是有比较丰富的preference信息的向量,在实际推荐中,如果preference信息比较丰富,那么我们只利用这些信息就可以得到很好的推荐效果。我们在冷启动时利用content信息,也是希望能够达到有preference信息时候的性能。所以,当我们有充足的preference信息的时候,训练出的模型给予ntent内容的权重会趋于0,这样就回归了传统的Latent Model了。

模拟冷启动:

按照一定的抽样比例,让user或者item的preference向量为0,即 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 或者 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 为 论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems 。所以,针对冷启动,其目标函数为:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

这个时候,由于preference向量的缺失,所以content会竭尽所能去担起大任,从而可以逼近Latent Model的效果:preference不够,content来凑。

设置dropout的时候,鼓励模型去使用content信息;不设置dropout的时候,模型会尽量使用preference信息。另外,本身Dropout作为一种正则化手段,也可以防止模型过拟合。

 

Transform:只有少数perference的情况:

文章还提出了在冷启动后,用户或者项目开始产生少数的preference信息的时候应该怎么处理,这样才能让不同阶段无缝衔接。

它既不是冷启动,但是可用的preference信息也十分稀少。而更新一次latent model是比较费时的,不能说来一些preference信息就更新一次,再来推荐。所以本文给出了一种简单的方法,用user交互过的那少数几个item的向量的平均,来代表这个user的向量。这个过程为transformation。所以,用户有一些交互之后,先这样transform一下拿去用,后台慢慢地更新latent model,等更新好了,再换成latent model来进行推荐。

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

训练过程:有N个users和M个items,理论上可以形成N×M个样本。

设定一个mini-batch,比如100,每次抽100个user-item pair,设定一个dropout rate,例如0.3,则从100个用户中选出30个pair。对于这30个pair,轮流使用dropout和transform来处理后输入DNN,其余的70个则直接输入DNN。

 

实验结果:

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

CTR和CDL是hybrid model,WMF是latent model,DeepMusic则是一个content model。

作者还提到他们模型的另一大优点就是,可以轻松地结合到之前的其他模型上,所以,作者将它们的模型和WMF以及CDL结合,称为DN-WMF和DN-CDL。

值得注意的是这个DeepMusic,这是一个纯content-based model,意思是不使用preference信息。可以看到,在warm start这种有着丰富preference信息的环境下,它的效果远不如利用preference的其他模型。而在cold start这种没有preference信息的情况下,效果就超过了hybrid model。

论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems

上一篇:ARM板 web服务器交叉编译及配置


下一篇:d3.js的基础使用