我正在尝试使用 SVM 对 C++ 中已知位置的图像上读取的数字进行分类。为此,我在数字的已知位置对一个矩形进行采样,并使用 ground_truth 进行训练。
我想知道如何选择 SVM 的内核。我使用默认的线性内核,但直觉告诉我它可能不是最佳选择。
我该如何选择内核?
您将需要调整内核(如果您使用非线性内核)。本指南可能对您有用:SVM 分类实用指南
不幸的是,这没有灵丹妙药,所以实验是你最好的朋友。
可能我会从 RBF 开始,它在大多数情况下工作得很好,我同意你的直觉,可能线性不是最好的,尽管有时(尤其是当你有大量数据时)它会给你带来惊喜 :)
我发现 RBF 的问题是它倾向于过度拟合训练集,如果你有大量数据,这将成为一个问题,但随后会出现一个新问题,因为它往往难以扩展并且大数据的训练时间很慢.