机器学习笔记——推荐系统(recommender system)

推荐系统

我们在平时最常见的就是某个网站给你推荐广告,豆瓣给你推荐电影,网易云给你推荐你喜欢的歌,这种系统我们统一称作推荐系统

基于内容的推荐

我们举一个电影打分的例子

我们可以为某一部电影选定特征,不同人对不同的特征有不同的偏爱特性,借此我们可以预测某个人对某部特定电影的打分,输入x是某部电影的特征,θ是某个人对电影特征的偏爱参数

以下是该问题的一些参数

因此对于给定电影的参数与某个人的打分,我们可以求出θ

以下是利用梯度下降法的更新过程

协同过滤

对于数量极大的电影,我们不可能对于每一部都去人工进行特征的标注,因此让我们来考虑另外一个问题,我们已知每个人对不同特征的偏爱程度θ,我们可以反求出电影的特征x使得预测打分与真实结果最接近

为此我们有以下的优化算法

我们可以看出来以上两个过程实际上是个互补的过程,由此我们可以循环往复的循环以上两个过程,这样我们可以通过已有的数据让算法自动学习到电影的特征,并且通过此特征来对电影进行预测打分。我们让算法自动学习特征可以让其学到一些更加抽象复杂的特征,而不像浪漫、动作、喜剧这样过于简单的特征。这些特征可能我们很难直观地去理解它们,但是它们实际上是有意义的,确实代表着电影中某种有特点的元素

我们可以将以上两个步骤整合起来,写成一个完整的算法,我们把这个算法叫做协同过滤(collaborative filtering)。也就是我们可以将两个优化目标循环出现的过程写成一个共同优化的目标

以下是具体的算法过程

矢量化

我们可以将我们的优化过程用矩阵的形式表示来更快地进行计算

预测值我们可以写作X矩阵和θ矩阵相乘的结果,我们把这个过程叫做低秩矩阵分解

如果我们要寻找最相似的电影只需要比较电影的特征向量即可

均值归一化

让我们考虑以下情况,此时我们来了一个新用户,它没有给任何电影打过分,那么根据算法我们将预测它对所有电影打分都是0,这种情况下我们很难给他推荐电影

为此我们可以进行均值归一化(mean normalization),也就是计算所有用户对某一电影打分的平均值,再将每个用户打分减去均值,相当于将电影的均分统一化作0了,这样我们在预测打分的时候就要加上均分。这样有什么好处呢,对于一个新用户,它对每个电影的预测结果实际上就是零加上其他用户对这部电影打的平均分。这样在用户没有任何偏好(即没有对任何电影打过分)的情况下,我们也能对其进行电影推荐了

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值