【问题标题】:How Feature length depend on prediction in SVM classifier特征长度如何依赖于 SVM 分类器中的预测
【发布时间】:2015-03-03 18:14:44
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: opencv machine-learning svm libsvm


    【解决方案1】:

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

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

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

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

    【讨论】:

    • “但它取决于特征的数量”你的意思是特征长度吗? (我从一张图像中提取了不同的特征,并组合成一个特征向量)
    • @deepak 是的;一般来说,特征长度并不能保证更好的描述符,但通常需要更多的特征来实现“鲁棒性”和类似的术语。
    • @deepak:是的,更多的数字需要处理更多的时间;您可以研究诸如 RFE scikit-learn.org/stable/modules/… 之类的功能选择
    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 2012-03-13
      • 2017-09-19
      • 2013-04-02
      • 2013-04-23
      • 2019-09-17
      • 2015-01-12
      • 2015-12-09
      • 2023-03-11
      相关资源
      最近更新 更多