首页 > 编程知识 正文

神经网络应用实例,神经网络可以做什么

时间:2023-05-04 00:50:06 阅读:110363 作者:1637

在拟合和预测网上看到这么多关于神经网络的文件,什么BT神经,什么模糊的神经,对我来说都是无意义的。

作为土木工程专业的学生,我的思想是能用的就好,能解决问题的钢筋就是能盖大楼的。

Matlab已经提供了神经网络的函数工具箱。

对我的专家和数学建模竞赛来说,它现在起到了很好的函数拟合作用。 然后,你不需要在意拟合是什么次方程。

或者,也可以起到稍微评价过去和未来的作用

代码是我放入的三种神经网络的m文件

function [net,tr]=shenjin(choice,p,t ) net=newff ) minmax(p ),[ 20,1 ], %隐藏单元的神经元数20,输出1,可变{ '。 %训练参数net.trainParam.epochs=500; net.trainParam.goal=1e-6; net=init(net; 重新初始化% else if (choice==2) %贝叶斯规范化算法TRAINBR net.trainFcn='trainbr '; %训练参数net.trainParam.epochs=500; Randn(seed ),192736547; net=init(net; 重新初始化% else if (choice==3) )动量梯度下降算法TRAINGDM % )当前输入级别权重和阈值input weights=net.iw { 1,1 }; inputbias=net.b{1}; %当前网络层权重和阈值layer weights=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; end%调用适当的算法训练BP网络[net,tr]=train(net,p,t ); 与end和main文件配合使用

% L-M优化算法(trainlm )和贝叶斯正则化算法(trainbr )用于训练BP网络(BP网络)以适应添加了白噪声的正弦采样数据。 渡边笔记) %神经网络的初始和常数设定,在shenjin.m上用clc,clear; 全部关闭; % 0.全选,数据少则% 1.L-M优化算法TRAINLM% 2.贝叶斯正则化算法TRAINBR% 3.动量梯度下降算法TRAINGDM% trainbfg---BFGS算法% trainbr---贝叶斯正则化方法训练函数; % traincgb---Powell-Beale共轭梯度反向传播算法的训练函数; % traincgp---Polak-Ribiere变梯度反向传播算法的训练函数; % traingd---梯度下降反向传播算法的训练函数; % traingda---自适应调整学习率的梯度下降反向传播算法的训练函数; % traingdm---附加动量因子的梯度下降反向传播算法的训练函数; % traingdx---自适应调整学习率并附加动量因子的梯度下降反向传播算法训练函数; %trainlm----LevenBerg-marquardt反向传播算法的训练函数; %trainoss----OSS(onestepsecant )反向传播算法的训练函数; % trainrp---RPROP (弹性BP算法)反向传播算法的训练函数; % trains CG---scaledconjugategradient (SCG )反向传播算法的训练函数; % trainb---用权重/阈值学习规则分批训练的函数; % trainc---用学习函数依次训练输入样本的函数; % trainr---用学习函数随机训练输入样本的函数。 当调用train函数时,以上训练函数用于训练网络L=3; %有三种方法,我认为choice=0就足够了; % P是输入向量P=[-1:0.05:1]; % T是目标向量t=sin(2*pi*p ) 0.1 * randn (size ) p ); %样本数据点%选择全部三种类型,比较谁更合适% choice=0if choice==0subplot (p (2,2,1 ) plot ) p、t、''); title (原始数据点); for i=1:L %神经网络[net,tr]=shenjin(I,p,t ); %BP模拟网络a=sim(net,p ); subplot (p (2,2,i 1 ) plot ) p,t,',p,a ); title([ '神经网络方法',num2str(I ),'计算结果' ] ); %计算模拟误差E=T - A; MSE(I )=MSE (e ); % mse函数用于计算均方误差%均方误差(mean-square error,MSE ),反映估计量和估计量之间的差值程度的endforI=1:Ldisp([神经网络法],num 2 '的)均方误差) )的disp([ ((神经网络方法),num2str(min ),(优良的) ) ) elsesubplot(P ) 1,2,1 ) plot ) p,t title (原始数据点); %神经网络[net,tr]=Shenjin(I,p,t ); %BP模拟网络a=sim(net,p ); subplot (p (1,2,2 ) plot ) p,t,',p,a ); title([ '神经网络方法',num2str(choice ),'计算结果' ] ); %计算模拟误差E=T - A; MSE=MSE(e ); % mse函数用于计算均方误差%均方误差(mean-square error,MSE ),用于计算disp([ (神经网络方法),num2str (chom2str ),这是反映估计量与估计量之间差异程度的量度) 可以用%输入进行输出。 维度必须与元数据存储匹配。 输入和输出结果如下

我写代码注释都很详细,不用多说。 以上。

如果有什么不对的地方,欢迎指出来。 谢谢你们互相交流。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。