- 实验目的
1. 通过实验操作进一步掌握支持向量机的原理和应用;
2. 掌握 Libsvm 与 Liblinear 的使用;
3. 熟练使用 Matlab 编写算法程序。
- 实验原理
支持向量机;
Libsvm
下载安装后,编译得到.mexw64文件。已经编译好的文件下载(直接拖放到工程文件夹内即可) 下载链接
- 实验内容
1: 将手写样本的数据转为需要的矩阵,每一类取出7个样本。
存放在ts_fea里,对应标签存放在ts_label里。
2:Libsvm函数的编写,运用mex64文件,库里的函数svmtrain和predict,训练样本并且预测新手写的图片。
封装成函数。
2.1:Liblinear函数
3:添加识别按钮并且读取坐标图片转化为矩阵。
4:添加背景图片picture2.jpg(将想要作为背景的图片拖动到工程文件夹内修改代码里的picture2为图片对应的名字)
5:最终结果
6:简单的数据分类。
设一个3维,三类的样本,每类有5个代表数据。将其带入自己编写的shibie函数调用。
可定义 3个维度分别为: 语文成绩,数学成绩,英语成绩。A里装载着优秀成绩,B类是合格,
C类是不及格。
7: shibie 函数的编写。
原理和以上一个一样,利用库的函数,训练一个model。output作为输出
8:结果
- 心得体会
本次实验是利用了库里的函数,相比神经元自己的推导的公式更加方便,直接利train和predict函数,给与样本和对应的标签训练出一个model,然后即可用predict,给出对应输入维度的矩阵用来装载输出数据的标签,和输入矩阵。即可识别出该数据矩阵对应的标签,然后输出。