SVM算法实验实验报告.docx

上传人:王** 文档编号:1406892 上传时间:2024-07-06 格式:DOCX 页数:17 大小:51.92KB
下载 相关 举报
SVM算法实验实验报告.docx_第1页
第1页 / 共17页
SVM算法实验实验报告.docx_第2页
第2页 / 共17页
SVM算法实验实验报告.docx_第3页
第3页 / 共17页
SVM算法实验实验报告.docx_第4页
第4页 / 共17页
SVM算法实验实验报告.docx_第5页
第5页 / 共17页
SVM算法实验实验报告.docx_第6页
第6页 / 共17页
SVM算法实验实验报告.docx_第7页
第7页 / 共17页
SVM算法实验实验报告.docx_第8页
第8页 / 共17页
SVM算法实验实验报告.docx_第9页
第9页 / 共17页
SVM算法实验实验报告.docx_第10页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SVM算法实验实验报告.docx》由会员分享,可在线阅读,更多相关《SVM算法实验实验报告.docx(17页珍藏版)》请在优知文库上搜索。

1、svm分类算法一、数据源说明1、数据源说远和理解:ticeval2000.txt:这个故据集是须要预料(4000个客户记录)的数据集。它和ticdata2000.txt它具有相同的格式,只是没有最终一列的目标记录。我们只希望返回预料目标的列表集,全部数据雉都用制表符迸行分隔。共有4003(目己加了三条数据),依据要求,用来做预料。tictgts2000.txt:最终的目标评估数据。这是一个实际状况下的目标数据,将与我们预料的结果进行校验。我门的预料结果将放在result.txt文件中。致搭集理解:本试验任务可以理解为分类问遂,即分为2亲,也就是数据源的第66列,可以分为0、1两类.我门首先须要

2、对ticdata2000.txt进行训练,生成model,再依据model进行预混。2、数搬清理代码中须要对轨据集诳行缩放的目的在于:a、盛开一些特征值范国过大而另一些特征值范围过小:b、避开在训练时为了计分核函数而计算内积的时候弓I起数值计算的国册。因此,通常将数据缩放到(-1,1)或者是(0,1)之间。二、数据疙掘的算法说明1、 svm舞法说期2、实现过程在源程序里面,主要由以下2个函数来实现;(1) structsvm_mode1*svm_train(conststructsvm_problem*prob,conststructsvm_parameter*param);该函数用来做训条.

3、拿数prob,是svm_prObIem类型数据.具体结构定义如下:structSVn1.PrOblem存储本次参与运算的全部样本(数据桀),及其所照类别。(intn;记录样本总88double*y;/指向样本所属尖别的数组structsvm_node*x;/指向一个存储内容为指针的数组);其中svm-node的结构体定义如下:structsvm11ode/用来存fi编入空间中的单个特征(intindex;/输入空间序号,铁没输入空间敢为mdoublevalue;该输入空间的值);所以,Prob也可以说是向渔的指针,它指向样本数据的类别和输入向.在内存中的具体结构图如下:的1.Ilibsvm训练

