太长不看版
SVD++融合了MF和FISM的优势,直接将Implicit数据反馈到模型中,优化了对user representation的表达。
目录:概述
相关工作neighborhood models概述
存在的问题
改进方法
latent factor models概述
存在的问题
改进方法
SVD++
模型结合
具体实现
下期预告
1.概述
在前面两篇文章中,我们提到collaborative filtering方法大概可以分为neighborhood based和latent factor model。这两种方法各有优缺点。今天分享的论文来自Yehuda Koren的《 Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model》将这两种方法做了一个结合,加上融合了implicit feedback的数据,在Netflix数据上的提升效果很赞。
2.相关工作
2.1 Neighborhood based models
2.1.1 概述:
neighborhood based方法可以分为user-based和item-based模型。Item-based的思路是根据user对items的偏好并推荐与这些items相似的物品,具有很好的解释性,常常被使用。
具体流程包括:基于user-item rating matrix,计算item与item之间的similarity
。使用Pearson correlation得到
,但由于数据相对是非常稀疏的,需要基于数据量进行置信度加权。
指的是同时对
和
打分的user的数据。
所以
为:
user对item的打分公式为:
为基准推荐模型,即:
获取在user打分过的items中 与
最相似的K个items计作
计算interpolation weights,可以获得更好的效果:
2.1.2 存在的问题:
依据用户已经打分过的物品计算和这些items最相似的items进行推荐,得到的是局部最优解。
2.1.3 改进方法:以item_based方法为例,之前item之间的相似度都是通过数据统计得到,现在变成模型参数通过模型训练得到,即
;
和之前不同点包括:
通过学习得到Item之间的similarity;
基于用户所有互动过的items进行预测;
考虑了用户到互动过的item
的打分以及item
与item
的关系;
将隐式数据加入到模型中;
通过学习得到
;
引入行为数控制:
2.2 latent factor models
2.2.1 概述:
将user和item映射到低维空间中,可以基于此计算user和user、item与item、user与item之间的相似度。 对应的最优化问题如下:
依然可以使用SGD进行求解。关于SGD可以参考前两篇文章(MF和FISM)。
2.2.2 存在的问题:
因子分解模型可解释性不好。
2.2.3 改进方法:
给出异步SVD(Asymmetric-SVD ),预测模型为:
将用户表达为物品的叠加。优点包括:Fewer parameters。更少的参数。
New users。对冷启动问题也更友好。
Explainability。这样可解释性就比初始的模型要好。
Efficient integration of implicit feedback。结合了implicit feedback数据。
3. SVD++
为了进一步集成隐式反馈数据,可以通过直接将隐式数据反馈到模型中:
4. AN INTEGRATED MODEL模型结合
将neighborhood based model与SVD++结合,对应的预测模型为:
包括3个tier:;描述了user和items的基本特征,不考虑interaction。
latent factor model tier描述了user profile和item profile之间的interaction,
。
neighborhood tier,做精细调整。
5. 具体实现
from surprise import SVDpp
6. 下期预告
下次想要分享的是feature-based方法Factorization Machine,是traditional 方法的最后一个了。 是一个非常好、用途广泛的base方法。