我目前正致力于使用不同的图像描述符对图像进行分类 . 由于他们有自己的指标,我使用预先计算的内核 . 因此,考虑到这些NxN内核矩阵(总共N个图像),我想训练和测试SVM . 虽然我对使用SVM不是很有经验 .
令我困惑的是如何输入培训输入 . 使用内核MxM的子集(M是训练图像的数量),训练具有M个特征的SVM . 但是,如果我理解正确,这限制了我使用具有相似数量的功能的测试数据 . 尝试使用大小为MxN的子内核,在训练期间会导致无限循环,因此,在测试时使用更多功能会产生不良结果 .
这导致使用相同大小的训练和测试集给出合理的结果 . 但是,如果我只想分类,说一张图像,或者为每个 class 训练一定数量的图像并用其余的训练,这根本不起作用 .
如何消除培训图像和功能的数量之间的依赖关系,以便我可以测试任意数量的图像?
我正在使用libsvm for MATLAB,内核是距离矩阵,范围在[0,1]之间 .
1 回答
您似乎已经找到了问题...根据MATLAB包中包含的README文件:
让我用一个例子来说明:
输出: