欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

BP神经网络(检测故障的实例)

发布时间:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 BP神经网络(检测故障的实例) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.



BP神经网络的运用 

输入p=[-1 -1 2 2 ;0 5 0 5];

t=[-1 -1 2 2];

 然后生成与输入输出对应的神经网络

net=newff(minmax(p),[3 1],{'tansing','perelin'},'traingd');


接下来设定网络参数

net.p=trainParam.lr=0.05;  学习速率

net.trainParam.epochs=300;    迭代次数

net.trainParam.goal=1.0e-5;            误差最大值


[net tr]=train(net,p,t)   对神经网络进行训练



对值进行预测


y=sim(net,p)


1\traingd  表示训练方法  就是用什么方法迭代权值和偏置

2\改善的方法 :有动量的梯度下降法                         traingdm

3|可变学习速率的梯度下降法    traingda

4\弹性梯度下降法              trainrp


常用的传递函数是   logsig        tansig          purelin

 BP神经网络  函数的逼近、

<span style="font-size:18px;"><span style="font-size:18px;">k=1; p=[0:0.05:4];t=sin(k*pi*p); plot(p,t,'-'); xlabel('时间‘);ylabel('输入信号’); net=newff(minmax(p),[10 1],{'tansig','purelin'},‘trainlm'); y1=sim(net,p); plot(p,t,'-','p,y1,'--'); </span></span>
如果效果不好  可以对神经网络进行训练、


net.trainParam.ir=0.05;

net.trainParam.epochs=300;

net.trainParam.goal=1.0e-5;

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



回归问题       由于神经网络可以对任意形状的函数曲线进行拟合,所以BP神经网络可以进行回归


可以用于识别   

BP神经网络对故障的检测:

<span style="font-size:18px;">P11=[0.64 1.37 0.71 0.78]'; P12=[0.68 1.31 0.64 1.31]'; P21=[1.65 1.66 0.9 4.48]'; P22=[1.35 1.39 0.95 2.89]'; P31=[8.24 2.23 0.99 2]'; P41=[2.01 1.65 0.94 4.39]'; P51=[0.93 1.33 0.73 1.54]'; P=[P11 P12 P21 P22 P31 P41 P51];t11=[0 0 0 0]'; t12=[0 0 0 0]'; t21=[1 0 0 0]'; t22=[1 0 0 0]'; t31=[0 1 0 0]'; t41=[0 0 1 0]'; t51=[0 0 0 1]'; t=[t11 t12 t21 t22 t31 t41 t51];net=newff(minmax(P),[8,4],{'logsig','purelin'},'trainlm'), net.trainParam.show = 100, net.trainParam.epoch = 2000, net.trainParam.goal= 1e-3, [net,tr]=train(net,P,t),Ptest11=[0.64 1.37 0.71 0.78]'; Ptest12=[0.68 1.31 0.64 1.31]'; Ptest13=[0.91 1.35 0.75 1.59]'; Ptest14=[0.69 1.38 0.68 0.9]'; Ptest21=[3.89 2.01 0.88 20.1]'; Ptest22=[1.65 1.66 0.9 4.48]'; Ptest23=[1.35 1.39 0.95 2.89]'; Ptest31=[8.24 2.23 0.99 2]'; Ptest41=[2.01 1.65 0.94 4.39]'; Ptest51=[0.93 1.33 0.73 1.54]'; Ptest=[Ptest11 Ptest12 Ptest13 Ptest14 Ptest21 Ptest22 Ptest23 Ptest31 Ptest41 Ptest51];result_test = sim(net, Ptest)' </span>

总结

以上是生活随笔为你收集整理的BP神经网络(检测故障的实例)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。