关于ML数据归一化(标准化、Normalize)的讨论

归一化是对训练集数据的预处理操作之一。 不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。

归一化/标准化 = 零均值化 + 方差归一化(结果使得数据均变成均值为0方差为1

机器学习中常见的操作是批标准化(Batch Normalization、BN),有专门的BN层

下图中m是批总数、是第i个批(batch)、是标准化后的批(normalized batch)、,是需要学习的两个参数

13931179-301918635cab2fa1.png


通过训练集获得归一化参数μσ^2用于归一化训练集和测试集

13931179-161a505245810957.png


13931179-2213184dc5397cfc.png
可以看到归一化后的数据的梯度下降路线更平滑,速度更快


综上归一化的优点是:让梯度下降等优化算法速度更快。

我们知道数据预处理做标准化可以加速收敛,同理,在神经网络使用标准化也可以加速收敛,而且还有如下好处:

 具有正则化的效果(Batch Normalization regularizes the model)

提高模型的泛化能力(Be advantageous to the generalization of network)

允许更高的学习速率从而加速收敛(Batch Normalization enables higher learning rates)

猜你喜欢

转载自blog.csdn.net/weixin_34106122/article/details/86781401