推荐系统(recommender systems):均值归一化(mean normalization)
均值归一化可以让算法运行得更好。

现在考虑这样一个情况:一个用户对所有的电影都没有评分,即上图所示 的Eve用户。现在我们要学习特征向量(假设n=2) 以及用户5的向量θ(5),因为用户Eve没有对任何电影打分,所以前面的一项为0,只有后面正则化的项,所以影响θ取值的只有后面的θ的正则化的项。所以要使它最小,即θ的取值为0.所以当我们预测用户5对所有电影的评分的时候,这时的评分都为0.所以我们会预测所有的电影的评分都为0.这样是毫无意义的,因为我们还是没有办法知道我们应该向用户5推荐什么电影(没有一部电影评分要高些),所有的电影预测为0也没有意义,因为事实是有的电影评分要高些,有的电影评分要低些。
均值归一化可以让我们解决上面的问题

首先计算每部电影所得评分的均值,将其放在向量u中,将所有的电影评分减去平均评分,即将每部电影的评分归一化,让其平均值变为0.
现在我们将这个评分数据集Y使用协同过滤算法,来学习θ(j)与x(i).
对于用户j对于电影i的评分,我们使用(θ(j))T(x(i))+u(i)
所以对于user5我们学习到的θ为[0,0],这样再加上u值,这样user5对于电影1的预测分为2.5,对于电影2的预测分也为2.5....它的意思其实是在说,如果用户5没有给任何电影评分,我们要做的是预测他对每部电影的评分为这些电影的平均得分
均值归一化Y,使得每行的平均值为0,如果有些电影是没有评分的,这种情况我们可以将Y的列进行均值归一化,但是这种情况可能不好,因为当一部电影没有一个用户对它进行评分时,这种情况我们是不会将这部电影推荐给用户的。所以当用户没有对一部电影进行评分时,我们可以使用行无值归一化来处理,这种情况比列均值归一化要常见些
总结
协同过滤算法的预处理过程--均值归一化,根据数据集的不同,可以让算法运行得更好
推荐系统(recommender systems):均值归一化(mean normalization)的更多相关文章
- [C11] 推荐系统(Recommender Systems)
推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...
- 斯坦福第十六课:推荐系统(Recommender Systems)
16.1 问题形式化 16.2 基于内容的推荐系统 16.3 协同过滤 16.4 协同过滤算法 16.5 矢量化:低秩矩阵分解 16.6 推行工作上的细节:均值归一化 16.1 问题形式 ...
- Ng第十六课:推荐系统(Recommender Systems)
16.1 问题形式化 16.2 基于内容的推荐系统 16.3 协同过滤 16.4 协同过滤算法 16.5 矢量化:低秩矩阵分解 16.6 推行工作上的细节:均值归一化 16.1 问题形式 ...
- 推荐系统(recommender systems):预测电影评分--问题描述
推荐系统很重要的原因:1>它是机器学习的一个重要应用2>对于机器学习来说,特征是非常重要的,对于一些问题,存在一些算法能自动帮我选择一些优良的features,推荐系统就可以帮助我们做这样 ...
- 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)
如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 【RS】Matrix Factorization Techniques for Recommender Systems - 推荐系统的矩阵分解技术
[论文标题]Matrix Factorization Techniques for Recommender Systems(2009,Published by the IEEE Computer So ...
- 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统
[论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding , Guanghui ...
- 【RS】Wide & Deep Learning for Recommender Systems - 广泛和深度学习的推荐系统
[论文标题]Wide & Deep Learning for Recommender Systems (DLRS'16) [论文作者] Heng-Tze Cheng, Levent Koc, ...
随机推荐
- hadoop学习之HDFS原理
HDFS原理 HDFS包括三个组件: NameNode.DataNode.SecondaryNameNode NameNode的作用是存储元数据(文件名.创建时间.大小.权限.与block块映射关系等 ...
- mount和umount命令使用
1.mount命令 在Linux系统下,mount命令用于加载文件系统到指定的加载点. (1)命令语法 mount(选项)(参数) (2)常用选项说明 -V:显示版本. -l:显示已加载的文件系统列表 ...
- 读懂 ECMA 规格
一般我们都不关心 ECMA 规范,只需要学习怎么使用就好了.但有时候遇到一些难以解释的问题/现象,就不得不看一下规范是如何要求实现的了.规范内容庞杂,理解其中的术语有利于我们快速看懂规范. Envir ...
- vue mint-ui 框架下拉刷新上拉加载组件的使用
安装 npm i mint-ui -S 然后在main.js中引入 import MintUI from 'mint-ui' import 'mint-ui/lib/style.css' Vue.us ...
- Python做一个计时器的动画
一.问题在做连连看的时候需要加一个计时器的动画,这样就完成了计时功能的设计. 二.解决主要思路: 1.先产生一个画布,用深颜色填充满. 2.产生一个新的矩阵用来覆盖画布,背景用白色,就可以渲染出来递减 ...
- Jenkins部署git+python项目实现持续集成
目录 1. 创建 item 2. 配置 3. 构建 1. 创建 item 接下来填写创建任务的名字,并选择创建一个 Freestyle project ,点击确认. 2. 配置 接下来进入到项目相关配 ...
- 基于netty手写RPC框架
代码目录结构 rpc-common存放公共类 rpc-interface为rpc调用方需要调用的接口 rpc-register提供服务的注册与发现 rpc-client为rpc调用方底层实现 rpc- ...
- java中各种常见的异常
一.各种常见的异常 在上一节中程序如果你注意留意,程序抛出的异常是:java.lang.ArithmeticException.这个异常是在lang包中已经定义的.在lang包中还定义了一些我们非常常 ...
- @Valid注解的使用springmvc pojo校验
@Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于User类中的属性): ...
- Eclipse集成Git做团队开发
在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...