1. 背景
2006年10月2日,Netflix公司宣称:在我司现有推荐系统基础上,把圴方根误差降低10%的人,可以瓜分100万美元。
Netflix放出的比赛数据是评分数据,它是推荐系统中评分预测模式。
本次比赛中,矩阵分解模型大放异彩,最著名的是SVD以及其各种变体。
2. 矩阵分解
2.1 为什么要矩阵分解
矩阵分解算法,能很好的解决推荐系统中的评分预测问题。
算法思想:把大矩阵,近似分解成两个小矩阵的乘积。在实际推荐计算时不再使用大矩阵,而是用分解得到的两个小矩阵。
其中,通常k比m和n小很多。k怎么取?用k-fold确定。
2.2. 基础的SVD算法
SVD全称是奇异值分解,属于线性代数范围。它是矩阵分解算法中的一种。推荐算法中实际使用的是伪奇异值分解。
假设以下用户对电影评分的矩阵:记作
这是个稀疏矩阵,矩阵中内容表示用户对物品的评分,其中"?"表示未知的,也就是要预测的。
矩阵分解就是把用户和物品(本例中是电影)都映射到一个K维空间中,分别记作和