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

时间:2015-01-06 05:25:24

标签: opencv machine-learning svm libsvm

目前我正在使用opencv中的SVM分类器进行英文字母分类。 我在做上述事情时有以下疑虑

  1. 特征向量的长度取决于分类? (如果特征长度增加(我当前的特征长度为125)会发生什么)

  2. 预测所需的时间取决于用于培训的数据量?

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

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

2 个答案:

答案 0 :(得分:2)

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

2)不,它不依赖于样本数量,但它取决于特征的数量(预测通常非常快)

3)如果要素的值范围非常不同,则需要进行标准化

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

答案 1 :(得分:2)

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

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

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

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

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