我正在使用opencv svm实现字母表分类。 我对标准化特征向量有疑问。 我有两种规范化特征向量的方法, 我需要找到哪个是逻辑上正确的规范化方法??
方法1
假设我有3个特征向量如下
[2, 3, 8, 5 ] -> image 1
[3, 5, 2, 5 ] -> image 2
[9, 3, 8, 5 ] -> image 3
特征向量中的每个值都是通过将像素与内核进行卷积来获得的。
目前,我正在查找每列的最大值和最小值,并根据该值进行标准化。
在上述情况下,第一列是[2, 3, 9]
min = 2
max = 9
并且基于此完成第一列的标准化。同样,所有其他列都已标准化
方法2
如果核心如下
[-1 0 1]
[-1 0 1]
[-1 0 1]
然后通过与上述内核卷积得到的最大值和最小值如下(8位图像 - 强度范围:0-255)
max val = 765
min val = -765
并将每个值标准化为最大最大值?
哪种逻辑正确的方法可以进行规范化(方法-1或方法-2)?
答案 0 :(得分:1)
执行此操作的标准方法是方法-1(请参阅this question的答案)。我还建议您阅读this paper以获得有关svm培训的良好参考。
然而,在你的情况下,使用相同内核计算的所有特征的范围将是相似的,并且方法1可能比它有帮助更多(例如通过增加几乎恒定特征的噪声)。
所以我的建议是:测试两种方法,并评估表演,看看哪种方法最适合你的情况。