CNN 入门讲解:什么是标准化?

原创 2018年04月15日 22:28:37

此文章首发于

卷积神经网络(CNN)入门讲解zhuanlan.zhihu.com图标

内容如有修改,不在此处修改,请关注知乎:蒋竺波

----------------------------分割线------------------------------------------------------------

大家在看一些机器学习或者深度学习的文章时,在数据预处理的时候,会不会经常看到一个步骤:

(输入数据-数据均值)/数据标准差

初学者的你可能就直接略过了

因为你觉得它就是一个简单的线性变换,并没有多复杂

但是

就像爱因斯坦的相对论:

E = mc^2

大道至简

这个数据预处理的步骤在机器学习或者深度学习里面,都是重中之重

其实,它是标准化(Normalization)的一种


今天的内容:

当然,标准化的方法这是最常用的。

Z-score 怎么用python 代码实现:

实现时有2种不同的方式:
(1),使用sklearn.preprocessing.scale()函数,直接将数据进行标准化。
(2),使用sklearn.preprocessing.StandardScaler类,其优点可以保存训练数据中的参数(均值、方差),也可以直接使用其对象转换(transform)其测试集数据。

标准化的方法有很多,还有归一化,规范化等,具体都可以在 网上找到答案


其他参考资料:

【原】关于使用sklearn进行数据预处理 -- 归一化/标准化/正则化www.cnblogs.com图标数据标准化的方法与意义 - CSDN博客blog.csdn.net图标

----------------------------分割线------------------------------------------------------------

下面我们来看看,在CNN中,我们为什么要给图像做标准化

很多时候我们的训练图片会出现下面的情况:

大家看上面两只猪,对于人来说,它就是两只一样的猪,只是图片的灰度或者曝光度不一样罢了,于是我们都给它们都标注为社会人

咋一看,好像没毛病

但是,虽然我们人眼看没毛病,可是机器看的方式和我们不一样,他们看的是对应图片的像素值

由于曝光的,灰度等各种原因,他们像素值其实不一样,那么经过卷积层后,他们的特征很可能不一样

于是神经网络就尴尬了,特征都不一样,为啥标签都一样呢?

这样,迷惑的神经网络就不知道怎么对权值进行训练了



另一种情况:

当然,我上面就是举了两个例子,还有很多情况需要进行标准化才能解决,标准化常用的是Z-Score, 记住,这是要减去自己数据的均值和除以自己的标准差(不是方差)

大家在用Fine-tune pretrained model,比如Imagenet, 程序里面经常是减去的Imagenet的均值和方差,这样是不对的,大家在跑程序的时候要注意了。

在公众号里回复:标准化,可以获得全部高清PPT哦!!

关于标准化在机器学习方面的应用,可以参考下面资料:

nnetInfo文章浏览nnetinfo.com图标parkson:R--数据标准化、归一化、中心化处理zhuanlan.zhihu.com图标

网上有很多,大家可以自己找找。

希望大家多多点赞,谢谢啦。

有问题,欢迎提问。

CNN入门讲解:如何理解卷积神经网络的结构

原创文章,一家之言。 个人公众号:follow_bobo 知乎号:蒋竺波 转载请通知本人。 大家好,我是波波,欢迎再次来到CNN入门讲解。 上次我们讲什么卷积以及卷积在卷积神...
  • bobo_jiang
  • bobo_jiang
  • 2018-01-16 23:50:42
  • 74

CNN 入门讲解:什么是全连接层

新年第一更祝大家新年快乐万事如意这个时候还愿意点进来,新的一年肯定要起飞了这情人节和新年连着过啊这对情侣意味着什么,意味着要带情人去见家长了当然对一些情侣意味着,情人节过不好,估计年也过不好对于那些没...
  • bobo_jiang
  • bobo_jiang
  • 2018-02-25 18:58:49
  • 188

CNN 入门讲解:图片在卷积神经网络中是怎么变化的(前向传播)

CNN 入门讲解:图片在卷积神经网络中是怎么变化的(前向传播)微信公众号:follow_bobo知乎:蒋竺波首发于卷积神经网络(CNN)入门讲解​zhuanlan.zhihu.com为了看懂这一期,请...
  • bobo_jiang
  • bobo_jiang
  • 2018-03-05 12:59:20
  • 39

CNN入门讲解:卷积层是如何提取特征的?

各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 本人微信公众号...
  • bobo_jiang
  • bobo_jiang
  • 2018-01-16 23:48:49
  • 364

CNN卷积神经网络入门

Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09         ...
  • s151506879
  • s151506879
  • 2016-07-27 14:26:05
  • 1425

CNN入门讲解:从论文到代码,实现Resnet

首发于大家好,我是波波上期我们讲了resnet的基本原理上期文章地址:点击打开链接今天我们要讲的是Resnet的结构,并且在用代码实现这个Resnet论文地址:https://arxiv.org/pd...
  • bobo_jiang
  • bobo_jiang
  • 2018-02-25 18:56:27
  • 166

CNN入门讲解:什么是采样层(pooling)

各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 微信公众号:f...
  • bobo_jiang
  • bobo_jiang
  • 2018-01-16 23:19:30
  • 192

CNN初学者—从这入门

1、本文是到目前为止我见到过的关于CNN最最小白的入门教程,没有之一! 2、原文地址:http://xilinx.eetrend.com/article/10827 3、本文仅供学术交流,如果不小...
  • kanghe2000
  • kanghe2000
  • 2017-04-28 20:06:39
  • 9724

卷积神经网络CNN(2)—— BN(Batch Normalization) 原理与使用过程详解

Batch Normalization是由google提出的一种训练优化方法。网上对BN解释详细的不多,大多从原理上解释,没有说出实际使用的过程,这里从what, why, how三个角度去解释BN。...
  • Fate_fjh
  • Fate_fjh
  • 2016-11-28 11:56:32
  • 18623

第一阶段-入门详细图文讲解tensorflow1.4 -(五)MNIST-CNN

在第一阶段-入门详细图文讲解tensorflow1.4 -(四)新手MNIST上只有91%正确率,实在太糟糕。在本博客里,我们用一个稍微复杂的模型:a small convolutional neur...
  • jk981811667
  • jk981811667
  • 2017-12-15 13:49:38
  • 293
收藏助手
不良信息举报
您举报文章:CNN 入门讲解:什么是标准化?
举报原因:
原因补充:

(最多只允许输入30个字)