目前我正在使用opencv中的SVM分类器进行英文字母分类。 我在做上述事情时有以下疑虑
特征向量的长度取决于分类? (如果特征长度增加(我当前的特征长度为125)会发生什么)
预测所需的时间取决于用于培训的数据量?
为什么我们需要对特征向量进行归一化(这会提高预测的准确性和预测班级所需的时间)吗?
如何确定规范化特征向量的最佳方法?
答案 0 :(得分:2)
1)特征的长度本身并不重要,重要的是特征的预测质量
2)不,它不依赖于样本数量,但它取决于特征的数量(预测通常非常快)
3)如果要素的值范围非常不同,则需要进行标准化
4)基本上有标准化(平均值,stdev)和缩放(xmax - > +1,xmean - > -1或0) - 你可以做两个并看看哪个更好
答案 1 :(得分:2)
在谈论分类时,数据由具有许多特征的特征向量组成。在图像处理中,还存在映射到分类特征向量的特征。所以你的特征长度"实际上是要素数量或要素矢量大小。
1)特征的数量很重要。原则上,更多的功能允许更好的分类,但也导致过度训练。为了避免后者,你可以添加更多的样本(更多的特征向量)。
2)是,因为预测时间取决于支持向量的数量和支持向量的大小。但是由于预测非常快,除非你有一些实时要求,否则这不是问题。
3)虽然作为最大边际分类器的SVM对于不同的特征值范围非常稳健,但具有较大值范围的特征将比具有较小范围的特征具有更大的权重。如果类不能完全分离,这尤其适用于惩罚计算。
4)由于SVM对不同的值范围非常强大(与面向集群的算法相比),这不是最大的问题。通常绝对最小值/最大值缩放为-1 / + 1。如果您知道数据的预期范围,则可以缩放该范围,数据中的测量误差不会影响缩放。在迭代过程中添加去除数据时,固定范围也是可取的。