《作为SVR模型优劣的评价参数ppt课件》由会员分享,可在线阅读,更多相关《作为SVR模型优劣的评价参数ppt课件(24页珍藏版)》请在金锄头文库上搜索。
1、使用优化SVR 模型进行组效研究周培培一、课题研究背景和理论基础1.1.支持向量机的提出支持向量机的提出人的智人的智慧慧机器机器学学习支持向支持向量机量机一、课题研究背景和理论基础20世纪60年代 V. N. Vapnik等人开始究支持向量机。随着机器学习理论不断发展和成熟,同时由于神经网络等机器学习模型的研究进展遇到阻碍,20世纪90年代,支持向量机的研究取得了突破性进展。目前,支持向量机算法被认为是针对小样本统计估计和预测学习的最佳理论。优点:优点:适用范围广、鲁棒性适用范围广、鲁棒性强强、操作简单、操作简单2.2.支持向量机的发展支持向量机的发展一、课题研究背景和理论基础支持向量分类机支
2、持向量分类机 SVC(support vector classification)支持向量回归机支持向量回归机SVR (support vector regression)支持向量机支持向量机 定量分析定量分析定性分析定性分析3.3.支持向量机的分类支持向量机的分类-SVR, -SVR一、课题研究背景和理论基础低维空间低维空间向高维空向高维空间映射间映射核函数核函数寻求最优寻求最优超平面超平面4.4.支持向量机的理论基础支持向量机的理论基础。一、课题研究背景和理论基础参数的优化至关重要:基于梯度下降的参数选择方法、基于蚁群算法的参数选择方法、基于网格的参数优化方法、基于粒子群优化算法的参数选择
3、方法、基于遗传算法的参数优化方法、基于基因表达式编程的参数优化方法。粒子群优化粒子群优化算法算法(Particle Swarm Optimization,PSO)5.5.支持向量机的参数优化支持向量机的参数优化一、课题研究背景和理论基础PSO源于对鸟群捕食行为的研究:它是一种通过群体中粒子之间的合作它是一种通过群体中粒子之间的合作与竞争产生的群体智能指导优化搜索方法。与竞争产生的群体智能指导优化搜索方法。在在 PSO 算法中,首先系统初始化为一组算法中,首先系统初始化为一组随机解,在迭代中搜寻最优值,在解空间随机解,在迭代中搜寻最优值,在解空间中追随最优的粒子。每个粒子通过迭代过中追随最优的粒
4、子。每个粒子通过迭代过程中自身的最优值和群体的最优值来不断程中自身的最优值和群体的最优值来不断的修正自己的前进速度和方向,从而形成的修正自己的前进速度和方向,从而形成群体寻优的正反馈机制。群体寻优的正反馈机制。5.PSO5.PSO算法介绍算法介绍一、课题研究背景和理论基础计算粒子适应度值计算粒子适应度值输入处理后数据输入处理后数据开始开始设置粒子和设置粒子和速度初始值速度初始值寻找个体机制和群寻找个体机制和群体极值体极值N满足结束条件满足结束条件Y个体极值和群体极值更个体极值和群体极值更新新更新速度和位置更新速度和位置计算粒子适应度值计算粒子适应度值得到优化参数得到优化参数结束结束二、模型构建
5、和算法实现1.1.开发平台开发平台libsvm-mat-2.89-3工具箱工具箱matlab 2010bMicrosoft Visual C+ 2010windows 7二、模型构建和算法实现2.2.建模步骤建模步骤Libsvm编编译译数据数据预处理理挑挑选训练集集和和测试集集PSO优化参化参数数构建构建SVR模模型型其他相关程其他相关程序序参数寻优、模型建立、参数寻优、模型建立、结果预测、绘制图形、结果预测、绘制图形、保存数据、存储图形。保存数据、存储图形。二、模型构建和算法实现(1).Libsvm(1).Libsvm编译编译在正式的模型设计和运行前,应当对在正式的模型设计和运行前,应当对l
6、ibsvm进行进行编译。编译。Attention:安装时安装时,把把libsvm作为当前的工作目录作为当前的工作目录,在后面使用时并将其加为工作目录在后面使用时并将其加为工作目录(setpath)。添加至搜添加至搜索目索目录搜素搜素编译环境境选择VC+设置当前置当前文件文件夹编译在进行建模之前,对训练集和测试集进行归一化处理。本课题中采用的方法是:经处理后,原始数据被规整到0,1之间,便于以后的建模。二、模型构建和算法实现(2).(2).数据预处理数据预处理程序代码如下:程序代码如下:Q = csvread(filename.csv);m,n=size(Q);maxy=max(Q(:,n);m
7、iny=min(Q(:,n);for i = 1 : n temp = Q(:, i); temp = (temp-min(temp) /(max(temp)-min(temp); Q_scale(:, i) = temp;end使用交叉验证(Cross Validation)的思想,采用其中最简单的Hold-Out方法把输入的数据随机分为两部分,一部分为作为训练集(约占70%),一部分作为测试集(约占30%)。此种方法简单方便。二、模型构建和算法实现(3).(3).挑选训练集和测试集挑选训练集和测试集程序代码如下:程序代码如下:train,test = crossvalind(HoldOut
8、,m,0.3);train_x = P(train,:);train_y = T(train,:);test_x = P(test,:);test_y = T(test,:);此程序调用libsvm工具箱中的psoSVMcgForRegress.m,直接对C,g优化。为了评价参数C、和参数g的优劣,使用训练集作为训练和预测数据,选取计算预测结果的均方误差(MSE)作为适应度函数,每个粒子都包含一个C值和一个g值,个体通过适应度函数计算适应度值,PSO通过不断的迭代、比较、寻优,不断的更新群体,从而寻找到最优的惩罚参数C、精度。在参数优化过程中,采用了交叉验证的K-fold方法。二、模型构建和算
9、法实现(4).(4). PSO优化参数优化参数程序代码如下:程序代码如下: pso_option.c2 = 1.7; pso_option.maxgen = 200; pso_option.sizepop = 20; pso_option.k = 0.6; pso_option.wV = 1; pso_option.wP = 1; pso_option.v = 5; pso_option.popcmax = 100; pso_option.popcmin = 0.1; pso_option.popgmax = 1000; pso_option.popgmin = 0.01; bestCVmse
10、,bestc,bestg= psoSVMcgForRegress(TrainL,Train,pso_option ,stype,ttype)二、模型构建和算法实现(5).(5).构建构建SVR模型模型把参数集和训把参数集和训练集带入函数练集带入函数svmtrain获得获得SVR模模型型model把模型赋予把模型赋予测试函数测试函数svmpredict获得预测获得预测结果结果设定模型参数集设定模型参数集cmdcmdcmd是模型参数集,确定是模型参数集,确定了模型的决策函数、核函了模型的决策函数、核函数、模型拟合的基准要求,数、模型拟合的基准要求,以及相应的参数。以及相应的参数。modelmode
11、l是模型结构,是是模型结构,是svmtrainsvmtrain的返回值。的返回值。以均方误差(以均方误差(MSE)、)、相关系数(相关系数(R)、标准标准偏差(偏差(RSE)作为作为SVR模型模型优劣优劣的评价参数。的评价参数。程序代码如下:程序代码如下:cmd = -c ,num2str(bestc), -g ,num2str(bestg), -s ,num2str(stype), t ,num2str(stype), -p 0.01;model = svmtrain(train_y,train_x,cmd);ptrain, train_mse = svmpredict(train_y,tr
12、ain_x, model);ptest, test_mse = svmpredict(test_y,test_x, model);mse = zeros(1,2);r = zeros(1,2);mse(1) = train_mse(2);mse(2) = test_mse(2);r(1) = train_mse(3);r(2) = test_mse(3);二、模型构建和算法实现反归一化在训练和预测结束后,对预测结果进行反归一化。公式为:作图为了更为形象的表示预测结果,画出真实值和预测值的曲线,即SVR模型的拟合图像。二、模型构建和算法实现保存数据为了以后的比较选择,需对所有的训练结果进行保存,
13、存入matlab的工作空间。程序代码如下:程序代码如下:e_train=Train_y-Ptrain;e_test=Test_y-Ptest;K=length(Train_y);I=length(Test_y);RSE_train=sqrt(sum(e_train.2)/(K-1)/mean(Train_y)*100;RSE_test=sqrt(sum(e_test.2)/(I-1)/mean(Test_y)*100;A(i,:)=i,bestCVmse,bestc,bestg,mse(1),RSE_train,r(1),mse(2),RSE_test,r(2);A1(i,:)=i,mse(1
14、),RSE_train,r(1),mse(2),RSE_test,r(2);(5).(5).附加程序附加程序二、模型构建和算法实现保存图像在程序功能需求中,要求保存其中最优的一组图形。保存的保存的组号号部分保部分保存名称存名称自自动保存保存(保存途径(保存途径为当当前工作文件前工作文件夹)程序代码如下:程序代码如下:mnumber=43;name=1023;mturn=a+1-mnumber;for i=1:a for ii=1:3 if i=mturn saveas(gca,num2str(name*10-ii+4),fig); close(gcf); else close(gcf); en
15、d end end三、适用性验证1.1.数据来源数据来源31批批购自不同购自不同单位的姜黄单位的姜黄三、适用性验证序号序号简称简称模型选择模型选择核函数核函数1LESVR-SVR线性核函数(线性核函数(linear)2PESVR多项式核函数(多项式核函数(polynomial)3RESVR径向基核函数(径向基核函数(RBF)4LNSVR-SVR线性核函数(线性核函数(linear)5PNSVR多项式核函数(多项式核函数(polynomial)6RNSVR径向基核函数(径向基核函数(RBF)2.2.构建模型构建模型在姜黄的组效关系建模中,在姜黄的组效关系建模中,构建如下几个模型构建如下几个模型三
16、、适用性验证名称Best CBest gMSE-trianRSE-trianR-trainMSE-testRSE-testR-testLESVR0.1432 30.0857 0.01770.09650.81720.01890.13470.8939PESVR6.75610.10000.01470.08740.83440.02800.21730.8796RESVR1.99420.10000.00500.16180.94050.00920.17000.9326LNSVR0.1000 35.9902 0.00820.08800.87240.00980.14930.8917PNSVR2.25430.10
17、000.00200.01200.97440.01060.16470.9248RNSVR 0.94630.10000.00170.14330.97280.01930.22340.9551各模型的结果值如下表所示各模型的结果值如下表所示模型模型拟合合结果表果表从表中可以看出,两种模型的测试结果的相关系数均大于从表中可以看出,两种模型的测试结果的相关系数均大于0.9,且均方误差和标准偏差都较小,惩罚参数,且均方误差和标准偏差都较小,惩罚参数C值也都不大。值也都不大。可见可见PSO-SVR模型在预测姜黄的生物活性时,效果良好。模型在预测姜黄的生物活性时,效果良好。名称Best CBest gMSE-trianRSE-trianR-trainMSE-testRSE-testR-testRESVR 1.9942 0.1000 0.0050 0.1618 0.9405 0.0092 0.1700 0.9326RNSVR 0.9463 0.1000 0.0017 0.1433 0.9728 0.0193 0.2234 0.9551三、适用性验证 RNSVR模型模型PSO参数寻优结果图参数寻优结果图RNSVR模型模型拟合分合分图(上(上图为训练图,下,下图为测试图)三、适用性验证RNSVR模型模型拟合示意合示意图