如何使用规范化和标准化来提高深度学习性能



我有8160个数据集,输入的形状是(1500,1(,输出的形状是是(2500,1(。输入的值在-80到3之间。输出值在0或1之间变化。

我认为,归一化是通过使用全局最大值和全局最小值来应用于输入的。然后我意识到,通过使用输入的局部最大值和局部最小值,对每个特定输入分别使用归一化。然后我尝试了这两种方法,局部归一化得到了更好的结果。

我不能理解。例如,通过使用局部规范化,"0"对应于输入1的-20,"0"对应于输入2的-80。我认为,关于输入1和输入2的有用且可比较的信息丢失了。有人能帮助我理解这一点吗,局部归一化如何才能给出更好的结果?还是我的模型出了问题?非常感谢。

简而言之:神经网络的优化通常使用梯度体面算法进行。标准化或标准化变量有助于算法收敛,因为输入特征的大小会影响状态大小。大小的特征差异很大

有关更多详细信息,请查看此处和此处。

正如第二个链接的作者所说:

使用这些未处理的数据作为线性回归系统的输入特征可能会将梯度下降算法减慢到爬行。之所以会发生这种情况,是因为[…]这种未规范化的数据扭曲了梯度下降必须处理的成本函数,使得很难达到最低点。

最新更新