机器学习之推荐系统

#Recommender Systems(推荐系统)

机器学习的一个很重要的应用。

 

#Problem formulation(问题规划)

所以如果想开发一个推荐系统,就要想出一个能自动填补这些缺失值的学习算法,这样就可以看看该用户和那些没看过的电影并推荐新电影给该用户。

 

#Content-based recommendations(基于内容的推荐算法)

  • 把每个用户的评价预测值看作是一个线性回归问题。

更正式的:

 

#Collaborative filtering(协同过滤)

有一个很有意思的特性叫feature learning(特征学习),即这个算法可以自行学习所要使用的特征。

  • 假设我们听取用户的意见,每个用户j都告诉我们他们各自的θ^(j)是什么,即他们对不同题材电影的喜欢程度。

把这一学习问题标准化到任意特征x^(i):

总结:

  • 随机猜一些θ值 》》学习出不同电影的特征 》》得到一个更好的对参数θ值的估计 》》得到更好的特征 》》··· 以此类推

 

#Collaborative filtering algorithm(协同过滤算法)

将两个优化目标函数结合为一个新的优化目标函数J,能同时算出θ和x,而不需要反复计算:

  • 不需要X0

1、把x和θ初始化为小的随机值;

2、用梯度下降或其他高级优化算法把代价函数关于x和θ最小化;

3、给你一个用户,如果ta有一些参数θ以及给你一部带有已知特征x的电影,就可以预测该用户给这部电影的评分。

 

#Vectorization low rank matrix factorization(矢量化:低秩矩阵分解)

  • y^(i,j)是第j个用户给第i部电影的评分

  • low rank matrix factorization(低秩矩阵分解):给出矩阵X和矩阵θ的定义,得到一个向量化方法来计算预测矩阵。

用已经学习到的特征来找相关的电影:

 

#Implementational detail:Mean normalization(实施细节:均值规范化)

作为协同过滤算法的预处理步骤,根据不同的数据集有时候会让算法表现得好一些。

实现mean normalization(均值归一化):

  • 计算每个电影所得评分的均值存到向量μ中;
  • 把电影评分矩阵的每一行都减去那个电影的平均评分;
  • 把每个电影评分都归一化,使得均分为零;
  • 用这些均值归一化后的电影评分来学习,预测值要加回均值。

 


PS.内容为学习吴恩达老师机器学习的笔记【https://study.163.com/course/introduction/1004570029.htm

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值