您好,欢迎访问三七文档
课程实验报告课程名称:人工智能实验项目名称:实验四:分类算法实验专业班级:姓名:学号:实验时间:2016年6月18日实验四:分类算法实验一.实验目的1.了解有关支持向量机的基本原理2.能够使用支持向量机的代码解决分类与回归问题3.了解图像分类的基本原理二、实验的硬件、软件平台硬件:计算机软件:操作系统:WINDOWS10应用软件:C++,Java或者Matlab三、实验内容支持向量机算法训练分类器:1.训练数据集:见文档“分类数据集.doc”,前150个数据作为训练数据,其他数据作为测试数据,数据中“+1”“-1”分别表示正负样本。2.使用代码中的C-SVC算法和默认参数来训练“分类数据集.doc”中所有的数据(包括训练数据和测试数据),统计分类查准率。3.在2的基础上使用k-折交叉验证思想来训练分类器并统计分类查准率。4.使用2中的设置在训练数据的基础上学习分类器,将得到的分类器在测试数据上进行分类预测,统计查准率。5.在4上尝试不同的C值(“-c”参数)来调节分类器的性能并绘制查准率曲线。6.尝试不同的kernel函数(“-t”参数)来调节分类器的性能并绘制查准率曲线,对每种kernel函数尝试调节其参数值并评估查准率。四.实验操作采用提供的windows版本的libsvm完成实验。1.文档“分类数据集.doc”改名为trainall.doc,前150组数据保存为train.doc后120组保存为test.doc2.使用代码中的C-SVC算法和默认参数来训练“分类数据集.doc”中所有的数据(包括训练数据和测试数据),统计分类查准率。用法:svm-scale[-llower][-uupper][-yy_lowery_upper][-ssave_filename][-rrestore_filename]filename(缺省值:lower=-1,upper=1,没有对y进行缩放)按实验要求这个函数直接使用缺省值就行了。svm-train按要求使用默认的参数;直接在cmd窗口输入:svm-traintrainall.doctrainall.modeltrainall.doc包含“分类数据集.doc”的270组数据即可建立模型,模型文件为:trainall.model.cmd窗口输出:其中,#iter为迭代次数,nu与前面的操作参数-nn相同,obj为SVM文件转换为的二次规划求解得到的最小值,rho为判决函数的常数项b,nSV为支持向量个数,nBSV为边界上的支持向量个数,TotalnSV为支持向量总个数。svm-predict是根据训练获得的模型,对数据集合进行预测。options(操作参数):-bprobability_estimates:是否需要进行概率估计预测,可选值为0或者1,默认值为0。model_file是由svm-train产生的模型文件;test_file是要进行预测的数据文件;output_file是svm-predict的输出文件,表示预测的结果值。Svm-predict没有其它的选项。使用“分类数据集.doc”的270组数据(trainall.doc)得到的模型trainall.model训练包含120组数据的测试数据集”test.doc”输入命令:svm-predicttest.doctrainall.modeltrainall-test.predict结果:Accuracy=87.5%3.在2的基础上使用k-折交叉验证思想来训练分类器并统计分类查准率。当svm-train使用-v参数时,此时svm-train返回的不再是一个结构体model,而是交叉验证的精度,对于分类问题,返回的是交叉检验下的平均分类准确率;回归问题,返回的是交叉检验下的平均均方根误差(MSE)。将svm-train–v参数设置为k(分别设置为2,3,5)选择训练样本trainall.docV=2V=3V=54.使用2中的设置在训练数据的基础上学习分类器,将得到的分类器在测试数据上进行分类预测,统计查准率选择“分类数据集“的前150组数据(train.doc)作为训练集产生模型train.model输入命令:svm-traintrain.doctrain.model输入命令:svm-predicttest.doctrain.modeltrain-test.predict结果为5.在4上尝试不同的C值(“-c”参数)来调节分类器的性能并绘制查准率曲线。svm-train-c2train.doctrainc2.modelsvm-predicttest.doctrainc2.modeltrainc2test.psvm-train-c3train.doctrainc3.modelsvm-predicttest.doctrainc3.modeltrainc3test.psvm-train-c4train.doctrainc4.modelsvm-predicttest.doctrainc4.modeltrainc4test.psvm-train-c5train.doctrainc5.modelsvm-predicttest.doctrainc5.modeltrainc5test.psvm-train-c6train.doctrainc6.modelsvm-predicttest.doctrainc6.modeltrainc6test.psvm-train-c7train.doctrainc7.modelsvm-predicttest.doctrainc7.modeltrainc7test.p6.尝试不同的kernel函数(“-t”参数)来调节分类器的性能并绘制查准率曲线,对每种kernel函数尝试调节其参数值并评估查准率。-t参数0,1,2,3其余不变指令:svm-train-t2train.doctraint2.modelsvm-predicttest.doctraint2.modeltraint2test.p75.00%76.00%77.00%78.00%79.00%80.00%81.00%82.00%83.00%84.00%85.00%c=1c=2c=3c=4c=5c=6c=7查准率曲线查准率svm-train-t3train.doctraint3.modelsvm-predicttest.doctraint3.modeltraint3test.p81.00%81.50%82.00%82.50%83.00%83.50%84.00%84.50%85.00%85.50%t=0t=1t=2t=3查准率曲线查准率
本文标题:人工智能实验报告四
链接地址:https://www.777doc.com/doc-5564829 .html