MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
目录
输出结果
实现代码
输出结果
实现代码
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)
相关文章
GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性相关推荐
- 天牛须matlab,基于天牛须搜索算法(BAS)优化BP神经网络的权值阈值代码
%% 使用优化后的权值和阈值测试结果 %% 使用优化后的权值和阈值 inputnum=size(P,1);%输入层神经元个数 outputnum=size(T,1);%输出层神经元个数 N=size( ...
- pso 阈值分割 matlab,PSO优化BP神经网络权值阈值
PSO优化BP网络:主函数:%清空环境变量clc clear % %%网络结构建立%读取数据load data input output %节点个数inputnum=2; hiddennum=5; o ...
- BP神经网络——如何进行权值的初始化
如果以面向对象(OOP)的方式进行BP神经网络系统的设计与实践的话,因为权值的初始化以及类的构造都只进行一次(而且发生在整个流程的开始阶段),所以自然地将权值(全部层layer之间的全部权值)初始化的 ...
- CNN卷积神经网络学习过程(权值更新)
卷积神经网络采用BP算法学习网络参数,BP算法是基于梯度下降原则来更新网络参数.在卷积神经网络中,需要优化的参数有卷积核参数k.下采样层权值β.全连接层网络权值w及各层偏置b.我们以卷积神经网络的期望 ...
- 神经网络中的权值共享
2012年的AlexNet网络是深度学习的开端,但是CNN的开端最早其实可以追溯到LeNet5模型,它的几个特性在2010年初的卷积神经网络研究中被广泛的使用--其中一个就是权值共享. 神经网络的输入 ...
- 如何理解卷积神经网络中的权值共享
权值共享这个词最开始其实是由LeNet5模型提出来,在1998年,LeCun发布了LeNet网络架构,就是下面这个: 虽然现在大多数的说法是2012年的AlexNet网络是深度学习的开端,但是CNN的 ...
- 理解卷积神经网络中的权值共享
首先介绍单层网络实行的权重共享袁力介绍 简单从共享的角度来说:权重共享即filter的值共享 卷积神经网络两大核心思想: 1.网络局部连接(Local Connectivity) 2.卷积核参数共享( ...
- 卷积神经网络中的权值共享
一.起源 权值共享这个词最开始其实是由LeNet5模型提出来,在1998年,LeCun发布了LeNet网络架构 其实权值共享这个词说全了就是整张图片在使用同一个卷积核内的参数,比如一个3*3*1的卷积 ...
- 神经网络阈值是什么意思,神经网络阈值怎么设置
BP神经网络中初始权值和阈值的设定 1.首先需要了解BP神经网络是一种多层前馈网络.2.以看一下在matlab中BP神经网络的训练函数,有梯度下降法traingd,弹性梯度下降法trainrp,自适应 ...
最新文章
- sendto 返回errnor 1,错误码1 Operation not permitted
- C#中怎样获取默认配置文件App.config中配置的键值对内容
- java 解密 php_使用JAVA解密PHP解密
- datatable排序:DataTable的排序、检索、合并
- 关于数据库死锁的检查方法
- MT4 缠论双线MACD面积背离指标
- python 数据文件上传到ftp服务器
- 基于易智瑞(ArcGIS)JavaScript API的视频融合探索
- Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD
- 计算机启动应用程序的方法,应用程序无法正常启动,教您应用程序无法正常启动的解决方法...
- 抢先入驻皮皮虾APP社区 红利初期第一批操作者绝对有肉吃
- 面试中常见的数据结构
- 前端实现图片压缩上传功能
- spring实战笔记_第4章
- 网上购车平台蛋蛋订车,这几款车型推荐,超低首付购车上私户
- 网络工程师笔记--计算机知识产权
- CSS综合案例-品优购电商04
- 三种治疗新冠肺炎中药颗粒获批上市
- vc中c语言多线程,VS2010配置C/C++多线程使用环境
- 大数据的未来在于开放与共享