为什么非负性对于协作过滤/推荐系统很重要?


11

在我所看到的所有现代推荐器系统中,都依赖于矩阵分解,在用户电影矩阵上执行非负矩阵分解。我能理解为什么非负性对于可解释性和/或想要稀疏因子很重要。但是,如果您只关心预测性能,例如在netflix奖金竞赛中,为什么要施加非负性限制?与在因数分解中也允许负值相比,这似乎更加糟糕。

本文是在协同过滤中使用非负矩阵分解的一个被高度引用的示例。


1
我对推荐系统不太熟悉(也许您可以在问题中包含一些示例论文?)。如果您推断的NNMF偏好模式是正确的,那么最可能的答案就是提高通用性。换句话说,从经验上讲,可能缺乏“可解释性/稀疏性”与过度拟合有关。但是据我所知,稀疏编码(即L1正则化/ LASSO)也可以满足这些要求。(尽管它可能是NNMF具有更高的解释性。)
GeoMatt22'9

Answers:


14

我不是推荐系统的专家,但据我了解,此问题的前提是错误的。

非负性对于协作过滤并不重要。

Netflix奖由BellKor团队于2009年获得。以下是描述其算法的论文:Netflix奖的BellKor 2008解决方案。显而易见,他们使用基于SVD的方法:

KDD 2008论文[4]列出了我们在2008年取得进展的基础。[...]在论文[4]中,我们对三个因素模型进行了详细描述。第一个模型是简单的SVD。第二个模型,我们将此模型称为“非对称SVD”。最后,将更精确的因子模型命名为“ SVD ++” [...]

另请参见同一团队的这一更受欢迎的文章推荐系统的矩阵分解技术。他们谈论了很多SVD,但根本没有提到NNMF。

另请参阅此热门博客文章Netflix Update:从2006年开始在家试用,还解释了SVD的想法。

当然,您是对的,还有一些使用NNMF进行协作过滤的工作。那么,什么更有效,SVD或NNMF?我不知道,但这是2012年协作过滤算法比较研究的结论:

基于矩阵因子化的方法通常具有最高的准确性。特别是,正规化的SVD,PMF及其变体在MAE和RMSE方面表现最佳,除非在非常稀疏的情况下,NMF表现最佳。


2
总的来说,这是一个很好的答案。但是,为了纠正一些事实,BellKor 2008解决方案获得了进步奖。总体上胜出的算法是100多个预测变量的混合(Töscher等,2009)。NMF也是其中的一部分。
dpelisek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.