LSSVM回归预测基于matlab天鹰算法优化最小二乘支持向量机AO-LSSVM数据回归预测含Matlab源码 1848期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSSVM回归预测基于matlab天鹰算法优化最小二乘支持向量机AO-LSSVM数据回归预测含Matlab源码 1848期相关的知识,希望对你有一定的参考价值。
⛄一、天鹰算法优化最小二乘支持向量机LSSVM简介
1 最小二乘支持向量机
最小二乘支持向量机是支持向量机的一种改进算法[9,10],它将SVM算法中的不等式约束转化为等式约束,采用最小二乘线性系统作为损失函数代替支持向量机所采用的二次规划方法,以下介绍了该方法的基本原理。
式(6)中取不同的核函数就生成不同的支持向量机(图1),目前使用最多的核函数主要有多项式核函数、线性核函数、径向基核函数(RBF)。由于RBF核函数结构简单,泛化能力强,这样需要优化的参数最少,只有核参数σ和正规化参数γ。
图1 支持向量机模型
2 天鹰优化算法
天鹰优化算法(AO)具有高可靠性和一致性[24],具有强大的最优解求解能力,能够以较快的加速度收敛和较强的稳定性进行寻优。天鹰算法优化步骤如下。
步骤1 垂直俯冲 当天鹰识别猎物区域时,通过高空翱翔在全局初步选择最佳狩猎区域,以确定最优解的所在的搜索空间,公式为
式中:X1(t+1)为t+1代的解;Xbest(t)是最佳解,表示目标猎物的最近位置;t和T分别表示当前迭代和最大迭代次数;XM(t)表示在第t次迭代时当前解的位置均值;ε为0到1之间的随机值;Dim为问题的维度大小。
步骤2 短滑翔攻击 当从高处翱翔中发现猎物区域时,天鹰在目标猎物上方盘旋,以缩小狩猎区域,即减小最优解的搜索空间,公式为
式中:XR(t)为[1,N]之间的随机解;D为维度空间;L(D)为捕猎飞行分布函数。
步骤3 低空飞行 当精准确定猎物区域,并且天鹰准备着陆和攻击时,天鹰在选定的目标区域通过低飞慢降的攻击方式试探猎物的反应,缓慢接近目标,公式为
式中:α、δ为调整参数,由于本文热误差数据值偏小,固定为较小值0.1;UB和LB分别表示给定问题的上界和下界。
步骤4 行走抓捕 当天鹰接近目标时,根据猎物的运动从陆地上空攻击猎物,进行快速收敛,公式为
式中:QF为用于均衡搜索策略的质量函数;G1表示在追捕猎物中天鹰的各种运动;G2代表天鹰在捕猎过程中的飞行斜率;X(t)为第t次迭代的当前解。
⛄二、部分源代码
clc
close all
clear
format long
tic
%==============================================================
%%导入数据
data=xlsread(‘1.xlsx’);
[row,col]=size(data);
x=data(:,1:col-1);
y=data(:,col);
set=1; %设置测量样本数
row1=row-set;%
train_x=x(1:row1,:);
train_y=y(1:row1,:);
test_x=x(row1+1:row,:);%预测输入
test_y=y(row1+1:row,:);%预测输出
train_x=train_x’;
train_y=train_y’;
test_x=test_x’;
test_y=test_y’;
%%数据归一化
[train_x,minx,maxx, train_yy,miny,maxy] =premnmx(train_x,train_y);
test_x=tramnmx(test_x,minx,maxx);
train_x=train_x’;
train_yy=train_yy’;
train_y=train_y’;
test_x=test_x’;
test_y=test_y’;
%% 参数初始化
lb=[0.1 0.01];%参数c g的变化的最小值.
ub=[1000 100];%参数c g的变化的最大值.
maxgen=100; % 进化次数 300
sizepop=10; % 种群规模30
dim=2;
%%定义lssvm相关参数
type=‘f’;
kernel = ‘RBF_kernel’;
proprecess=‘proprecess’;
fitness=@(x)fobj(x,train_x,train_yy,type,kernel,proprecess,test_x,test_y,miny,maxy,train_y);
[ global_fitness,global_x,fit_gen]=AO(sizepop,maxgen,lb,ub,dim,fitness);
%% 结果分析
plot(fit_gen,‘LineWidth’,2);
title([‘天鹰算法优化lssvm适应度曲线’,‘(终止代数=’,num2str(maxgen),‘)’],‘FontSize’,13);
xlabel(‘进化代数’);ylabel(‘误差适应度’);
bestc = global_x(1);
bestg = global_x(2);
gam=bestc;
sig2=bestg;
model=initlssvm(train_x,train_yy,type,gam,sig2,kernel,proprecess);%原来是显示
model=trainlssvm(model);%原来是显示
%求出训练集和测试集的预测值
[train_predict_y,zt,model]=simlssvm(model,train_x);
[test_predict_y,zt,model]=simlssvm(model,test_x);
%预测数据反归一化
train_predict=postmnmx(train_predict_y,miny,maxy);%预测输出
test_predict=postmnmx(test_predict_y,miny,maxy);
%计算均方差
trainmse=sum((train_predict-train_y).^2)/length(train_y)
%testmse=sum((test_predict-test_y).^2)/length(test_y)
for i=1:set
RD(i)=(test_predict(i)-test_y(i))/test_y(i)*100;
end
for i=1:set
D(i)=test_predict(i)-test_y(i);
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]杨日光,杨悦.基于人工蜂群算法优化LSSVM的蒸汽干度软测量[J].化工机械. 2013,40(02)
[2]李国龙,陈孝勇,李喆裕,徐凯,唐晓东,王志远.采用天鹰优化卷积神经网络的精密数控机床主轴热误差建模[J].西安交通大学学报. 2022,56(08)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于LSSVM回归预测基于matlab天鹰算法优化最小二乘支持向量机AO-LSSVM数据回归预测含Matlab源码 1848期的主要内容,如果未能解决你的问题,请参考以下文章
LSSVM回归预测基于matlab灰狼算法优化最小支持向量机GWO-LSSVM数据预测含Matlab源码 2259期
LSSVM回归预测基于matlab灰狼算法优化最小支持向量机GWO-LSSVM数据预测含Matlab源码 2259期
LSSVM回归预测基于matlab人工蜂群算法优化最小二乘支持向量机LSSVM数据回归预测含Matlab源码 2213期
LSSVM回归预测基于matlab鸽群算法优化最小二乘支持向量机PIO-LSSVM数据回归预测含Matlab源码 2237期
LSSVM回归预测基于matlab鸽群算法优化最小二乘支持向量机PIO-LSSVM数据回归预测含Matlab源码 2237期