240 likes | 513 Views
使用优化 SVR 模型进行组效研究. 周培培. 一、课题研究背景和理论基础. 1. 支持向量机的提出. 一、课题研究背景和理论基础. 2. 支持向量机的发展. 20 世纪 60 年代 V. N. Vapnik 等人开始究 支持向量机 。 随着机器学习理论不断发展和成熟,同时由于神经网络等机器学习模型的研究进展遇到阻碍, 20 世纪 90 年代,支持向量机的研究取得了突破性进展。 目前 ,支持向量机算法被认为是 针对小样本统计估计和预测学习的最佳理论。. 优点: 适用范围广、鲁棒性 强 、操作简单 ……. 一、课题研究背景和理论基础. 3. 支持向量机的分类.
E N D
使用优化SVR 模型进行组效研究 周培培
一、课题研究背景和理论基础 1.支持向量机的提出
一、课题研究背景和理论基础 2.支持向量机的发展 • 20世纪60年代 V. N. Vapnik等人开始究支持向量机。 • 随着机器学习理论不断发展和成熟,同时由于神经网络等机器学习模型的研究进展遇到阻碍,20世纪90年代,支持向量机的研究取得了突破性进展。 • 目前,支持向量机算法被认为是针对小样本统计估计和预测学习的最佳理论。 优点: 适用范围广、鲁棒性强、操作简单……
一、课题研究背景和理论基础 3.支持向量机的分类 定性分析 支持向量分类机 SVC(support vector classification) 支持向量机 支持向量回归机SVR (support vector regression) ε-SVR, ν-SVR 定量分析
一、课题研究背景和理论基础 4.支持向量机的理论基础 。 寻求最优超平面 低维空间向高维空间映射 核函数
一、课题研究背景和理论基础 5.支持向量机的参数优化 参数的优化至关重要: • 基于梯度下降的参数选择方法、 • 基于蚁群算法的参数选择方法、 • 基于网格的参数优化方法、 • 基于粒子群优化算法的参数选择方法、 • 基于遗传算法的参数优化方法、 • 基于基因表达式编程的参数优化方法。 • …… 粒子群优化算法(Particle Swarm Optimization,PSO)
一、课题研究背景和理论基础 5.PSO算法介绍 • PSO源于对鸟群捕食行为的研究: 它是一种通过群体中粒子之间的合作与竞争产生的群体智能指导优化搜索方法。在 PSO 算法中,首先系统初始化为一组随机解,在迭代中搜寻最优值,在解空间中追随最优的粒子。每个粒子通过迭代过程中自身的最优值和群体的最优值来不断的修正自己的前进速度和方向,从而形成群体寻优的正反馈机制。
输入处理后数据 一、课题研究背景和理论基础 更新速度和位置 开始 计算粒子适应度值 个体极值和群体极值更新 设置粒子和 速度初始值 N 满足结束条件 计算粒子适应度值 Y 得到优化参数 寻找个体机制和群体极值 结束
二、模型构建和算法实现 1.开发平台
二、模型构建和算法实现 2.建模步骤 参数寻优、模型建立、 结果预测、绘制图形、 保存数据、存储图形。
二、模型构建和算法实现 (1).Libsvm编译 在正式的模型设计和运行前,应当对libsvm进行编译。 Attention:安装时,把libsvm作为当前的工作目录,在后面使用时并将其加为工作目录(setpath…)。
二、模型构建和算法实现 (2).数据预处理 • 在进行建模之前,对训练集和测试集进行归一化处理。本课题中采用的方法是: • 经处理后,原始数据被规整到 [0,1]之间,便于以后的建模。 程序代码如下: Q = csvread('filename.csv'); [m,n]=size(Q); maxy=max(Q(:,n)); miny=min(Q(:,n)); for i = 1 : n temp = Q(:, i); temp = (temp-min(temp)) /(max(temp)-min(temp)); Q_scale(:, i) = temp; end
二、模型构建和算法实现 (3).挑选训练集和测试集 • 使用交叉验证(Cross Validation)的思想,采用其中最简单的Hold-Out方法把输入的数据随机分为两部分,一部分为作为训练集(约占70%),一部分作为测试集(约占30%)。此种方法简单方便。 程序代码如下: [train,test] = crossvalind('HoldOut',m,0.3); train_x = P(train,:); train_y = T(train,:); test_x = P(test,:); test_y = T(test,:);
二、模型构建和算法实现 (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,bestc,bestg]= psoSVMcgForRegress(TrainL,Train,pso_option ,stype,ttype) • 此程序调用libsvm工具箱中的psoSVMcgForRegress.m,直接对C,g优化。 • 为了评价参数C、和参数g的优劣,使用训练集作为训练和预测数据,选取计算预测结果的均方误差(MSE)作为适应度函数,每个粒子都包含一个C值和一个g值,个体通过适应度函数计算适应度值,PSO通过不断的迭代、比较、寻优,不断的更新群体,从而寻找到最优的惩罚参数C、精度。 • 在参数优化过程中,采用了交叉验证的K-fold方法。
二、模型构建和算法实现 (5).构建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,train_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); 设定模型参数集cmd 把参数集和训练集带入函数svmtrain 以均方误差(MSE)、相关系数(R)、标准偏差(RSE)作为SVR模型优劣的评价参数。 cmd是模型参数集,确定了模型的决策函数、核函数、模型拟合的基准要求,以及相应的参数。 model是模型结构,是svmtrain的返回值。 获得预测结果 获得SVR模型model 把模型赋予测试函数svmpredict
二、模型构建和算法实现 • 反归一化 • 在训练和预测结束后,对预测结果进行反归一化。公式为: • 作图 • 为了更为形象的表示预测结果,画出真实值和预测值的曲线,即SVR模型的拟合图像。
二、模型构建和算法实现 (5).附加程序 • 保存数据 • 为了以后的比较选择,需对所有的训练结果进行保存,存入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),RSE_train,r(1),mse(2),RSE_test,r(2)];
二、模型构建和算法实现 程序代码如下: 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); end end end • 保存图像 • 在程序功能需求中,要求保存其中最优的一组图形。
三、适用性验证 1.数据来源 31批购自不同单位的姜黄
三、适用性验证 2.构建模型 • 在姜黄的组效关系建模中,构建如下几个模型
三、适用性验证 • 各模型的结果值如下表所示 • 从表中可以看出,两种模型的测试结果的相关系数均大于0.9,且均方误差和标准偏差都较小,惩罚参数C值也都不大。可见PSO-SVR模型在预测姜黄的生物活性时,效果良好。 模型拟合结果表
三、适用性验证 RNSVR模型PSO参数寻优结果图
RNSVR模型拟合分图(上图为训练图,下图为测试图)RNSVR模型拟合分图(上图为训练图,下图为测试图)
三、适用性验证 RNSVR模型拟合示意图