Neural network 我如何规范我的反向传播神经网络与多个范围的多功能?
我有一个具有11个特征的数据集,范围如下: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
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函数。