【ANN数据预测】差分算法优化人工神经网络DE-ANN数据预测【含Matlab源码 151期】

⛄一、运行结果

在这里插入图片描述

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄二、引言

差分进化算法是基于群体智能理论的优化算法,是通过群体内个体间的合作与竞争而产生的智能优化搜索算法,它保留了基于种群的全局搜索策略,采用实数编码、基于差分的简单变异操作和“一对一”的竞争生存策略,降低了进化计算操作的复杂性。

⛄三、差分进化算法的原理

差分进化算法是一种自组织最小化方法,利用种群中两个随机选择的不同向量来干扰现有向量,种群中的每一个向量都要进行干扰。

它通过把种群中的两个成员之间的加权差向量加到第三个成员上来产生新的参数向量,该操作成为“变异”。
将变异向量的参数与另外预先确定的目标向量参数按一定规则混合来产生实验向量,该操作成为“交叉”;
若实验向量的代价函数比目标想i昂的代价函数低,实验向量就在下一代中替代目标向量,该操作成为“选择”;
差分进化算法流程
具体步骤如下:

确定差分进化算法的控制参数和所要采用的具体策略。控制参数包括:种群数量、变异算子、交叉算子、最大进化代数、终止条件等。
随机产生初始种群,进化代数k=1;
对初始种群进行评价,即计算初始种群中每个个体的目标函数值。
判断是否达到终止条件或达到最大进化代数;若是,则进化终止,将此时的最佳个体作为解输出;否则,继续下一步操作。
进行变异操作和价差操作,对边界条件进行处理,得到临时种群。
对临时种群进行评价,计算临时种群中每个个体的目标函数值。
对临时种群中的个体和原种群中对应的个体,进行“一对一”的选择操作,得到新种群。
进化代数k=k+1,转步骤(4).
ANN简介
作为深度学习的基础,神经网络模型发挥着很重要的作用。
我们来看一下ANN的定义:
神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出交互反应。

我们知道,生物神经网络的简单单元由生物神经元组成,那么在ANN模型中,简单单元由什么组成呢?
在经典ANN模型中,简单单元,即M-P神经元模型。我们知道感知机和Logistic回归都是线性分类模型,它们的不同点在于分类函数的选取是不一样的。
我们令z=wTxz=wTx。感知机的分类决策函数:f(x)=g(z)=sign(z)f(x)=g(z)=sign(z)
其中sign(⋅)sign(⋅)为阶跃函数:sign(z)=1 ifz≥0 else 1sign(z)=1 ifz≥0 else 1
Logistic回归的分类决策函数则是Sigmoid函数:f(x)=g(z)=11+e−zf(x)=g(z)=11+e−z,它表示的是将样本分类成正例和负例的几率比。也是一个阶跃函数的替代函数。

典型的M-P神经元模型的输入与输出和Logistic回归一样,不过在这里Sigmoid是作为激活函数而存在的。也就是说,Sigmoid表示的只是一个神经元的输出,不代表整个ANN的输出。一张图形象地表示该MP神经元:
在这里插入图片描述
ANN是什么?
我们知道生物神经网络是由非常多的生物神经元连接而成。类似地,ANN也是由多个神经元模型按照一定的规则连接构成。下图展示了一个全连接(Full Connected)神经网络(FNN):
在这里插入图片描述

⛄四、部分源代码

clear all
close all
clc

format long;
format compact;
global N CY popsize;
M=1; N=8; L=1;
popsize=50; %初始化样本数
F=0.5;
CR=0.9;

LB=-1;
UB=1;                            
CY=100;                            %节点数
maxG=2000;                         %进化种群代数
for tt=1:20
    tt

tic
W1=UB*ones(N,M,popsize)-(UB-LB)rand(N,M,popsize);
W2=UB
ones(L,N,popsize)-(UB-LB)rand(L,N,popsize);
Q=UB
ones(popsize,N+L)-(UB-LB)*rand(popsize,N+L);
%初始化权重和阈值

end
Q=newQ;
W1=newW1;
W2=newW2;
ypp=ypp2;
Ep=Ep2;
end
time(tt)=toc;
Weight1(:,:,tt)=bestW1;
Weight2(:,:,tt)=bestW2;
threshold(tt,:)=bestQ;
mse(tt,:)=bestEp;
output_y(tt,:)=bestypp; %记录最优结果
end
[best_Weights1,best_Weights2,best_threshold,best_mse,best_ypp]=best(Weight1,Weight2,threshold,mse,output_y);
disp(‘最佳权重W1 =’);
disp(best_Weights1);
disp(‘最佳权重W2 =’);
disp(best_Weights2);
disp(‘最佳阈值Q =’);
disp(best_threshold);
min_mse=best_mse
max_mse=max(mse)
mean_mse=mean(mse)
sd=std(mse)
cpu=mean(time)

t=1:CY;
% x=2tpi/CY;
% yp=sin(x); %%待测函数1

x=2t/CY;
yp=(2
x-1.6).^3-2*x+4; %%待测函数2

% x=-2+t*4/CY;
% yp=(1-x.2).*exp(-x.2/2); %%待测函数3

% x=t/100;
% yp(t)=exp(-x).sin(6pi*x); %%待测函数4

e=(yp-best_ypp).^2;
subplot(2,1,1)
plot(x,yp,x,best_ypp,‘rx’)
xlabel(‘x’),ylabel(‘y’)
title('学习结果比较 ')
legend(‘样本曲线图’,‘学习曲线图’)
subplot(2,1,2)
plot(x,e)
xlabel(‘x’),ylabel(‘MSE’)
title(‘均方误差曲线图’)

% x=x’;y=yp’;trainy=best_ypp’;mse=e’;
% save x.txt x -ASCII
% save y.txt y -ASCII
% save trainy.txt trainy -ASCII
% save mse.txt mse -ASCII

⛄五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]黄煜坤,邹毅.入侵检测改进差分进化算法优化BP神经网络[J].电电子世界. 2019(09)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值