特征长度如何取决于 SVM 分类器中的预测

How Feature length depend on prediction in SVM classifier

目前我正在用opencv中的SVM分类器做英文字母分类。 我在做上面的事情时有以下疑问

  1. 特征向量的长度如何取决于分类? (特征长度增加会怎样(我现在的特征长度是125))

  2. 预测时间是否取决于用于训练的数据数量?

  3. 为什么我们需要对特征向量进行归一化(这会提高预测的准确性和预测类别所需的时间)吗?

  4. 如何确定归一化特征向量的最佳方法?

1) 特征的长度本身并不重要,重要的是特征的预测质量

2) 不是,它不依赖于样本数,而是依赖于特征数(预测一般很快)

3) 如果特征值的范围非常不同,则需要归一化

4) 基本上有标准化(均值、stdev)和缩放(xmax -> +1,xmean -> -1 或 0)——你可以两者都做,看看哪个更好

在谈论分类时,数据由具有许多特征的特征向量组成。在图像处理中,还有映射到分类特征向量的特征。所以你的 "feature length" 实际上是特征的数量或特征向量的大小。

1) 特征的数量很重要。原则上,更多的特征可以更好地分类,但也会导致过度训练。为避免后者,您可以添加更多样本(更多特征向量)。

2) 是的,因为预测时间取决于支持向量的数量和支持向量的大小。但由于预测速度非常快,除非您有一些实时要求,否则这不是问题。

3) 虽然 SVM 作为最大边距分类器对不同的特征值范围非常稳健,但值范围较大的特征比范围较小的特征具有更大的权重。如果 类 不是完全可分离的,这尤其适用于惩罚计算。

4) 由于 SVM 对于不同的值范围非常稳健(与面向聚类的算法相比),这不是最大的问题。通常绝对 min/max 缩放为 -1/+1。如果您知道数据的预期范围,则可以缩放该范围,并且数据中的测量误差不会影响缩放。在迭代过程中添加训练数据时,固定范围也是可取的。