SVM训练OpenCV

我使用少量图像(大约20张)来训练SVM,我注意到在训练过程中,一张图片可能会对结果产生很大的影响。

有时候结果会比较准确,有时候它会认为所有东西都匹配,有时候则什么都不匹配。我理解使用较少的图像集时,一张图片的影响会成比例地更大,但除了反复试错之外,还有没有其他方法来判断什么是好的训练集?你是如何选择几百张用于训练的图像的?

这一步似乎太重要了,不能仅仅依靠

“嗯,这些图像运行得更好,而那些不行,现在如果我加入这些…”

即猜测来决定。


回答:

你的问题没有一个广泛的明确答案,因为(像往常一样)这取决于应用场景的具体情况。

所以简而言之:分析你的问题。

我想到了三种方法来收集证据,证明你的训练集是有用的:

  • 在你的训练数据上使用无监督技术来验证它们的有用性(需要你实际分析问题并定义具体标准)。

  • 不带选择性假设地获取训练数据,但根据你的场景以相同的方式预处理它们。这可以是从归一化到变换的任何操作,以确保数据变得更加稳定,例如学习噪声或不变性。

  • 在某些场景中(例如处理高度多样化数据的实时系统),你不希望做出假设。你希望你的分类器考虑广泛的输入,因此你也选择广泛的训练集。

一般来说:如果你的训练集中有一张图片会破坏你的分类器,你需要找出那张特定图片的特殊之处,并最好用更多类似的图片进行训练,以使其更加robust。除非你能确保训练后的系统永远不会遇到这种类型的图像。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注