计算机视觉:计算描述符的归一化值
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 倍。
有多个选项可以绑定您的数据。
- 使用非线性函数,例如
tanh
(在神经网络中非常流行)
- 中心,然后用
1/max(abs(dev))
重新缩放
- 保留 0,然后用
1/max(abs(dev))
重新缩放
2*(x-min)/(max-min) - 1
- 标准化(就像您所做的那样)但是 截断 值到 -1;+1
- ...更多
我正在做图像分类项目,我已经制作了特征语料库。
我想在 -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 倍。
有多个选项可以绑定您的数据。
- 使用非线性函数,例如
tanh
(在神经网络中非常流行) - 中心,然后用
1/max(abs(dev))
重新缩放
- 保留 0,然后用
1/max(abs(dev))
重新缩放
2*(x-min)/(max-min) - 1
- 标准化(就像您所做的那样)但是 截断 值到 -1;+1
- ...更多