吴恩达机器学习笔记(13.推荐系统)

1,问题形式化

假使我们是一个电影供应商,我们有 5 部电影和 4 个用户,我们要求用户为电影打分。

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

下面引入一些标记:

n_u:代表用户的数量

n_m:代表电影的数量

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

y^{(i,j)}:代表用户j给电影i的评分。

m_j:代表用户j评过分的电影总数

2,基于内容的推荐系统

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

则每部电影都有一个特征向量,如X_1是第一部电影的特征向量为[0.9, 0]。

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

\theta ^{^{j}} :用户j的参数向量

x^{i}:电影的特征向量

对于用户 ? 和电影 ?,我们预测评分为:(\theta^{j} )^{T}x^{i}

代价函数

针对用户 ?,该线性回归模型的代价为预测误差的平方和,加上正则化项:

其中 ?: ?(?,?)表示我们只计算那些用户 ? 评过分的电影。在一般的线性回归模型中,误 差项和正则项应该都是乘以1/2?,在这里我们将?去掉。并且我们不对方差项?0进行正则 化处理。

上面的代价函数只是针对一个用户的,为了学习所有用户,我们将所有用户的代价函数 求和:

3,协同过滤

在之前的基于内容的推荐系统中,对于每一部电影,我们都掌握了可用的特征,使用这 些特征训练出了每一个用户的参数。相反地,如果我们拥有用户的参数,我们可以学习得出 电影的特征。

但是如果我们既没有用户的参数,也没有电影的特征,这两种方法都不可行了。协同过 滤算法可以同时学习这两者。

我们的优化目标便改为同时针对?和?进行。

注:在协同过滤从算法中,我们通常不使用方差项,如果需要的话,算法会自动学得。

协同过滤算法使用步骤如下:

1. 初始 x^{1},x^{2},.......x^{m}, \theta ^{1},\theta ^{2},.......\theta ^{n_u}为一些随机小值

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

3. 在训练完算法后,我们预测(\theta ^{j})^{T}x^{i}为用户 ? 给电影 ? 的评分

通过这个学习过程获得的特征矩阵包含了有关电影的重要数据,这些数据不总是人能读懂的,但是我们可以用这些数据作为给用户推荐电影的依据。 例如,如果一位用户正在观看电影x^{i},我们可以寻找另一部电影^{j},依据两部电影 的特征向量之间的距离∥∥x^{i} − x^{j} ∥∥的大小。

4,协同过滤算法

协同过滤优化目标:

5,向量化:低秩矩阵分解

我们谈到了协同过滤算法,接下来我将会讲到有关该算法的向量化实现,以及说说有关该算法你可以做的其他事情。

举例子:

1.当给出一件产品时,你能否找到与之相关的其它产品。

2.一位用户最近看上一件产品,有没有其它相关的产品,你可以推荐给他。

我们有五部电影,以及四位用户,那么 这个矩阵 ? 就是一个 5 行 4 列的矩阵,它将 这些电影的用户评分数据都存在矩阵里:

6,推行工作上的细节:均值归一化

 

 第五个用户没有给任何电影评分,所以即使你用新的道德矩阵学习参数和特征,那么用户5的参数也只会是零矩阵,所以他的推荐就只会是电影的平均分。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、机器学习推荐系统课程简介伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。目前,推荐系统机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、netflix、facebook、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。尚硅谷精心打造出了机器学习推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练。为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供最好的学习平台。二、课程内容和目标本课程主要分为两部分,机器学习推荐系统基础,与电影推荐系统项目实战。第一部分主要是机器学习推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用python做了实现;第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值