我使用少量图像(大约20张)来训练SVM
,我注意到在训练过程中,一张图片可能会对结果产生很大的影响。
有时候结果会比较准确,有时候它会认为所有东西都匹配,有时候则什么都不匹配。我理解使用较少的图像集时,一张图片的影响会成比例地更大,但除了反复试错之外,还有没有其他方法来判断什么是好的训练集?你是如何选择几百张用于训练的图像的?
这一步似乎太重要了,不能仅仅依靠
“嗯,这些图像运行得更好,而那些不行,现在如果我加入这些…”
即猜测来决定。
回答:
你的问题没有一个广泛的明确答案,因为(像往常一样)这取决于应用场景的具体情况。
所以简而言之:分析你的问题。
我想到了三种方法来收集证据,证明你的训练集是有用的:
-
在你的训练数据上使用无监督技术来验证它们的有用性(需要你实际分析问题并定义具体标准)。
-
不带选择性假设地获取训练数据,但根据你的场景以相同的方式预处理它们。这可以是从归一化到变换的任何操作,以确保数据变得更加稳定,例如学习噪声或不变性。
-
在某些场景中(例如处理高度多样化数据的实时系统),你不希望做出假设。你希望你的分类器考虑广泛的输入,因此你也选择广泛的训练集。
一般来说:如果你的训练集中有一张图片会破坏你的分类器,你需要找出那张特定图片的特殊之处,并最好用更多类似的图片进行训练,以使其更加robust。除非你能确保训练后的系统永远不会遇到这种类型的图像。