机器学习(3),opencv4.0中SVM各个参数的意义,设置

SVO算法

至于SVO算法,先放在这,因为是一种优化算法,占时不打算深入研究,先考虑SVM的实际应用

Opencv4.0 中SVM的参数

https://docs.opencv.org/master/d1/d2d/classcv_1_1ml_1_1SVM.html详细文档可以参考官方的文档

官网提供的公共接口分为两个部分,一个是带get开头的,指的是获取当前使用的SVM的一些参数,带set的指的是设置相应的参数,还是很人性化的,下面主要介绍的是带set的参数设置:

机器学习(3),opencv4.0中SVM各个参数的意义,设置

setC(double c): 设置惩罚函数的参数C的大小,一般大于0,不允许是0;
setClassWeights(Mat & val):表示不同分类的权值,该值和C相乘后,实现了不同分类的不同的惩罚力度,值越大,该类别的惩罚力度就越大。一般在多分类中使用,mat的大小和分类的类别多少是一致的。
setCoef(double val):设置多项式核函数和sigmod核函数的参数P,
setCustomKernel ( const Ptr< Kernel > & _kernel ) ://这个基本没用过。。。。。应该是自定义核函数
setDegree ( double val ) :设置多项式核函数的Q;
setGamma ( double val ) :设置多项式核函数,高斯核函数,sigmod核函数的参数伽马
setKernel ( int kernelType ) :选用opencv自带的核函数,整个包含在一个枚举当中。包括:
机器学习(3),opencv4.0中SVM各个参数的意义,设置
setNu ( double val ) :表示NU-svc和NU-svr的参数Nu,在下面图片中有写道
setP ( double val ) :表示-P-SVR的参数P;
setTermCriteria ( const cv::TermCriteria & val ) :设置迭代终止条件
setType ( int val ) :选用类型:
机器学习(3),opencv4.0中SVM各个参数的意义,设置

小结:

本章主要提供一些svm中参数的设置和使用。具体原理,请参考上一篇,毕竟只有原理打通,才知道怎么调参数。直达链接https://blog.csdn.net/AlonewaitingNew/article/details/100764610