数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间。

2015 年一篇论文提出了这个方法,批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,使其服从标准的正态分布,这样后一层网络的输入也是一个标准的正态分布,所以能够比较好的进行训练,加快收敛速度。

在pytorch中不用自己实现批标准化,有内置的函数实现,比如二维的BatchNorm2d()

# 使用批标准化
class conv_bn_net(nn.Module):def __init__(self):super(conv_bn_net, self).__init__()self.stage1 = nn.Sequential(nn.Conv2d(1, 6, 3, padding=1),nn.BatchNorm2d(6),nn.ReLU(True),nn.MaxPool2d(2, 2),nn.Conv2d(6, 16, 5),nn.BatchNorm2d(16),nn.ReLU(True),nn.MaxPool2d(2, 2))self.classfy = nn.Linear(400, 10)def forward(self, x):x = self.stage1(x)x = x.view(x.shape[0], -1)x = self.classfy(x)return x

深度学习数据预处理——批标准化(Batch Normalization)相关推荐

  1. 什么是批标准化 (Batch Normalization)

    为什么要数据标准化 (1)具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律. (2)也是优化神经网络的一种方法 什么是批标准化 (Batch Normalization) Batch No ...

  2. 深度学习——数据预处理篇

    深度学习--数据预处理篇 文章目录 深度学习--数据预处理篇 一.前言 二.常用的数据预处理方法 零均值化(中心化) 数据归一化(normalization) 主成分分析(PCA.Principal ...

  3. Normalization 批标准化(batch normalization)理解

    数学是达成目的的工具, 理解才是达成目的桥梁, 所以这篇文章用浅显易懂的动画阐述了复杂的机器学习概念. 强烈推荐通过动画的形式了解. 所以首先放视频链接: Youtube 或者 优酷. 代码实现请来这 ...

  4. 比较全的深度学习数据预处理方法

    当前深度学习的预处理方法 1.中心化/零均值化 程序代码 2.标准化/归一化 程序代码 (1)标准化与归一化的联系和差异 联系 差异 (2)为什么要归一化/标准化 ①某些模型求解需要 ②一些分类器需要 ...

  5. 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...

  6. 深度学习 --- 优化入门四(Batch Normalization(批量归一化)一)

    前几节我们详细的探讨了,梯度下降存在的问题和优化方法,本节将介绍在数据处理方面很重要的优化手段即批量归一化(批量归一化). 批量归一化(Batch Normalization)并不能算作是一种最优化算 ...

  7. PyTorch 深度学习:31分钟快速入门——Batch Normalization

    Batch Normalization¶ 前面在数据预处理的时候,我们尽量输入特征不相关且满足一个标准的正态分布,这样模型的表现一般也较好.但是对于很深的网路结构,网路的非线性层会使得输出的结果变得相 ...

  8. 深度学习 --- 优化入门五(Batch Normalization(批量归一化)二)

    批归一化真的可以解决内部协方差偏移问题?如果不能解决,那它的作用是什么?你所接受的整个深度学习教育是一个谎言吗?让我们来寻找答案吧! 开始之前...... 我想提醒一下,本文是深度学习优化算法系列的第 ...

  9. 深度学习-----数据预处理

    转自:https://blog.csdn.net/dcxhun3/article/details/47999281 通过最近一段深度学习的学习与实现,发现数据预处理在深度学习中是非常重要的. 数据归一 ...

最新文章

  1. ASP.net中太长的数据缩略显示
  2. 测试服务器最大链接数_LoaRunner性能测试系统学习教程:probe监控(3)
  3. Science审稿人谈中国首次实现量子优越性:「九章」到底打了谁的脸?
  4. vs.net设计器里加载派生窗口类时要执行父窗口的Form_Load方法
  5. UBUNTU 12.04 下配置 HAXM 加速 ANDROID模拟器
  6. (转)Mat, vectorpoint2f,Iplimage等等常见类型转换
  7. 创建一个存储过程,返回指定员工的姓名和薪水
  8. python连接redis哨兵_Python redis.sentinel方法代码示例
  9. 【MyBatis】MyBatis Order By 字段动态动态排序
  10. python打印表格_python 6.7 编写printTable()函数表格打印(完整代码)
  11. configure: error: invalid variable name: `'
  12. newifi3高恪魔改最新_12.08达达最新球球id账号呆瓜表
  13. java获取鼠标点击的坐标_怎么我用Java窗外获取鼠标点击的坐标
  14. 导数与微分及简单例题
  15. 计算生辰八字五行属性的算法
  16. Cubase10自编曲平台,享受音乐带来的快乐!
  17. 环路补偿-一阶、二阶、运放补偿讲解及计算
  18. 快速上手搜索引擎的秘密武器——Lucene
  19. qt 多线程、信号槽、moveToThread等机制之拨乱反正
  20. 大厂面试题Object object = new Object()

热门文章

  1. SAP License:内部顾问的培养与成长
  2. Elasticsearch高级查询2:ES 高级查询
  3. MySQL高级知识(六)——索引优化
  4. flume---2中channel file和memory
  5. 做好这5点基本要求 才能算一个合格的HTML5动画
  6. 1.2 xss原理分析与剖析(3)
  7. 如何去掉UITableViewController中的分隔线setSeparatorStyle
  8. 白话设计模式--结构型模式之 适配器模式(Adapter)
  9. codeforces 848B Rooter's Song 思维题
  10. 爬虫-request和BeautifulSoup模块