0
点赞
收藏
分享

微信扫一扫

吴恩达《机器学习》课程总结(16)_推荐系统

16.1问题形式化

(1)讲推荐系统的原因主要有以下几点:

1.推荐系统是一个很重要的机器学习的应用,虽然在学术界上占比较低,但是在商业应用中非常的重要,占有很高的优先级。

2.传达机器学习的一个大思想:特性是可以学习而来的,不需要人工去选择。

(2)说明的案例:电影推荐系统

吴恩达《机器学习》课程总结(16)_推荐系统_代价函数

希望创建一个算法来预测每个人可能会给他们没看过的电影打多少分,并以此作为推荐依据。

(3)此外引入一些标记:

nu代表用户的数量,

nm代表电影的数量,

r(i,j)如果用户j给电影i评过分则r(i,j)=1,

y(i,j)代表用户j给电影打的分数,

mj表示用户评分的电影的总数。

16.2基于内容的推荐系统

(1)总结:基于内容其实就是已经有了电影的特征X,然后求拟合的参数θ,后面提到的基于用户,则是已经有了参数θ,来求拟合的电影特征X。

(2)假设每部电影已知特征(基于内容):

吴恩达《机器学习》课程总结(16)_推荐系统_协同过滤_02

参数说明:θ(j)表示用户j的参数,x(i)表示电影i的特征,

对于用户j和电影i,我们预测评分为:(θ(j))Tx(i)

对于单用户的代价函数(省略了样本数m,对θ0不做正则化,只计算有评分的)如下:

吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_03

故对于所有用户的代价函数为:

吴恩达《机器学习》课程总结(16)_推荐系统_代价函数_04

梯度下降式的梯度更新方式:
吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_05

16.3协同过滤

(1)基于用户的(即已知用户的参数θ,求电影特征x),其代价函数为:

吴恩达《机器学习》课程总结(16)_推荐系统_协同过滤_06

(2)协同过滤算法是既不知道特性X,也不知道用户参数θ时同时对二者进行优化。

其代价函数为:

吴恩达《机器学习》课程总结(16)_推荐系统_代价函数_07

对代价函数求偏导数:

吴恩达《机器学习》课程总结(16)_推荐系统_协同过滤_08

(3)协同过滤的算法步骤:

1.初始化x(1),x(2),……,x(nm)(1)(1),……,θ(nu)为一些随机小值;

2.使用梯度下降算法最小化代价函数;

3.在训练完算法后,我们预测(θ(j))Tx(i)为用户j给电影i的评分。

(4)如何给用户推荐:

1.根据计算出来的评分,把该用户评分高的电影给该用户;

2.如果用户观看某电影,根据计算电影特征间的相似度,推荐相似的电影给该用户。

16.4协同过滤算法

吴恩达《机器学习》课程总结(16)_推荐系统_协同过滤_09

16.5向量化:低秩矩阵分解

将数据集评分存储在矩阵中->通过协同过滤学习得到元素为(θ(j))Tx(i)的预测矩阵->根据电影特征距离求电影间的相似性

吴恩达《机器学习》课程总结(16)_推荐系统_协同过滤_10

吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_11

16.6推行工作的细节

总结:怎么给新用户推荐电影(会把每部电影的平均分作为该用户的评分)

(1)用户评分数据以及新用户Eve:

吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_12

(2)对每部电影做均值归一化,然后作为数据来训练模型

吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_13

(3)预测的值加上该电影的均值为最终对电影的评分:

吴恩达《机器学习》课程总结(16)_推荐系统_推荐系统_14

(4)学习到的模型会把每部电影的平均分作为新用户对电影的评分。

作者:你的雷哥

本文版权归作者所有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。

举报

相关推荐

0 条评论