机器学习公开课笔记第八周之推荐系统
一,推荐系统定义
推荐系统是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户
推荐系统算法是目前所学的唯一可以自动选择特征,代替了手动选择特征的烦恼
二,推荐系统问题-电影评分系统
根据用户对各电影的评分,来计算用户未评分电影的评分,给用户推荐评分高的电影
三,基于内容的推荐系统
假如每部电影\(x^{(i)}\)有两个特征,浪漫系数特征\(x_1\),动作系数特征(x_2\)等等
对每个用户j,学习一个参数\(\theta^{j}\),预测用户j对电影i的评分\((\theta^{j})^Tx^{(i}\)
学习\(\theta^{(i)})\)使已评分的电影的评分和预测值最小
优化目标归一化
因为只与\(\theta\)有关,可以用梯度下降法解决
三,协同过滤算法
基于内容的推荐系统有一个前提,每部电影的特征\(x^{i}\)必须准确,即必须准确判断出每部电影有多浪漫,有多动作,但在现实中很难做到,也很花时间
如果我们知道\(\theta^{(i)}\),那么\(x^{i}\)自然可以求出
优化目标
依次计算两个梯度下降
更简单的计算方法,合并两个优化目标
协同过滤算法步骤
向量化计算过程
如何发现哪些电影类似
均值归一化
如果某用户没看过任何电影,那么协同过滤算法最后不会给他推荐任何算法,这并不符合推荐算法的目的
所有已评分数减去该影片平均值\(\mu\),将来预测时再加回平均值\(\mu\)
分两种情况
1),一种能计算出评分,不影响
2),计算不出来的(评分0),就给它平均值