吴恩达《机器学习》第十六章:推荐系统

十六、推荐系统

最重要的机器学习应用领域之一 ——推荐系统;
推荐系统其实即使自动的特征学习

16.1 问题形式化

在这里插入图片描述
给出 r(i,j) 和 y(i,j) 预测上图中的?,预测用户喜欢的类型,并将其没看过的属于喜欢的类型的电影推荐过去;

16.2 基于内容的推荐系统

假设:假设我们得到了电影的特征;
在这里插入图片描述
这个θ(1)是假设出来的,实际上要通过训练得到;

参数θ的训练:跟线性回归有点像
在这里插入图片描述
在这里插入图片描述
优化目标函数和梯度下降更新:
在这里插入图片描述
最终得到不同用户对不同电影的评级;

16.3 协同过滤

本节问题

  • 了解协同过滤算法的基本原理;
  • 对比于基于内容的推荐算法,有何改进之处;

协同过滤的特性之一:特征学习,feature learning;
它不用基于上面方法的假设;

假设我们先得到θ,即用户喜欢某类电影的程度,;
在这里插入图片描述
在这里插入图片描述
基于内容的推荐算法 vs 协同过滤:

  • 前者通过 电影特征+用户对电影的评分 = > 训练出用户对不同类电影的喜好程度 + 推测出用户对其它电影的评分;
  • 后者可以不给出θ,同样可以学习出特征值,然后根据特征值改进θ:
    • step1:随机初始化θ,通过协同过滤学习并预测电影特征值;
    • step2:通过电影特征值学习并预测更好的θ
    • 回到step1,往复循环。。。。。。
    • 最终算法收敛到合适的电影特征值和θ;
  • 用户对电影的评分 = > 训练出电影的特征 + 用户对各类型电影的喜好程度 +推测出用户对其它电影的评分;
  • 在这里插入图片描述
  • 即用参与评价的用户来帮助特征学习;

16.4 协同过滤算法

协同过滤的这一算法能直接将θ和电影特征解出来,避免往复迭代:
即把两个优化目标函数结合;
在这里插入图片描述
不包括θ0和X0这里学习的都是n维;

协同过滤算法步骤:
在这里插入图片描述

16.5 向量化实现

解决这个问题:用户A一直在找商品B,你能不能想办法推荐给A一些类似于B的商品;

低秩矩阵分解
在这里插入图片描述
T为低秩;
由于电影特征个数的不确定,如何保证XθT后的矩阵维数???
在这里,电影分多少类,说明每一步电影就有多少特征值,保证θ(i)和x(j)的维数一致应该就行了;
在这里插入图片描述
两部电影的特征向量之间的距离越小,越相似;

16.6 均值归一化

本节问题

  • 对于一个对任何电影都没评分的用户,如何预测他对其他电影的评分;
    在这里插入图片描述
    如何解决?
    第5个用户就取每个电影的平均得分(这里吴恩达老师用均值归一化进行处理,不过最后仍是用的均值)
    在这里插入图片描述
posted @ 2020-11-27 10:48  Luweir  阅读(82)  评论(0编辑  收藏  举报