全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2230 2
2013-01-18
以前未接触过人工神经网络,用BP来进行预测,但不知从何下手,望前辈给予点播,感激不尽!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-1-20 23:24:36
同感,求指导!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-18 18:13:37
我给你发一个实例 你可以学习一下
采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。  
% 例1 采用动量梯度下降算法训练 BP 网络。  % 训练样本定义如下:  % 输入矢量为    % p =[-1 -2 3 1  %     -1 1 5 -3]  % 目标矢量为   t = [-1 -1 1 1]  close all  clear  clc  
% --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式: 
% net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes, 
% PR -- R x 2 matrix of min and max values for R input elements 
% (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的边界值) 
% Si -- 第i层的维数 
% TFi -- 第i层的传递函数, default = 'tansig' 
% BTF -- 反向传播网络的训练函数, default = 'traingdx' 
% BLF -- 反向传播网络的权值/阈值学习函数, default = 'learngdm' 
% PF -- 性能函数, default = 'mse' 
% --------------------------------------------------------------- % TRAIN——对 BP 神经网络进行训练,函数格式: % train(NET,P,T,Pi,Ai,VV,TV),输入参数: % net -- 所建立的网络 % P -- 网络的输入 
% T -- 网络的目标值, default = zeros % Pi -- 初始输入延迟, default = zeros % Ai -- 初始网络层延迟, default = zeros % VV -- 验证向量的结构, default = [] % TV -- 测试向量的结构, default = [] % 返回值: 
% net -- 训练之后的网络 
% TR -- 训练记录(训练次数及每次训练的误差) % Y -- 网络输出 % E -- 网络误差 
% Pf -- 最终输入延迟 % Af -- 最终网络层延迟 
% --------------------------------------------------------------- % SIM——对 BP 神经网络进行仿真,函数格式: % [Y,Pf,Af,E,perf] = sim(net,P,PiAi,T) % 参数与前同。 
% --------------------------------------------------------------- %  
% 定义训练样本  % P 为输入矢量  echo on 
P=[-1, -2,   3,   1;   -1,   1,   5, -3];  % T 为目标矢量  T=[-1, -1, 1, 1];  
% 创建一个新的前向神经网络  
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')  % --------------------------------------------------------------- % 训练函数:traingdm,功能:以动量BP算法修正神经网络的权值和阈值。 
% 它的相关特性包括: 
% epochs:训练的次数,默认:100 % goal:误差性能目标值,默认:0 % lr:学习率,默认:0.01 
 % max_fail:确认样本进行仿真时,最大的失败次数,默认:5 % mc:动量因子,默认:0.9 
% min_grad:最小梯度值,默认:1e-10 % show:显示的间隔次数,默认:25 % time:训练的最长时间,默认:inf 
% --------------------------------------------------------------- % 当前输入层权值和阈值  inputWeights=net.IW{1,1}  inputbias=net.b{1}  % 当前网络层权值和阈值  layerWeights=net.LW{2,1}  layerbias=net.b{2}  % 设置网络的训练参数  
net.trainParam.show = 50;  net.trainParam.lr = 0.05;  net.trainParam.mc = 0.9;  
net.trainParam.epochs = 1000;  net.trainParam.goal = 1e-3;    
% 调用 TRAINGDM 算法训练 BP 网络  [net,tr]=train(net,P,T);  % 对 BP 网络进行仿真  A = sim(net,P)  % 计算仿真误差  E = T - A  MSE=mse(E)  echo off figure; 
plot((1:4),T,'-*',(1:4),A,'-o')
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群