论文阅读 | DropoutNet: Addressing Cold Start in Recommender Systems
主要思想:content + preference,不需要引入额外的内容信息和额外的目标函数,通过dropout来模拟数据缺失进行训练。
本文提出的一种模型,可以结合Memory和Content的信息,但是只使用一个目标函数,即拥有了以往Hybrid model的性能,还解决了冷启动问题,同时大大降低了模型训练的复杂程度。
主要定义:
Preference:
代表的是N个user的集合;
代表的是M个Item的集合;
u和 v 形成的 M*N 的preference矩阵为 R ,而 Ruv 代表的是用户u对项目v的preference,即R的第u行第v列。
对于一个新的User或者Item,就有 Ruv = 0。
Content:
content可以是通过各种渠道获取的额外信息,信息越多,对推荐的贡献也会越大。
对于user来说,content可以是user的个人资料,如性别年龄个人评价等等,也可以是其社交网络的信息,对于item,content可以是一个商品的基本信息,如产地、类型、品牌、评论等等,也可以是相关的视频图片资料。
user和item得到的content feature分别为 Φu 和 Φv, 则Φu u(Φv v)就代表用户u(item v)的content向量。
目标就是使用 R Φu Φv 来训练一个准确又鲁棒的模型。
LFM:
一种基于矩阵分解的用来预测用户对物品兴趣度的推荐算法。
相比USerCF算法(基于类似用户进行推荐)和ItemCF(基于类似物品进行推荐)算法;我们还可以直接对物品和用户的兴趣分类。对应某个用户先得到他的兴趣分类,确定他喜欢哪一类的物品,再在这个类里挑选他可能喜欢的物品。
把原来的items和users的矩阵分成两个矩阵,提高运算效率。
模型方法
把R的每一行每一列作为Users和Items的preference向量输入,难以训练(Users和Items数量太大)。利用LFM:我们先把R分解成两个小矩阵U和V,我们可以认为,U和V相乘可以基本重构R,涵盖了R的绝大部分信息。所以,在preference方面,我们使用U和V来代替R作为模型的输入。
即
我们对于用户u,输入是 [Uv, Φu u];对于项目v,输入是 [Vv, Φv v],然后分别输入一个深度神经网络中,得到用户u和项目v各自的一个新的向量U^u 和 V^v 。
用新得到的u和v的向量 U^u 和 V^v ,我们可以接着相乘得到一个R的新的估计U^u V^v T .
框架图如下:
目标函数:
希望我们训练出来的两个user和item的向量尽可能拟合原来的向量。
在训练的时候,我们选择的 Uu 和 Vv 都是有比较丰富的preference信息的向量,在实际推荐中,如果preference信息比较丰富,那么我们只利用这些信息就可以得到很好的推荐效果。我们在冷启动时利用content信息,也是希望能够达到有preference信息时候的性能。所以,当我们有充足的preference信息的时候,训练出的模型给予ntent内容的权重会趋于0,这样就回归了传统的Latent Model了。
模拟冷启动:
按照一定的抽样比例,让user或者item的preference向量为0,即 Uu 或者 Vv 为 0。所以,针对冷启动,其目标函数为:
这个时候,由于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来进行推荐。
训练过程:有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。
实验结果:
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。