首页 > 解决方案 > NeuralNet 回归、输入归一化/输出反归一化和激活函数的作用?

问题描述

给定一个训练数据集,Xtrain (mxn) 和 ytrain(m,) 以及一些神经网络序列模型。

训练数据何时以及在什么范围内也必须进行归一化?应该如何对预测值进行非规范化?不同层的激活函数的选择如何影响这一点?

对于训练中使用的目标(ytrain):

非常困惑,因此非常感谢为我阐明这一点。

标签: tensorflowkerasnormalizationdenormalization

解决方案


我们是否必须标准化 Xtrain 数据?
- 是的,我们必须

我们标准化的范围是否取决于输入层的激活函数?
- 不,它没有

那必须非规范化吗?
- 不

它是否必须归一化为输出层激活函数的范围或所有层的公共范围?
- 实际上,我没有得到这个问题。但是让我解释一下标准化是如何工作的。


规范化的主要目的 - 将特征带到单一视图中。标准化提高了模型的数值稳定性。如果您有不同的特征(例如,一些介于 1000 和 20000 之间的数字列,一些介于 -10 和 5 之间的数字列,一些布尔列等),您必须进行标准化。这会将您的非常不同的变成相似的。

但我们为什么需要它?在神经网络中,每个神经元都将特征和权重作为输入:
g(X) = X^T * w
因此,如果您的某些特征比其他特征大,模型将更加关注大数字。

谈到非规范化。我们需要非规范化y值吗?不,我们没有。由于我们没有对模型训练的y_train特征进行归一化,因此我们不需要对预测值进行反归一化。


推荐阅读