我正在进行图像分类项目,并且已经制作了功能语料库。
我想将我的功能规范化为PyBrain的输入介于-1到1之间我使用以下公式来规范化功能
Normalized value = (Value - Mean ) / Standard Deviation
但它给我标准化了-3到3之间的一些值,这是非常不准确的。
我有pybrain的100个输入和pybrain的1个输出。
答案 0 :(得分:1)
您使用的等式是标准化的等式。它不保证您的值在-1; 1但它重新调整您的数据,使其平均值为0,之后标准差为1。但是点数可以超过平均值的标准偏差的1倍。
绑定数据有多种选择。
tanh
(非常在神经网络中流行)1/max(abs(dev))
1/max(abs(dev))
2*(x-min)/(max-min) - 1
答案 1 :(得分:0)
如果您有正数据集,则可以使用此公式对您的值进行标准化
Normalized value = (Value / (0.5*Max_Value) )-1;
这将为您提供范围为[-1,+ 1]
的值如果您有正面和负面:
Normalized value = ((Normalized - Min_Value)/(Max_Value-Min_Value)-0.5)*2
答案 2 :(得分:0)
也许你可以这样做:
Mid_value = ( Max_value + Min_Value )/2
Max_difference = ( Max_value - Min_Value )/2;
Normalized_value = ( Value - Mid_value )/Max_difference;
Normalized_value应在[-1,+ 1]之内。