网问答>>【深度学习概念区分】Normalization vs. Standardization vs. Batch Normalization
问题
已解决

【深度学习概念区分】Normalization vs. Standardization vs. Batch Normalization

时间:2024-10-10 05:03:41
【深度学习概念区分】Normalization vs. Standardization vs. Batch Normalization
最佳回答
Normalization归一化和Standardization标准化,作为机器学习中的常见技巧,虽然大家较为熟悉,但对于其计算公式背后的深入理解和区别却并不清楚昌携。本文将对此进行详细阐述。首先,从数学公式来看,归一化是将数据缩放到0-1之间,而标准化则是将数据分布转换成均值为0,方差为1的数据分布。Google对归一化的定义为:将数据的数值列的数值更改至一个公共尺度,而不会改变数值之间的距离差异。这为我们对归一化的理解提供了更全面的视角。接下来,我们来探讨归一化和标准化的区别。首先,归一化是标准化的一种方式,两者在数学计算上并无区别。其次,归一化的目的是将数据缩放逗扰到某个区间,而标准化则是将各个特征的数据分布转换成相似的数据分布。值得注意的是,只有数据分布本身接近正态分布,标准化后才能接近标准的正态分布。在选择归一化或标准化时,我们需要考虑数据的特性。当对数据的输出有要求,且不存在极端值、异常值时,可使用归一化;而当数据不属于高斯分布时,可考虑使用归一化。如果数据存在异常值,则可考虑使用标准化。归一化和标准化可以消除特征的量纲,使各个特征的数值范围接近,从而在计算loss时不会因为某个特征的数值过大而忽略其他特征对输出的影响。同时,它们也可以提高模型的准确度。Batch Normalization作为深度学习中的神器,被广泛应用于各种网络中。它相较于归一化有以下优点:首先,在训练过程中,Batch Normalization可以使每次数据输入都具有相同的数据分布,从而解决‘Internal covariate Shift’问题,加快模型的拟合;其次,使用min_batch,对比全部山迅旦数据的均值方差,相当于给模型加入噪声,防止过拟合,提高模型的鲁棒性;最后,Batch Normalization适用于sigmoid函数,可以将数据分布拉回正态分布。关于Batch Normalization的生效原因,研究表明,它并非解决‘Internal covariate Shift’问题的根本原因。实际上,深度网络中存在大量的非线性函数,损失曲面形态异常复杂。加入Batch Normalization后,可以使网络的参数重组,对于复杂的损失曲面有很好的平滑作用,从而提高模型的性能。
时间:2024-10-10 05:03:44
本类最有帮助
Copyright © 2008-2013 www.wangwenda.com All rights reserved.冀ICP备12000710号-1
投诉邮箱: