SVD SVD++

参考:

http://www.cnblogs.com/Xnice/p/4522671.html

http://blog.csdn.net/dark_scope/article/details/17228643

http://blog.csdn.net/qq_20599123/article/details/51509335


用户-电影评分矩阵形式


矩阵分解模型(matrix factorization model)


Pu 代表用户隐因子矩阵( 表示用户 u 对因子 k 的喜好程度),Qi 表示电影隐因子矩阵( 表示电影 i 在因子 k 上的程度)

Baseline Predictors

不过有些评分与用户和产品的交互无关:有些用户偏向于给产品打高分,有些产品会收到高分。我们将这类不涉及用户产品交互的影响建模为baseline predictors。
μ是平均值,然后分别用bi和bu来代表具体用户和物品的整体偏差

SVD:

SVD就是一种加入Baseline Predictors优化的matrix factorization model。

加入防止过拟合的 λ 参数,最简单的SVD是优化下面的Loss function:

            

           采用随机梯度下降进行优化:

                

           虽然看起来比较简单,但实际上对预测的效果已经超出Item-based很多了,而从SVD衍生出很多其它的算法,利用了更多的信息,我们在这里只予以介绍而不加实践。



SVD++:

SVD++算法是指在SVD的基础上引入隐式反馈,使用用户的历史浏览数据、用户历史评分数据、电影的历史浏览数据、电影的历史评分数据等作为新的参数。


模型的解释:这样的模型对于提供了很多隐式反馈( | R ( u ) | 较高)的用户,使得它们的预测偏离基准预测。这对于推荐系统是一个较好的尝试,因为我们总是希望对那些提供了较多反馈用户从而可以较好建模的用户冒更大的风险。对于这类用户我们我们愿意提供不常见的推荐。而对于提供较少用户,我们更希望提供安全的预测,在基准值附近。 

求导 求解结果如下:


使用用户的历史评价数据作为隐式反馈,算法流程图如下:


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值