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


    十六、推荐系统

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

    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个用户就取每个电影的平均得分(这里吴恩达老师用均值归一化进行处理,不过最后仍是用的均值)
      在这里插入图片描述
  • 相关阅读:
    使用Vue快速开发单页应用
    轻松入门React和Webpack
    使用Redux管理你的React应用
    深入理解 react-router 路由系统
    webpack学习之路
    webpack编译流程漫谈
    HTML5无刷新修改Url,history pushState/replaceState
    gulp的流与执行顺序
    RequireJS对文件合并与压缩实现方法
    RequireJS模块化后JS压缩合并
  • 原文地址:https://www.cnblogs.com/Luweir/p/14147209.html
Copyright © 2020-2023  润新知