原子搜索算法ASO优化BP神经网络回归预测模型以及MATLAB代码实现
文章目录
- 原子搜索算法ASO优化BP神经网络回归预测模型以及MATLAB代码实现
- 1. 算法描述
- 2. ASO优化BP神经网络预测的步骤与流程图
- 3. 模型介绍
- 4. ASO-BP预测结果与图像
- 5. MATLAB代码与数据下载地址
1. 算法描述
原子搜索算法(Atom Search Optimization)是一种较新的智能优化算法,在2019年提出,算法灵感来源于微观分子动力学。物理学意义是,每个原子在搜索空间中的位置代表一个与原子质量相对应的解,较好的解表示较重的质量。种群中的所有原子会根据彼此之间的距离相互吸引或排斥,且较轻的原子向较重的原子移动。原子搜索算法通过计算Lennard-Jones势能,利用加速度与速度随距离的关系而发生改变,来更新原子的位置,实现求解优化问题。
2. ASO优化BP神经网络预测的步骤与流程图
3. 模型介绍
3.1 数据说明
采用MATLAB官方的建筑物能源数据集,来实现BP回归预测与原子搜索算法ASO优化BP的回归预测算法。
3.2 数据格式
样本编号 | features1 | features2 | features3 | … | featuresn | target |
---|---|---|---|---|---|---|
1 | – | – | – | – | – | – |
2 | – | – | – | – | – | – |
… | – | – | – | – | – | – |
n | – | – | – | – | – | – |
3.3 优化变量的选取与适应度函数设计
优化BP神经网络的权值和阈值参数,选取训练集与测试集整体的均方误差为适应度值。适应度函数值越小,表明训练越准确,且兼顾模型的预测精度更好。
式中,TraingingSet,TestingSet,分别为训练集和测试集的样本。
3.4 算法的参数设置
%初始化ASO参数
popsize=30; %初始种群规模
maxgen=50; %最大进化代数
dim=inputnum*hiddennum_best+hiddennum_best+hiddennum_best*outputnum+outputnum; %自变量个数
lb=repmat(-3,1,dim); %自变量下限
ub=repmat(3,1,dim); %自变量上限
alpha=50; %深度权重
beta=0.2; %乘数权重
3.5 使用ASO优化后的BP神经网络进行预测,并与BP神经网络的预测结果进行误差分析和对比
4. ASO-BP预测结果与图像
5. MATLAB代码与数据下载地址
改进的BP神经网络回归预测算法类别 | 代码与数据地址链接 |
---|---|
GA-BP | GA优化BP回归预测MATLAB代码(含优化前的对比) |
PSO-BP | 粒子群算法PSO优化BP神经网络回归预测MATLAB代码 |
ASO-BP | 原子搜索算法ASO优化BP神经网络回归预测MATLAB代码 |
SSA-BP | 麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码 |
WOA-BP | 鲸鱼优化算法WOA优化BP神经网络回归预测MATLAB代码 |
Logistic-ASO-BP | 基于Logistic混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码 |
Logistic-SSA-BP | 基于Logstic混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码 |
Tent-ASO-BP | 基于Tent混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码 |
Tent-SSA-BP | 基于Tent混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码 |
Sine-SSA-BP | 基于Sine混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码 |