MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性

简介: MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性

输出结果

image.png

image.png




实现代码


global p    

global t    

global R  

global S1

global S2  

global S  

S1 = 10;

p = [0.01 0.01 0.00 0.90 0.05 0.00;

    0.00 0.00 0.00 0.40 0.50 0.00;

    0.80 0.00 0.10 0.00 0.00 0.00;

    0.00 0.20 0.10 0.00 0.00 0.10]';

t = [1.00 0.00 0.00 0.00;

    0.00 1.00 0.00 0.00;

    0.00 0.00 1.00 0.00;

    0.00 0.00 0.00 1.00]';

P_test = [0.05 0    0.9  0.12 0.02 0.02;

         0    0    0.9  0.05 0.05 0.05;

         0.01 0.02 0.45 0.22 0.04 0.06;

         0    0    0.4  0.5  0.1  0;

         0    0.1  0    0    0    0]';

net = newff(minmax(p),[S1,4],{'tansig','purelin'},'trainlm');

net.trainParam.show = 10;

net.trainParam.epochs = 2000;

net.trainParam.goal = 1.0e-3;

net.trainParam.lr = 0.1;

[net,tr] = train(net,p,t);

s_bp = sim(net,P_test)  

R = size(p,1);

S2 = size(t,1);

S = R*S1 + S1*S2 + S1 + S2;

aa = ones(S,1)*[-1,1];

popu = 50;  

initPpp = initializega(popu,aa,'gabpEval',[],[1e-6 1]);  

gen = 100;  

[x,endPop,bPop,trace] = ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...

                          'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);

figure(1)

plot(trace(:,1),1./trace(:,3),'r-');

title( 'GA优化BP神经网络,绘制均方误差变化曲线—Jason niu')

hold on

plot(trace(:,1),1./trace(:,2),'b-');

xlabel('Generation');

ylabel('Sum-Squared Error');

figure(2)

plot(trace(:,1),trace(:,3),'r-');

title( 'GA优化BP神经网络,绘制适应度函数变化曲线—Jason niu')

hold on

plot(trace(:,1),trace(:,2),'b-');

xlabel('Generation');

ylabel('Fittness');

[W1,B1,W2,B2,val] = gadecod(x);

net.IW{1,1} = W1;

net.LW{2,1} = W2;

net.b{1} = B1;

net.b{2} = B2;

net = train(net,p,t);

s_ga = sim(net,P_test)  

相关文章
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
761 0
|
12月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
466 4
|
12月前
|
机器学习/深度学习 算法
采用蚁群算法对BP神经网络进行优化
使用蚁群算法来优化BP神经网络的权重和偏置,克服传统BP算法容易陷入局部极小值、收敛速度慢、对初始权重敏感等问题。
626 5
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
317 8
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
463 7
|
12月前
|
机器学习/深度学习 传感器 算法
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
基于GA-HIDMSPSO优化CNN-SVM分类预测的研究(Matlb代码实现)
298 0
|
机器学习/深度学习 编解码 并行计算
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
593 0
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
620 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
459 10

热门文章

最新文章