【问题标题】:SVM training OpenCVSVM 训练 OpenCV
【发布时间】:2015-05-04 09:02:20
【问题描述】:
我一直在使用少量图像(大约 20 张)来训练 SVM,我注意到在训练时,一张图片可以对结果产生非常大的影响。
有时它会有点准确,有时它会说一切都是匹配的,有时没有任何东西是匹配的。现在使用一组较小的图像,我知道一张图像的影响会成比例地更大,但是除了反复试验之外,还有什么可以辨别什么是好的训练集呢?您如何选择数百张图像进行训练?
这似乎有点太重要的一步,让它继续前进
“好吧,使用这些图像而不是那些,它似乎运行得更好,现在如果我包含这些...”
即猜测。
【问题讨论】:
标签:
opencv
machine-learning
svm
training-data
【解决方案1】:
对于您的问题,无法给出一个广泛而明确的答案,因为(一如既往)这取决于应用场景的具体情况。
所以 tl;dr 版本:分析您的问题。
想到了 3 种方法来收集您的训练集有用的证据:
对您的训练数据使用无监督技术来验证其有用性(需要您实际分析问题并定义具体标准)。
在没有选择性假设的情况下获取训练数据,但根据您的场景以相同的方式对它们进行预处理全部。这可以是从规范化到转换的任何内容,以确保数据变得更加稳定,例如学习噪声或不变性。
在某些情况下(例如,运行高度多样化数据的实时系统),您不想做出假设。您希望您的分类器考虑广泛的输入,因此您也选择了广泛的训练集。
一般来说:如果您的训练集中有 1 张图片破坏了您的分类器,您需要确定是什么让该图片与众不同,并且最好使用更多与该图片相似的图片进行训练,以使其更加稳健。除非您可以确保经过训练的系统永远不会遇到这种类型的图像。