svm支持向量机算法及其代码实现

svm支持向量机算法及其代码实现

ID:8973642

大小:68.50 KB

页数:13页

时间:2018-04-13

svm支持向量机算法及其代码实现_第1页
svm支持向量机算法及其代码实现_第2页
svm支持向量机算法及其代码实现_第3页
svm支持向量机算法及其代码实现_第4页
svm支持向量机算法及其代码实现_第5页
资源描述:

《svm支持向量机算法及其代码实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、支持向量机算法及其代码实现支持向量机(SVM),起初由vapnik提出时,是作为寻求最优(在一定程度上)二分类器的一种技术。後来它又被拓展到回归和聚类应用。SVM是一种基于核函数的方法,它通过某些核函数把特征向量映射到高维空间,然後建立一个线性判别函数(或者说是一个高维空间中的能够区分训练数据的最优超平面,参考异或那个经典例子)。假如SVM没有明确定义核函数,高维空间中任意两点距离就需要定义。解是最优的在某种意义上是两类中距离分割面最近的特征向量和分割面的距离最大化。离分割面最近的特征向量被称为”支撑向量”,意即其它向量不影响分割面(决策函数)。有很多关于SVM的参考文献,这是

2、两篇较好的入门文献。【Burges98】C.Burges."Atutorialonsupportvectormachinesforpatternrecognition",KnowledgeDiscoveryandDataMining2(2),1998.(availableonlineat[1]).LIBSVM-ALibraryforSupportVectorMachines.ByChih-ChungChangandChih-JenLin([2])CvSVM支撑矢量机classCvSVM:publicCvStatModel//继承自基类CvStatModel{public://S

3、VMtypeenum{C_SVC=100,NU_SVC=101,ONE_CLASS=102,EPS_SVR=103,NU_SVR=104};//SVC是SVM分类器,SVR是SVM回归//SVMkerneltypeenum{LINEAR=0,POLY=1,RBF=2,SIGMOID=3};//提供四种核函数,分别是线性,多项式,径向基,sigmoid型函数。CvSVM();virtual~CvSVM();CvSVM(constCvMat*_train_data,constCvMat*_responses,constCvMat*_var_idx=0,constCvMat*_sam

4、ple_idx=0,CvSVMParams_params=CvSVMParams());virtualbooltrain(constCvMat*_train_data,constCvMat*_responses,constCvMat*_var_idx=0,constCvMat*_sample_idx=0,CvSVMParams_params=CvSVMParams());virtualfloatpredict(constCvMat*_sample)const;virtualintget_support_vector_count()const;virtualconstfloat*

5、get_support_vector(inti)const;virtualvoidclear();virtualvoidsave(constchar*filename,constchar*name=0);virtualvoidload(constchar*filename,constchar*name=0);virtualvoidwrite(CvFileStorage*storage,constchar*name);virtualvoidread(CvFileStorage*storage,CvFileNode*node);intget_var_count()const{ret

6、urnvar_idx?var_idx->cols:var_all;}protected:...};CvSVMParamsSVM训练参数structstructCvSVMParams{CvSVMParams();CvSVMParams(int_svm_type,int_kernel_type,double_degree,double_gamma,double_coef0,double_C,double_nu,double_p,CvMat*_class_weights,CvTermCriteria_term_crit);intsvm_type;intkernel_type;doub

7、ledegree;//forpolydoublegamma;//forpoly/rbf/sigmoiddoublecoef0;//forpoly/sigmoiddoubleC;//forCV_SVM_C_SVC,CV_SVM_EPS_SVRandCV_SVM_NU_SVRdoublenu;//forCV_SVM_NU_SVC,CV_SVM_ONE_CLASS,andCV_SVM_NU_SVRdoublep;//forCV_SVM_EPS_SVRCvMat*class_weights;//fo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。