吴恩达机器学习笔记:第 9 周-16推荐系统(Recommender Systems) 16.1-16.2

第 9 周 16、 推荐系统(Recommender Systems)

16.1 问题形式化

在接下来的视频中,我想讲一下推荐系统。我想讲推荐系统有两个原因:

第一、仅仅因为它是机器学习中的一个重要的应用。在过去几年,我偶尔访问硅谷不同的技术公司,我常和工作在这儿致力于机器学习应用的人们聊天,我常问他们,最重要的机器学习的应用是什么,或者,你最想改进的机器学习应用有哪些。我最常听到的答案是推荐系统。现在,在硅谷有很多团体试图建立很好的推荐系统。因此,如果你考虑网站像亚马逊,或网飞公司或易趣,或 iTunes Genius,有很多的网站或系统试图推荐新产品给用户。如,亚马逊推荐新书给你,网飞公司试图推荐新电影给你,等等。这些推荐系统,根据浏览你过去买过什么书,或过去评价过什么电影来判断。这些系统会带来很大一部分收入,比如为亚马逊和像网飞这样的公司。因此,对推荐系统性能的改善,将对这些企业的有实质性和直接的影响。

推荐系统是个有趣的问题,在学术机器学习中因此,我们可以去参加一个学术机器学习会议,推荐系统问题实际上受到很少的关注,或者,至少在学术界它占了很小的份额。但是,如果你看正在发生的事情,许多有能力构建这些系统的科技企业,他们似乎在很多企业中占据很高的优先级。这是我为什么在这节课讨论它的原因之一。

我想讨论推荐系统地第二个原因是:这个班视频的最后几集我想讨论机器学习中的一些大思想,并和大家分享。这节课我们也看到了,对机器学习来说,特征是很重要的,你所选择的特征,将对你学习算法的性能有很大的影响。因此,在机器学习中有一种大思想,它针对一些问题,可能并不是所有的问题,而是一些问题,有算法可以为你自动学习一套好的特征。因此,不要试图手动设计,而手写代码这是目前为止我们常干的。有一些设置,你可以有一个算法,仅仅学习其使用的特征,推荐系统就是类型设置的一个例子。还有很多其它的,但是通过推荐系统,我们将领略一小部分特征学习的思想,至少,你将能够了解到这方面的一个例子,我认为,机器学习中的大思想也是这样。因此,让我们开始讨论推荐系统问题形式化。

我们从一个例子开始定义推荐系统的问题。

假使我们是一个电影供应商,我们有 5 部电影和 4 个用户,我们要求用户为电影打分。
在这里插入图片描述
前三部电影是爱情片,后两部则是动作片,我们可以看出 Alice 和 Bob 似乎更倾向与爱情片,而 Carol 和 Dave 似乎更倾向与动作片。并且没有一个用户给所有的电影都打过分。我们希望构建一个算法来预测他们每个人可能会给他们没看过的电影打多少分,并以此作为推荐的依据。

下面引入一些标记:
n u n_u nu 代表用户的数量 \qquad \qquad n m n_m nm 代表电影的数量
𝑟(𝑖,𝑗) 如果用户 𝑗 给电影 𝑖 评过分则 𝑟(𝑖,𝑗) = 1
y ( i , j ) y^{(i,j)} y(i,j) 代表用户 𝑗 给电影 𝑖 的评分 \qquad \qquad m j m_j mj代表用户 𝑗 评过分的电影的总数

16.2 基于内容的推荐系统

在一个基于内容的推荐系统算法中,我们假设对于我们希望推荐的东西有一些数据,这些数据是有关这些东西的特征。

在我们的例子中,我们可以假设每部电影都有两个特征,如𝑥1代表电影的浪漫程度,𝑥2代表电影的动作程度。

在这里插入图片描述
则每部电影都有一个特征向量,如 x ( 1 ) x^{(1)} x(1)是第一部电影的特征向量为[0.9 0]。

下面我们要基于这些特征来构建一个推荐系统算法。 假设我们采用线性回归模型,我们可以针对每一个用户都训练一个线性回归模型,如 θ ( 1 ) θ^{(1)} θ(1)是第一个用户的模型的参数。 于是,我们有:

θ ( j ) θ^{(j)} θ(j)用户 𝑗 的参数向量 \qquad x ( i ) x^{(i)} x(i)电影 𝑖 的特征向量
对于用户 𝑗 和电影 𝑖,我们预测评分为: ( θ ( j ) ) T x ( i ) (θ^{(j)})^Tx^{(i)} (θ(j))Tx(i)

代价函数:针对用户 𝑗,该线性回归模型的代价为预测误差的平方和,加上正则化项:
在这里插入图片描述
其中 𝑖: 𝑟(𝑖,𝑗)表示我们只计算那些用户 𝑗 评过分的电影。在一般的线性回归模型中,误差项和正则项应该都是乘以1/2𝑚,在这里我们将𝑚去掉。并且我们不对方差项𝜃0进行正则化处理。

上面的代价函数只是针对一个用户的,为了学习所有用户,我们将所有用户的代价函数求和:
在这里插入图片描述
如果我们要用梯度下降法来求解最优解,我们计算代价函数的偏导数后得到梯度下降的更新公式为:

在这里插入图片描述

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值