4、时,样本数据在内存中的存放结构只需在内存中申请n1)sizeof(auuct9um_node)大小的空间.并在甲面境入历个程本的每个输入空间的值,圆可在程序中完成Prob参数的设置。param.是svm_parameter数据结构,艮体结构定义如下:structsvm_parameter/训练W数(intsvm_type;svm类型,i11tkernel_type;核函数类型intdegree;forpoly/doublegamma;*forpoly/rbf/sigmoid*/doublecoef0;*forPOIy/sigmoid/*thesearefortrainingonly*/doub

5、leCaChe_size;*inmb制定训练所须要的内存”/doubleeps;*stoppingcriteria*/doublec;*forc_svcrepsilon-svrandn-svr惩处因子/intnr_weight;*forc_svc权至的数目*/int*weight_label;*forc_svc权王元素个数由njxwigh七确定/double*weight;*forc_svc*/doublenu;*fornu-svcjone_classrandnu_svr*/doublep;*forepsilon_svr*/intshrinking;*usetheshrinkingheuris

6、tics指明训练1程是否运用压缩A/intprobability;*doprobabilityestimates指明是否要做楫率估计*/其中.SVm类型和核函数类型如下:设定完这两个读数.就可以干脆在程序中调用训练西效进行训练了,该兵函数返回一个structsvm_model*svm馍型的指针,可以运用SVm_save_model(constchar*mode1_fi1e_namerconststructsvm_model/model)函效,把这个模型保存在这盘中。至此,训练函数的移植已好完成。(2) doublesvm-redict(conststructSUm_model*modelzco

7、nststruct3vmjode*7;尊效model.是一个SVm模型的指针,可以运用的数StrUCtsvzn_modelsvm_load_model(constcharmodelilejame),导入训练时保存好的SVm核型,此函数返回一个SVm模型的指针,可以干脆fitt给变量model。参数乂是COnStstructsvm_node结构体的指针.本意是一个输入空间的指针.但写实上,该函数执行的时候,是从参数X必计算输入空间,直到遇到单个样本数据结束标记-1才结束,也就是说,该函数拯处了单个样本中的全部输入空间数据。因此,在调用此理数时,必褚先把预料样本的致密按图3.4中的固定格式写入内存

8、中。另外,该函数只能预科一个样本的值,本文须要对图像中的全部球数点料,就要运用for循环反复周用。该函数返回一个d。Uble类型,指明被预料数据属于哪个关。面对两分关问国的时候,姆常运用,1代表正样本.即类1.-I代表负样本.即类2。最终依据返回的double值就可以知道预料数据的类别了。三、算法源代码及注释说明1、须要在工程中添加头文件svm.h和源文件gum.cpp2、自己线写的源代码(c+实现)(共230行);,include!include,include!includeinclude!includeincludesvm.hSit;iostream>Sit;IistSgt;Slt

9、;iterator>41t;VectorAgt;&It;StringAgt;<Ctime>usingnamespacestd;4ifdefWin32pragmawarning(disable:45144786)endifsvm_parameterparam;svm_problemprob;3vm-mode1*sVEOde1;UsRlasvinjodeFgt;Ust;Iist41t;double6gt;ylist;constintma-10;constintntsttimes-10;vector61t;int>predictvale;vectorilt;int>re

10、alvalue;inttrainnm=O;设窗咨数voidsetparam(param.svm_type-c_svc;param.kernel-tye-rbf;aram.degree-3;param.gamma-0.5;param.coefO0;param.nu三O.5;param.cache_size=40;param.c=500;param.eps=le-3;param.p=0.1;param.shrinking=1;/param.probability=0;param.nr_weight=0;param.weight=null;param.weight_label=null;)voidt

11、rain-nullreturn;whiled)(svm_node*features-new$vm_node(85+l);for7k-0;k41t;65;k+(fscanf(fpr%drtemp);featuresk.index=k+1;featuresk.value=temp/(max*l.0);features(85.index=1;fscanf(fpr%dr&temp);list.push_back(features);ylist.psh-back(temp);line;trainnum-line;if(feoffp)break;)setaram();prob.l=line;Z;S

12、Vn)分类器-人脸识别专我报告SVm分类器-人脸识别专题报告摘要:本次试验报告,介绍了人脸反别方法分类器的设计并进行人脸识别。主要是设计SVTn分类器,并用来进行人脸分类识别,并对分类器试验玷果做出分析。试验主要步骤:首先对图像较笑理.转换成向量.冉通近PCa算法对Orl人睑数揩库图像迸行降维特征提取运用SVm工具箱对数据迸行训练,再利用SVm分类方法对特征向进行分类识别,找寻和待火别图片品为接近的训练样本第一张图片。箭塔在matlab上进行流般仿真,分析试购结果。吴铤字:蹶近邻法、pea算法、多类svm.人脸识别1 .引言人脸识别是模式识别的一个发展方向和堂要应用,人脸检测和识别在平安识别、

13、身份芸定、以及公安部门的稽查活动中有王要作用。本文主要运用PCa算法、多类SVm训练和SVm分类器设计人脸识别籁法。从。门人脸图像数据库中,构建自建人,脸训练数据库和测试数据库,采纳k-1变换遂行特征险提取,并实现人脸次别.通过k-1金换在人脸识别中的应用,加深对所学内容的理解和相识,进一步加深理解模式识别的算法。2 .人脸反别彖统完整的人脸识别系线至少包括两个主要环节。百先在输入国像中找到人触的位国即人吃检测,将人粉从芮景中检测出来:其次,楞衿测到的人踪图像进行预必理、特征提取和0别。如下图1所示:图1人脸识别系蚯虽然有迷人的应用前景,但是在现实中却迷没有起先大规侯的运用。目前,国内外多所高

14、校和探讨机构已研制出一些较好的人检识别原型系娇,一些较成熟的商业人脸识别系统也已投入应用,但从技术的角度来看,大样本集.非可控条件下的稳健次别技术仍不成熟,用计算机自动进行人晚的定位和识别非觉困难.目前的IR别效果(正确率,速度)不如其他的生物识别技术,如指纹识别,祝两朦识别等等。人们在日常生活中就迸行了大Ji的人脸定位和识别工作,当然全部是由人的视觉系统和大脑自动”迸行的。目前还不清晰人的视觉系统和大脑的工作原理.因此这项人可以轻而易举完成的任旁.牵涉到模式识别、图象姑理及生理、心理学等方面的诸多学问,对于目前还只会死板把执行程序指令的计算机来说却是极解困雉。3 .算法简述3.1. pea篁

15、法3.2. SVln算法支持同机(supportvectormachine,svm)是在筑计学理论的基础上发展起来的新一代学习算法.它在文本分类、手写识别、图像分类、生物信息学等领域中获得较好的应用。相比于简洁过度抿合训练样本的人工神及网络,支持向矍机对于未见过的测试样本具有更好的推广实力。SVm是一个二分器.只能用于2类样本的分类,现在我们将它推广到多类问题。本文足对Svm进行Ht广到能够姑理多类间甩。采纳一对一的投票策略。招a、b.c.d4类样本两类两类的分成训域集,即(a,b)、(a,c)、(a,d).(b,c.1 b,d.c,d),得到6个(对于n关问即为c(n-l)/2个)svm二分器。在测试的时候,把测试样本X依次送入这6个二分器,实行投票形式.最终得到一蛆结果。投票是以如下方式进行。初始化:Vote()=vot(b)=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!