推荐系统—影视评分预测
来源:互联网 发布:js信息提示框 编辑:程序博客网 时间:2024/04/29 06:58
本文根据Andrew Ng的Machine Learning的课写就。
=======================================一、预测电影评分==========================================
全文以“预测电影评分”例子展开
r(i,j)=0则表明user_j没有对movie_i 没有评分,
推荐系统要做的就是通过预测user_j对这些movie {i|r(i,j)=0}的评分来给user_j 推荐其可能会喜欢的电影<预测评分较高的movie>
=======================================二、基于内容的推荐=======================================
对每个movie_i引入特征x(i)=(x1, x2),这种特征可能表明user对movie类型的偏好:浪漫or动作等
对于每个user引入一个参数theta,然后对评分矩阵的每列(对应一个user)做线性回归,数据是{ (x(i), y(i,j)) |r(i,j)=1,for some j all i}
像机器学习一样,x(i)添加个1变量x(i)=(1, x1, x2)
那么对于未评分的movie_t,我们可以使用线性回归训练的参数theta与对应特征x(t)做内积来得到其预测评分
对每个用户都训练一个参数theta_j,优化模型如下:
优化算法:注意正则项是不约束x(i)=(1, x1, x2)中1对应的参数theta的第一项theta0,所以k=0与k=1,2分别对待
=======================================三、协同过滤=======================================
现在换个角度:如果知道theta for all user j,如何来预测x(i) = (x1, x2) all i
仍然可以使用线性回归,为训练每个x(i),需要评分矩阵的第i行数据{ (x(i), y(i,j)) |r(i,j)=1,for some i all j}
theta_j = (0, theta1, theta2) ;theta1=5说明user_j喜欢romance类movie, theta2=5说明user_j喜欢action类movie,只能有一个等于5哦,
我觉得也可以是:theta_j = (0, 4, 1) ;喜欢romance 4 action 1.
对应的优化:
协同过滤:交替优化theta与x
=========================================四、协同过滤算法=======================================
优化:
优化:注意去掉了theta和x的添加项
=========================================五、实现细节补充=======================================
实现细节:
如果有user没有对任何电影评分或者所有评分的电影都是0分,那么所学习到的参数是零向量,
则预测都是0值,这是不合理的。通过 将评分矩阵减去其行均值再进行线性回归来“避免”这种情况
=========================================六、一点思考==========================================
- 协同过滤那块,同时优化theta、x,这样得到的theta、x还有特定的意义<比如:x是否还表征对影视类型的喜爱与否>没有?
- 回归中,在x数据上不添加1-feature是不是因为后来引入的平均值化;如果不是,那会对结果有什么影响?
- 用x-feature来表征一个movie,x-feature的各分量的可解释性;应该会有一部分user应为演员的缘故有一些"偏爱"。
- 这里,讲的"基于内容的推荐"与"协同过滤"跟以前对这两个词的认识/所指内容不同,查清楚、搞明白。
- 推荐系统—影视评分预测
- 推荐系统—影视评分预测(续)
- Netflix推荐系统:从评分预测到消费者法则
- Netflix推荐系统:从评分预测到消费者法则
- Netflix推荐系统:从评分预测到消费者法则
- 推荐系统实践--第七章:推荐系统实例 第八章:评分预测问题
- 最近邻居推荐系统原理和基于用户的评分预测推荐
- 社会化推荐系统中用重叠社区正则化进行评分预测
- 机器学习:个性化推荐之评分预测问题
- Rating Prediction——评分预测小结
- Rating Prediction——评分预测小结
- 推荐系统评分矩阵稀疏性计算
- 影视推荐及不推荐
- 【寻找最佳小程序】01期:影视评分小工具“豆瓣评分”——产品设计要点及专家评析
- 电影评分预测
- [影视推荐]黑客题材美剧—网络末日战
- soledede--User-based Rating Prediction(基于用户的评分预测推荐)
- 2007 影视英语精彩推荐
- C语言中volatile关键字的作用
- 盘点:崛起中的九大HTML5开发工具
- JB开发之二 [jailbreak,越狱开发研究]
- openSUSE11.1安装vmware-tools后/mnt中没有hgfs的解决方法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 推荐系统—影视评分预测
- 黑马程序员——java基础之构造函数、this、super、static
- Mono for Android (1) 之布局
- 系统架构_写框架的基本原则和要求
- PowerPC的MMU初始化
- Blink, 通向哈里·波特的魔法世界
- 其实Unix很简单
- 反射
- Python正则表达式指南