毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

MATLAB人脸年龄估计系统的设计(4)

时间:2023-01-19 11:12来源:毕业论文
接下来就是在Visual Studio中的工作了。其实很简单,只要在C#中的引用那一栏将src文件夹中的dll文件全部添加为引用,就可以实现两者的混合编程了。 2。

接下来就是在Visual Studio中的工作了。其实很简单,只要在C#中的引用那一栏将src文件夹中的dll文件全部添加为引用,就可以实现两者的混合编程了。

2。6Libsvm工具函数

libsvm是林智仁副教授等人开发设计的一个简单易用、快速有效的SVM模式识别与回归的软件包,提供源代码和参数调用[9]。下载工具箱后,只需在MATLAB中添加相应的路径,并在命令行输入mex –setup命令,逐步进行环境的配置即可。过程较为简单,这里就不详细介绍了。

本小节主要对libsvm里使用到的的一些方法,以及涉及到的一些参数和返回值,进行简单的介绍。

(1)训练

libsvmtrain函数用于对训练集的数据进行训练,从而获得已训练好的模型。具体的函数为:

model=libsvmtrain(trainlabel, traindata, [,'libsvm_options']);

这个函数有三个参数,其中

① trainlabel: 训练样本的类标,若有m个样本,就是m x 1的矩阵,且必需为double类型。

② traindata: 训练样本的特征,若有m个样本,每个样本的特征是n维,则为m x n的矩阵,且必需为double类型。

③ libsvm_options:训练的参数,将在第3点里具体介绍。

(2)预测

libsvmpredict函数用于对测试集的数据进行效果测试,同时也能预测未知样本。具体的函数为:

libsvmpredict(testlabel, testdata, model [,'libsvm_options']);

这个函数包括四个参数,其中

① testlabel:测试样本的类标,若有m个样本,就是m x 1的矩阵,且必须为double类型。若类标未知,则初始化为任意一个m x 1的double型数组。

② testdata:测试样本的特征,若有m个样本,每个样本特征是n维,则为m x n的矩阵,且必须为double类型。

③ model:之前使用libsvmtrain函数后返回的模型

④ libsvm_options:预测的参数,将在第3点具体介绍。

(3)训练的参数,即libsvmtrain函数里libsvm_options的参数

训练时有很多可供选择的参数,这里主要对涉及到的参数进行介绍:

① -s svm类型:设置SVM类型,缺省值为0

    0 — C-SVC; 1 –v-SVC; 2 – 一类SVM; 3 — e-SVR; 4 — v-SVR

② -t 核函数类型:设置核函数类型,缺省值为2

    0 –线性核函数 1 –多项式核函数 2 –RBF核函数 3 – sigmoid核函数

③ -g r(gamma):核函数中的gamma函数设置(针对多项式/RBF/sigmoid核函数,缺省值为1/k,k为总类别数)

④ -c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数,缺省值为1)论文网

以上这些参数的设置可以按照SVM的类型和核函数的类型进行任意组合,如果SVM类型或核函数中不存在该参数,则程序不接收该参数,且对程序没有影响;如果给定的参数设置错误,参数将设置为缺省值。

(4)训练返回的内容

libsvmtrain函数返回已训练好的SVM分类模型,可用来对未知的样本进行预测,本文主要使用的参数包含以下成员:

① Parameters: 一个5 x 1的矩阵,每个行向量从上往下依次表示为:

    -s SVM类型,缺省值为0;

    -t 核函数类型,缺省值为2;

    -d 核函数中degree参数设置(针对多项式核函数缺省值为3);

    -g 核函数中r(gamma)函数设置(针对多项式/RBF/sigmoid核函数,缺省为1/k,k为类别数目);

    -r 核函数中的coef0参数设置(针对多项式/sigmoid核函数,缺省为0) 

② nr_class: 表示分类模型的总类别数。

③ totalSV: 表示支持向量的总数。 MATLAB人脸年龄估计系统的设计(4):http://www.youerw.com/zidonghua/lunwen_125937.html

------分隔线----------------------------
推荐内容