Matlab是公认最优秀的数学应用软件 其中的神经网络工具箱几乎包含了神经网络理论的最新研究及应用成果
涉及感知器、线性网络、BP网络、径向基网络、自组织网络和回归网络等 ;它针对各类网络模型 ,集成了许多神经网络学习算法 ,可使用户直观、方便地进行分析、计算及仿真!
线性神经网络的构建:
net=newlin(PR,S,ID,LR)
PR--Rx2阶矩阵,R个输入元素的最小最大矩阵
S---输出层神经元个数
ID--输入延迟向量,默认值为[0]
IR--学习率,默认值为001
net = newlin([-1 1;-1 1],1); 表示设计的是一个双输入单输出线性神经网络
P = [1 2 2 3; 2 1 3 1];表示输入样本有四个,每一列就是一个输入样本
又比如假设我们期望的输出为 T=[1 2 3 4],则一个简单的神经网络如下:
>>net = newlin([-1 1;-1 1],1);%创建初始网络
P=[1 2 2 3; 2 1 3 1]%输入
T=[1 2 3 4]%期望的输出
net=newlind(P,T);%用输入和期望训练网络
Y=sim(net,P)%仿真,可以看到仿真结果Y和期望输出T的接近程度
P =
1 2 2 3
2 1 3 1
T =
1 2 3 4
Y =
08889 21667 30556 38889
楼主可以从《matlab神经网络与应用(第二版)》董长虹 开始入门神经网络的matlab实现
参考资料:
matlab 带有神经网络工具箱,可直接调用,建议找本书看看,或者MATLAB论坛找例子。
核心调用语句如下:
%数据输入
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputn,outputn,[8 8]);
nettrainParamepochs=100;
nettrainParamlr=001;
nettrainParamgoal=001;
%网络训练
net=train(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
BPoutput=mapminmax('reverse',an,outputps);
%% 结果分析
利用matlab做神经网络预测,可按下列步骤进行:
1、提供原始数据
2、训练数据预测数据提取及归一化
3、BP网络训练
4、BP网络预测
5、结果分析
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)