opencv3的SVM参数

由于对SVM不甚了解,但是项目里用到了,就先把都有哪些参数搞清楚。

1. svm_type:svm类型,使用 setType() 进行设置,有以下几种。Default value is SVM::C_SVC.

    enum Types {
      
        C_SVC=100,
      
        NU_SVC=101,
       
        ONE_CLASS=102,
       
        EPS_SVR=103,
       
        NU_SVR=104
    };

2.  Gamma: POLY, RBF,SIGMOID ,CHI2核函数的参数,setGamma(),Default value is 1。

3. coef0:  POLY or  SIGMOID 核函数的参数,setCoef0() ,Default value is 0。

4. Degree:POLY 核函数的参数, Default value is 0。

5. C: C_SVC,  EPS_SVR ,NU_SVR 类型的SVM的参数,Default value is 0。

6. Nu: NU_SVC,  ONE_CLASS , NU_SVR 类型SVM的参数,Default value is 0。

7. P:EPS_SVR 类型svm的参数 epsilon,Default value is 0。

8. ClassWeights :  C_SVC  SVM中的可选权重,默认是一个empty Mat。setClassWeights(const cv::Mat &val)

9. TermCriteria : 迭代svm训练过程的终止准则,解决了约束二次优化问题的局部情形(机翻)。

    Default value is  TermCriteria( TermCriteria::MAX_ITER + TermCriteria::EPS, 1000, FLT_EPSILON )

扫描二维码关注公众号,回复: 2250282 查看本文章

   可以设置的三个参数是

int type;        //!< the type of termination criteria: COUNT, EPS or COUNT + EPS
int maxCount;    // the maximum number of iterations/elements
double epsilon;  // the desired accuracy

10. Kernel: 核函数类型,  有两种初始化方式:

                    (1)setKernel(),使用SVM::KernelTypes中的核函数,Default value is SVM::RBF;

                    (2)setCustomKernel(),使用自定义内核,Initialize with custom kernel, See SVM::Kernel class for implementation details */

核函数的类型

    enum KernelTypes {
      
        CUSTOM=-1,
       
        LINEAR=0,
       
        POLY=1,
       
        RBF=2,
     
        CHI2=4,
      
        INTER=5
    };

猜你喜欢

转载自blog.csdn.net/u013261366/article/details/81110215