Joh*_*son 1 opencv machine-learning svm
opencv SVM实现采用标记为"SVM类型"的参数,该参数必须在用于训练SVM的CVSVMParams结构中使用.我能找到的所有解释是:
// SVM type
enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };
谁知道这些不同的价值代表什么?
kar*_*enu 10
它们是SVM的不同配方.SVM的核心是数学优化问题.这个问题可以用不同的方式陈述.
C-SVM使用C作为边际大小和错误分类的训练点数之间的权衡参数.C只是一个数字,有用的范围取决于数据集,它可以从非常小(如10-5)到非常大(如10 ^ 5),具体取决于您的数据.
nu-SVM使用nu代替C. nu大约是训练点的一部分,最终将作为支持向量.支持向量越多,您的保证金越宽,将被错误分类的训练点越多.nu范围从0.1到0.8 - 在0.1左右,大约10%的训练点将是支持向量,为0.8,更像是80%.我粗略地说,因为它只是相关的方式 - 它不完全相关.
epsilon-SVR和nu-SVR使用SVM进行回归.不是通过找到最大边缘超平面来进行二元分类,而是使用该概念来找到最适合数据的超高压管,以便用它来预测未来的模型.它们的参数化方式不同(如nu-SVM和C-SVM不同).
One-Class SVM是新颖的检测.而不是二元分类或预测值,而是给SVM一个训练集,它试图训练一个模型来包裹该集合,以便将来的实例可以被分类为类的一部分或类外(小说或离群值).