Neural network 我如何规范我的反向传播神经网络与多个范围的多功能?

Neural network 我如何规范我的反向传播神经网络与多个范围的多功能?,neural-network,normalization,backpropagation,Neural Network,Normalization,Backpropagation,我有一个具有11个特征的数据集,范围如下: 1000001 < feature 1 < 1560504 10000 < feature 2 < 15151 1 < feature 3 < 8 1001 < feature 4 < 3051 100 < feature 5 < 136 100 < feature 6 < 323 1 < feature 7 < 179 0 < feature

我有一个具有11个特征的数据集,范围如下:

1000001 < feature 1  < 1560504
10000 < feature 2  < 15151
1 < feature 3  < 8
1001 < feature 4  < 3051
100 < feature 5  <  136
100 < feature 6  <  323
1 < feature 7  < 179
0 < feature 8  <  23
0 < feature 9  <  60034
114206 < feature 10  < 5318251
30 < feature 11  < 356
1000001
和一个布尔输出

我想对该数据集使用反向传播神经网络。

如何规范我的输入

每个特征都可以独立标准化

   x_i = (x_i - mean(x))/sigma(x) where x is a feature
此外,您需要存储每个特征的平均值和西格玛,并在预测前在测试/新数据上使用相同的平均值和西格玛

如果您使用的是Scikit等,则可以使用标准预处理包:

非常感谢。我使用matlab,根据您的结果,我使用zscore(trainData)。它为每一列应用标准化的z分数标准化。但是在我的标准化数据集中有负值。可以吗?负值可以(是否使用signoid或tanh作为激活函数,范围也在负值域中扩展)。我不使用z-score,因为它假设了特征的正态分布,而这不可能是真的。更好的是,imho,在[0,1]或[-1,1]之间进行线性归一化。对于输出,在激活函数的输出范围内线性归一化,避免存在较小分辨率且净性能较差的渐近部分:[-0.9,0.9]对于tanh或[0,0.9]对于sigmoid函数。