计算机视觉:计算描述符的归一化值

Computer Vision: Calculate normalized value of descriptors

我正在做图像分类项目,我已经制作了特征语料库。

我想在 -1 到 1 之间对 PyBrain 输入的特征进行归一化 我正在使用以下公式对特征进行归一化

Normalized value = (Value - Mean ) / Standard Deviation 

但它给了我 -3 到 3 之间的一些标准化值,这是非常不准确的。

我在 pybrain 中有 100 个输入,在 pybrain 中有 1 个输出。

如果你有 positive 数据集,你可以使用这个公式

标准化你的值
Normalized value = (Value / (0.5*Max_Value) )-1;

这将为您提供 [-1,+1]

范围内的值

如果你有正面和负面

 Normalized value = ((Normalized - Min_Value)/(Max_Value-Min_Value)-0.5)*2

也许你可以这样做:

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] 内。

您使用的方程是标准化方程。它 保证您的值在 -1;1 内,但它会重新调整您的数据以使其平均值为 0,然后标准偏差为 1。但是点数可以超过均值标准差的 1 倍。

有多个选项可以绑定您的数据。

  1. 使用非线性函数,例如tanh在神经网络中非常流行)
  2. 中心,然后用 1/max(abs(dev))
  3. 重新缩放
  4. 保留 0,然后用 1/max(abs(dev))
  5. 重新缩放
  6. 2*(x-min)/(max-min) - 1
  7. 标准化(就像您所做的那样)但是 截断 值到 -1;+1
  8. ...更多