均值归一化可以让算法运行得更好。

现在考虑这样一个情况:一个用户对所有的电影都没有评分,即上图所示 的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)的更多相关文章

  1. [C11] 推荐系统(Recommender Systems)

    推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...

  2. 斯坦福第十六课:推荐系统(Recommender Systems)

    16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化 16.1  问题形式 ...

  3. Ng第十六课:推荐系统(Recommender Systems)

    16.1  问题形式化 16.2  基于内容的推荐系统 16.3  协同过滤 16.4  协同过滤算法 16.5  矢量化:低秩矩阵分解 16.6  推行工作上的细节:均值归一化 16.1  问题形式 ...

  4. 推荐系统(recommender systems):预测电影评分--问题描述

    推荐系统很重要的原因:1>它是机器学习的一个重要应用2>对于机器学习来说,特征是非常重要的,对于一些问题,存在一些算法能自动帮我选择一些优良的features,推荐系统就可以帮助我们做这样 ...

  5. 推荐系统(recommender systems):预测电影评分--构造推荐系统的一种方法:低秩矩阵分解(low rank matrix factorization)

    如上图中的predicted ratings矩阵可以分解成X与ΘT的乘积,这个叫做低秩矩阵分解. 我们先学习出product的特征参数向量,在实际应用中这些学习出来的参数向量可能比较难以理解,也很难可 ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  7. 【RS】Matrix Factorization Techniques for Recommender Systems - 推荐系统的矩阵分解技术

    [论文标题]Matrix Factorization Techniques for Recommender Systems(2009,Published by the IEEE Computer So ...

  8. 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统

    [论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding  , Guanghui ...

  9. 【RS】Wide & Deep Learning for Recommender Systems - 广泛和深度学习的推荐系统

    [论文标题]Wide & Deep Learning for Recommender Systems (DLRS'16) [论文作者] Heng-Tze Cheng, Levent Koc, ...

随机推荐

  1. 手机上的unity路径

    转载自:https://www.xuanyusong.com/archives/2656 Application.dataPath路径在PC上无论是Editor还是运行时毫无压力非常万能,但是在手机上 ...

  2. kubeadm安装依赖镜像

    使用kubeadm安装的时候如果不能翻墙下载镜像是个很大的问题,这里自己把需要的镜像下载push下留作不时之需 docker pull davygeek/kube-proxy:v1.14.2 dock ...

  3. Java学习:static 关键字概述

    static 关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己.而是属于类的,所以凡是本类的对象,都共享同一份. 如果没有static关键字,那么必须首先创建对象,然后通过对象才 ...

  4. golang --for语句

    一条for 语句可以携带一条for子句. for子句可以包含初始化子句.条件子句.后置子句. package main import ( "fmt" ) func main() { ...

  5. HTTP协议随笔

    代理 代理就是处在客户端和服务端之间的服务器.客户端例如浏览器发送GET请求时,代理服务器接收该请求,并转发该请求至服务所在的服务器.服务器回复的数据和资源在第一时间经过代理服务器,才能回传到浏览器, ...

  6. DELL OptiPlex 7050M黑苹果纪录

    准备工作: 主机:OptiPlex 7050 Micro Desktop Computer 镜像:黑果小兵 macOS Catalina 10.15.1 安装过程: 大体的安装过程,就Dell品牌而言 ...

  7. 2019 263云通信java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.263云通信等公司offer,岗位是Java后端开发,因为发展原因最终选择去了263云通信,入职一年时间了,也 ...

  8. 504 Gateway Time-out ( Nginx + PHP ) 解决小计

    问题 最近有个项目,运算量比较大,服务器经常报 504 Gateway Time-out 解决方案 fastcgi_connect_timeout 默认值是 60 第一次尝试修改为 120 ,仍然报5 ...

  9. sql语句技巧

    应用场景:当sql 语句中where后面的条件字段为空的时候,条件不存在 eg:根据传入的参数,从student表中查询数据,参数包含姓名(name 必有),年龄(age 不一定有),性别(gende ...

  10. vue的v-bind详解

    前言 v-bind 主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等等,只要是属性,就可以用v-bind指令进行绑定.这篇文章主要介绍了VueJs中的V-bin ...