归一化的优点和方法

作者:zhanlijun

针对这个问题参考了wiki的解释: http://en.wikipedia.org/wiki/Feature_scaling。归一化后有两个好处:1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度”。

1 归一化为什么能提高梯度下降法求解最优解的速度?

斯坦福机器学习视频做了很好的解释: https://class.coursera.org/ml-003/lecture/21

如下图所示,蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区间相差非常大,X1区间是[0,2000],X2区间是 [1,5],其所形成的等高线非常尖。当使用梯度下降法寻求最优解时,很有可能走“之字型”路线(垂直等高线走),从而导致需要迭代很多次才能收敛;

而右图对两个原始特征进行了归一化,其对应的等高线显得很圆,在梯度下降进行求解时能较快的收敛。

因此如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。

2 归一化有可能提高精度

一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。

3 归一化的类型

1)线性归一化

这种归一化方法比较适用在数值比较集中的情况。这种方法有个缺陷,如果max和min不稳定,很容易使得归一化结果不稳定,使得后续使用效果也不稳定。实际使用中可以用经验常量来替代max和min。

2)标准差标准化

经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

3)非线性归一化

经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。

文章出处:http://www.cnblogs.com/LBSer/p/4440590.html

时间: 2024-12-29 11:16:43

归一化的优点和方法的相关文章

转:数据标准化/归一化normalization

转自:数据标准化/归一化normalization 这里主要讲连续型特征归一化的常用方法.离散参考[数据预处理:独热编码(One-Hot Encoding)]. 基础知识参考: [均值.方差与协方差矩阵] [矩阵论:向量范数和矩阵范数] 数据的标准化(normalization)和归一化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较

JavaScript 对象的几种创建方法

1 /** 2 * Created by 2016 on 2016/6/4. 3 */ 4 function Box(){ 5 var obj = new obj(); 6 obj.name = "Lee"; 7 obj.run = function(){ 8 return this.name+"run"; 9 }; 10 return obj; 11 } 12 var B = Box(); 13 //工厂模式创建对象 在对象中创建obj,在最后返回obj对象 14

创意思维常用练习方法资料

思维导图图解下载地址:创意思维 头脑风暴 头脑风暴法(Brainstorming)是最为人所熟悉的创意思维策略,该方法是由美国人奥斯本(Osborn)早于1937年所倡导,此法强调集 体思考的方法,着重互相激发思考,鼓励参加者于指定时间内,构想出大量创意的意念,并从中引发新颖的构思.脑力激荡法虽然主要以团体方式进行,但也可于个 人思考问题和探索解决方法时,运用此法激发思考.该法的基本原理是:只专心提出构想而不加以评价:不局限思考的空间,鼓励想出越多主意越好. 此后的改良式脑力激荡法是指运用脑力激

工厂模式三部曲:工厂方法模式

前言 紧接着上一篇文章开始写,这是本系列中的第二篇文章了,这篇文章主要讲一下工厂方法模式.在最后一篇抽象工厂模式的文章中,将会对这三篇文章进行一次总结. 这篇文章中并没有给出反射机制实现的代码,主要是因为工厂方法模式就是为了解决简单工厂模式的一些缺点,然而使用了反射机制的简单工厂模式已经不具备这些缺点,所以就不需要这篇文章中讲的内容了.这篇文章主要还是单一从设计模式的角度来讲一下这个模式,带大家认识一下这个设计模式. 本人理解可能不够深刻,这一系列文章中存在的问题,欢迎大家提出,谢谢! 什么是工

转 CSS制作水平垂直居中对齐各种方法总结

作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收集了几种不同的方式制作垂直居中方法,但每种方法各有千秋呀,要正确的选择也是一件不容易的事情.我会将这几种方法一一介绍给大家,以供大家参考.或许对于我这样的初学者有一定的帮助. 用CSS来实现元素的垂直居中效果是件苦差事,虽然说实现方法有多种,但有很多方式在某些浏览器下可能无法正常的工作.接下来我们就一起来看看这些不同方法实现垂直居中的各自优点和其不足之处

arm-linux笔记3:arm-linux PC文件传输方法总结(4种最常见的方法)

arm-linux笔记3:arm-linux PC文件传输方法总结(4种最常见的方法) 1使用串口终端传输文件 2使用ftp传输文件 3使用nfs传输文件 4使用u盘拷贝 串口的优点是方法简单,不需要过多的配置,不需要联接网络,但是发送数据的速度比较慢,不适用于传输超过10M的文件 ftp的配置的时候需要联网,还需要下载ftp服务以及进行复杂的配置,大小文件传输速度都比较快,但是好像只能传输单个文件,没有nfs方便 nfs配置的时候也需要联网,还需要下载nfs服务以及进行复杂的配置,配置好了之后

JDBC读取新插入Oracle数据库Sequence值的5种方法

Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,本文详国介绍了5种实现读取新插入记录sequence值的方法. 测试用的数据库脚本: SQL> create table T1 2 ( 3 ID NUMBER 4 ); Table created SQL> create sequence SEQ_T1; Sequence created //公共代码:得到数据库连接 public Connection get

JavaScript中的工厂方法、构造函数与class

JavaScript中的工厂方法.构造函数与class 本文转载自:众成翻译 译者:谢于中 链接:http://www.zcfy.cc/article/1129 原文:https://medium.com/javascript-scene/javascript-factory-functions-vs-constructor-functions-vs-classes-2f22ceddf33e#.wby148xu6 在ES6出现之前,人们常常疑惑JavaScript中的工厂模式和构造函数模式到底有

Hulu机器学习问题与解答系列 | 二十三:神经网络训练中的批量归一化

来看看批量归一化的有关问题吧!记得进入公号菜单"机器学习",复习之前的系列文章噢. 今天的内容是 [神经网络训练中的批量归一化] 场景描述 深度神经网络的训练中涉及诸多手调参数,如学习率,权重衰减系数,Dropout比例等,这些参数的选择会显著影响模型最终的训练效果.批量归一化(Batch Normalization, BN)方法从数据分布入手,有效减弱了这些复杂参数对网络训练产生的影响,在加速训练收敛的同时也提升了网络的泛化能力. 问题描述 BN基本动机与原理是什么? BN的具体实现