版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京科技大学计算机与通信工程学院模式分类第二次上机实验报告姓名:XXXXXX学号:00000000班级:电信11
时间:2023-04-16一、实验目的.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等;二、实验内容.准备好数据,一方面要把数据转换成Libsvm软件包规定的数据格式为:labe1index1:valuelindex2:value2...其中对于分类来说1abe1为类标记,指定数据的种类;对于回归来说label为目的值。(我重要要用到回归)Index是从1开始的自然数,va1ue是每一维的特性值。该过程可以自己使用excel或者编写程序来完毕,也可以使用网络上的FonnatDataLibsvm.x1s来完毕。FormatDataLibsvm.x1s使用说明:先将数据按照卜.列格式存放(注意label放最后面):valuelvalue21abelvaluelvalue2labe1然后将以上数据粘贴到FormaiDalaLibsvm.xls中的最左上角单元格,接着工具一〉宏执行行FormatDataToLibsvm宏。就可以得到libsvin规定的数据格式。将该数据存放到文本文献中进行下一步的解决。.对数据进行归一化。该过程要用到1ibsvm软件包中的svm—sea1e.exeSvm—scale用法:用法:svmscale[-11ower][—uupper][-yy_lowery_uppcr][-ssave_filename][-rrestore_filename]fiIename(缺省值:1ower=1,upper=1,没有对y进行缩放)其中,-1:数据卜限标记;lower:缩放后数据下限;-u:数据上限标记;uppc亡缩放后数据上限;一y:是否对目的值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目的进行缩放,因此该参数可以设定为-y—11)-ssave_filename:表达将缩放的规则保存为文献save_fiIename;-rrestore_filename:表达将缩放规则文献restore_filename载入后按此缩放;filename:待缩放的数据文献(规定满足前面所述的格式)。缩放规则文献可以用文本浏览器打开,看到其格式为:ylowerupperminmaxxlowerupperindex1minimax1index2niin2max2其中的lower与upper与使用时所设立的lower与upper含义相同;index表示特性序号;min转换前该特性的最小值;max转换前该特性的最大值。数据集的缩放结果在此情况下通过DOS窗口输此当然也可以通过DOS的文献重:定向符号”/将结果另存为指定的文献。该文件中的参数可用于最后面对目的值的反归・化。反归一化的公式为:(Vaiue_1ower)*(max-min)/(upper-1ower)+1ower其中value为归一化后的值,其他参数与前面介绍的相同。建议将训练数据集与测试数据集放在同一个文本文献中一起归一化,然后再将归一化结果提成训练集和测试集。4.训练数据,生成模型。用法:svmtrain[oplions](raining_set_file[mode其中,opti。ns(操作参数):可用的选项即表达的涵义如下所示-ssvm类型:设立SVM类型,默认值为0,可选类型有(对于回归只能选3或4):0-C-SVC1-n-SVC2-one-class-SVM3--e-SVR4•一n-SVR-t核函数类型:设立核函数类型,默认值为2,可选类型有:0--线性核:u,*vl--多项式核:(gu**v+coefO)degree2—RBF核:e(uv2)g-3—sigmoid核:tanh(g*u,*v+coef0)—ddegree:核函数中的degree设立,默认值为3;gg:设立核函数中的g,默认值为1/k;-rcoefO:设立核函数中的coef0,默认值为0;—ccost:设立C-SVC、e—SVR、n6-SVR中从处罚系数C,默认值为l;-nn:设立n-SVC、one—class-SVM与n-SVR中参数n,默认值0.5;pe:设立n-SVR的损失函数中的e,默认值为0.1;—mcachesize:设立cache内存大小,以MB为单位,默认值为40;-ee:设立终止准则中的可容忍偏差,默认值为0.001;-hshrinking:是否使用启发式,可选值为0或I.默认值为l;-b概率估计:是否计算SVC或SVR的概率估计,可选值0或1,默认0;-wiweight:对各类样本的处罚系数C加权,默认值为1;-vn:n折交叉验证模式。其中一g选项中的k是指输入数据中的属性数。操作参数-v随机地将数据剖分为n部分并计算交叉检查准确度和均方根误差。以上这些参数设立可以按照SVM的类型和核函数所支持的参数进行任意组合,假如设立的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;假如应有的参数设立不对的,参数将采用默认值。training_sct_filc是要进行训练的数据集;mode1.file是训练结束后产生的模型文献,该参数假如不设立将采用默认的文献名,也可以设立成自己惯用的文献名。本实验中的参数一s取3,-t取2(默认)还需拟定的参数是-c,-g,-p另,实验中所需调整的重要参数是-c和-g,-c和-g的调整除了自己根据经验试之外,还可以使用gridrcgrcssion.py对这两个参数进行优化。(需要补充)该优化过程需要用到PythonQ.5),Gnuplot(4.2),gridregression.py(该文献需要修改途径)。然后在命令行下面运营:python.exegridregression.py-1og2c-10,10,1-log2g—10,10,1-iog2p—10,10,1-s3-t2-v5-svmtrainE:\1ibsvm\libsvm-2.86\windows\svm-train.exe-gnuplolE:\1ibsvmMibsvm-2.86\gnup1ot\bin\pgnuplot.exeE:\1ibsvmMibsvm-2.86\windows\train.txt>gridregression_feature.parameter以上三个途径根据实际安装情况进行修改。-1og2c是给出参数c的范围和步长-1og2g是给出参数g的范围和步长一1og2P是给出参数p的范围和步长上面三个参数可以用默认范围和步长-s选择SVM类型,也是只能选3或者4-t是选择核函数-v10将训练数据提成10份做交叉验证。默认为5为了方便将gridregression.py是存放在py(hon.exe安装目录下trian.txt为训练数据,参数存放在gridregression_feature.parameter中,可以自己命名。搜索结束后可以在gridregression_feature.parameter中最后一行看到最优参数。其中,最后一行的第一个参数即为-c,第二个为-g,第三个为-p,最后一个参数为均方误差。前三个参数可以直接用于模型的训练。然后,根据搜索得到的参数,重新训练,得到模型。5.测试用法:svmprcdict[options]test_fi1cmodel_filcoutput_fileoptions(操作参数):-bprobability_eslimales:是否需要进行概率估计预测,可选值为0或者I,默认值为0。model_fi1e是由svmtrain产生的模型文献;test_file是要进行预测的数据文献;output_file是svmpredict的输出文献,表达预测的结果值。输出结果涉及均方误差(Meansquarcderror)和相关系数(Squaredcorrclationcocfficienl)o三、实验仪器、设备PC机-系统最低配置512M内存、P4CPU;Matlab仿真软件一7.0/7.1/2023a等版本的Mallab软件。3coi120数据库;四、实验原理。使用svm-scale对数据进行缩放是必要的。由于适当的scale有助于参数的选取和建svm模型的速度。svm-scale会对value做scale。范围用-1,-u指定,通常是[0,1],或是[―1,1]。(文本分类一般选[0,1]。输出在std。ut。此外要注意的是testingdata和trainingdata要一起scaleo而svm-scale最难用的地方就是iS办法指定(estingdata/trainingdata为同一文档,然后一起scale。④因此为了后面测试,还要对测试集进行sc五、实验数据及结果分析:6267626769.7训练样本辨认率1(%)测试样本辨认$/(%)72.979.381Svmtoy输出图形Svm分类器matIab代码clear;%清屏c1c;aX=1oad(*data.txt');n=1ength(X);%总样本数量y=X(:,4);%类别标志X=X(:,1:3);aTOL=0.0001;%精度规定aC=1;%参数,对损失函数的权重Ab=0;%初始设立截距gWo1d=0;%未更新a时的W(a)Wnew=0:%更新a后的W(a)fori=I:50%设立类别标志为1或者-1ay(i)end^a=zeros(n,1);%参数afori=1:n%随机初始化a,a属于[0,C]aa(i)=0.2;end△%为简化计算,减少反复计算进行的计算K=ones(n,n);Afori=1:n%求出K矩阵,便于之后的计算aforj=I:nK(i,j)=k(X(i,:),X(j,:));aendAendsum=zeros(n,l);%中间变量,便于之后的计算,sum(k)=siginaa(i)*y(i)*K(k,i);fork=I:nfori=1:nsum(k)=sum(k)+a(i)*y(i)*K(i,k);end^end△whileI%迭代过程a%启发式选点nl=I;%初始化,nl,n2代表选择的2个点n2=2;4%nl按照第一个违反KKT条件的点选择whi1enl<=daify(nl)*(sum(n1)4-b)==1&&a(nl)>=C&&a(n1)<=0brcak;endAify(n1)*(sum(nI)+b)>1&&a(n1)-=0abreak;end*ify(nl)*(sum(n1)+b)<1&&a(n1)〜break;en^nl=nl+1;AendA%n2按照最大化|E1-E2|的原则选取aEl=0;E2=0;AmaxDiff=0;%假设的最大误差aEI=sum(n1)+b—y(nl);%nl的误差Afori=1:nAtempSum=sum(i)+b—y(i);aifabs(El-tempSum)>maxDif很maxDiff=abs(E1-tempSum);E2=tempSum;erxbendA%以下进行更新aIo1d=a(nl);a2old=a(n2);KK=K(nl,nl)+K(n2,n2)-2*K(nI,n2);a2new=a2old+y(n2)*(E1-E2)/KK;%计算新的Q%a2必须满足约束条件aS-y(nl)*y(n2);ifS==-1U=max(0,a2old-a1old)V=min(C,C-alo1d+a2o1d);ae1seU=max(0,a1old+a2old—C);aV=min(C,alo1d+a2old);endifa2new>V.*a2new=V;endifa2new<a2new=U/encUalnew=alold+S*(a2o1d-a2new);%计算新的a1a(nl)=a1new;%更新aa(n2)=a2new;a%更新部分值sum=zeros(n,I);fork=1:Mfori=1:sum(k)=sum(k)+a(i)*y(i)*K(i,k);4endendWo1d=Wnew;AWnew=0;%更新a后的W(a)tempSum=0;%临时变量Afori=1:nforj=1:ntempSum=tempSum+y(i)*y(j)*a(i)*a(j)*K(i,j)泠end
Wnew=Wnew+a(i)Wnew=Wnew+a(i);Wnew=Wnew+a(i);Wnew=Wnew+a(i);Wnew=Wnew-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 2423.68-2026环境试验第2部分:试验方法试验:覆冰融冰循环试验
- 湖南省长沙市望城区2026届九年级中考一模数学试卷(含解析)
- 宁波市教育局直属学校招聘事业编制教师考试真题2025
- 69506-移动应用开发技术与实战(ArkTS)(微课版)-习题答案
- 搅拌槽可行性研究报告
- gps监控春节应急预案(3篇)
- 元宵集市活动策划方案模板(3篇)
- 员工思想动态调查报告终2026(3篇)
- 露台使用权分配规则露台租用合同模板三篇
- 2026年城市排水管网施工合同三篇
- 2025年金融经济师保险理论试题及答案
- 2026年上半年度中国具身智能领域投融资报告
- 年产30万吨新能源压块技术改造项目环评报告表
- 四川省遂宁市2025-2026学年高一下学期期末考试英语试卷
- 2026年北京市中考数学试卷真题(含官方答案及解析)
- 2026年南京市建邺区社区工作者招聘考试参考试题及答案详解
- 静脉炎分级评估表(INS标准)
- 教师如何上好一节课培训
- 2026北京市大兴区教委招聘劳务派遣人员38人考试参考试题及答案解析
- 肉牛养殖场规划设计
- 2024年公开选拔科级领导干部考试笔试试题及答案
评论
0/150
提交评论