博客
关于我
深度学习_深度学习基础知识_数据归一化
阅读量:543 次
发布时间:2019-03-08

本文共 1470 字,大约阅读时间需要 4 分钟。

归一化的主要公式

1.将数据归一到[0,1]:

x ′ = x − m i n ( x ) m a x ( x ) − m i n ( x ) x^{\prime} =\frac{x - min(x)}{max(x)-min(x)} x=max(x)min(x)xmin(x)

其中 m a x ( x ) max(x) max(x) m i n ( x ) min(x) min(x)分别是数据的最大值和最小值。

2.将数据归一化到[-1,1]:

x ′ = x − m e a n ( x ) m a x ( x ) − m i n ( x ) x^{\prime}=\frac{x-mean(x)}{max(x)-min(x)} x=max(x)min(x)xmean(x)

其中 m e a n ( x ) mean(x) mean(x)是数据的均值。

3.将数据归一化到均值为0,标准差为1的标准正态分布上:

x ′ = x − μ σ x^{\prime}= \frac{x-\mu}{\sigma} x=σxμ

其中 μ \mu μ σ \sigma σ分别是数据的均值和标准差。

4.将数据归一化到[a,b]:

计算系数:

k = b − a m a x ( x ) − m i n ( x ) k=\frac{b-a}{max(x)-min(x)} k=max(x)min(x)ba

数据归一化:

x ′ = a + k × ( x − m i n ( x ) ) x^{\prime}=a+k\times(x-min(x)) x=a+k×(xmin(x))

或者

x ′ = b + k × ( x − m a x ( x ) ) x^{\prime}=b+k\times(x-max(x)) x=b+k×(xmax(x))

归一化的作用

  1. 消除数据之间的量纲的影响,是数据的分布一致。(尤其是神经网络一直在算概率)
  2. 使数据集的更新速度变得更为一致,容易更快地通过梯度下降找到最优解(加速收敛速度)。如下图所示。
  3. 消除异常样本的影响,异常样本会增加网络学习难度,可能导致训练不收敛。
  4. 保证输出特征中数值小的特征也可以被充分学习。
  5. 避免梯度消失,比如使用Sigmoid激活函数时,数值小于0和大于1时会导致梯度几乎为0。

在这里插入图片描述

归一化应用场景

需要用到梯度下降法求解的模型通常需要归一化,如线性回归,罗辑回归,支持向量机和神经网络等模型。

但是对于决策树则并不适用,以C4.5为例,决策树在进行节点分裂时主要依据数据集D关于特征x的信息增益比,而信息增益比跟特征是否经过归一化是无关的,因为归一化并不会改变样本在特征x上的信息增益。

不进行归一化的后果

假设 w 1 w1 w1 的范围在 [ − 10 , 10 ] [-10, 10] [10,10],而 w 2 w2 w2 的范围在 [ − 100 , 100 ] [-100, 100] [100,100],梯度每次都前进 1 单位,那么在 w 1 w1 w1 方向上每次相当于前进了 1 / 20 1/20 1/20,而在 w 2 w2 w2 上只相当于 1 / 200 1/200 1/200!某种意义上来说,在 w 2 w2 w2 上前进的步长更小一些,而 w 1 w1 w1 在搜索过程中会比 w 2 w2 w2 “走”得更快。

​ 这样会导致,在搜索过程中更偏向于 w 1 w1 w1 的方向。走出了“L”形状,或者成为“之”字形。

在这里插入图片描述

转载地址:http://ijbiz.baihongyu.com/

你可能感兴趣的文章
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>