[机器学习与深度学习] - No.4 Normalization和Standardization的区别

Normalization和Standardization的区别

写在前面:Normalization和Standardization在很多时候,很多文章中并不区分,甚至会使用scaling来代替上述两个词。在这里我们针对两种方法,做一些细微的区分。

Normalization:

将我们的数据值的范围限定在[0,1]之间,也就是我们将常说的归一化。在机器学习的算法中,我们经常会遇到这种情况:

x1x2
19851
18743
16005

某一列数据的值域和另外一列数据值域相差过大,如果我们只用此类的原始数据,在一些机器学习的优化算法,例如梯度下降中,梯度下降的方向如下所示:

在这里插入图片描述

没有归一化的数据其代价函数看起来像是扁平的碗,同时其梯度下降的方向像是再走“之字形”,迭代很慢。

使用归一化之后的数据,代价函数会看起来很对称,同时训练速度更快,模型精度更高。

常用的归一化方法如下:

  • 最大最小值归一化(线性):

    x ′ = x − x m i n x m a x − x m i n x' = \frac{x - x_{min}}{x_{max}-x_{min}} x=xmaxxminxxmin

  • 对数归一化(非线性):
    x ′ = l o g 10 ( x ) l o g 10 ( x m a x ) x' = \frac{log_{10}{(x)}}{log_{10}{(x_{max})}} x=log10(xmax)log10(x)

Standardization:

将数据进行正态化,使处理后的数据符合标准正态分布,即均值为0,标准差为1。也就是我们常说的标准化
x ′ = x − μ δ x' = \frac{x-\mu}{\delta} x=δxμ
其中 μ {\mu} μ是指数据的均值, δ \delta δ是指数据的标准差。上述公式又被称为Zero-Mean Normalization

总结:
  • 标准化用于调整数据为标准正态分布,归一化用于将数据值域调整为[0,1]。

  • 归一化受最大值,最小值影响;标准化受均值,标准差影响。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值