matlab使用BP神经网络训练如何不出现训练窗口
  TnD0WQEygW8e 2023年11月08日 47 0

神经网络训练过程的窗口能不弹出来吗?

net.trainParam.showWindow = false;
net.trainParam.showCommandLine = false;

 

------------------------

net.trainParam.show=NaN  (经过测试,此方法不行)

------------------------

newrb.m文件里是这样显示的    
function [net,tr]=newrb(p,t,goal,spread,mn,df)     
。。。     
  % DISPLAY     
  if isfinite(df) & (~rem(k,df))     
    fprintf('NEWRB, neurons = %g, MSE = %g\n',k,MSE);     
    flag_stop=plotperf(tr,eg,'NEWRB',k);        end


。。。
它不用showwindow这样的参数控制,要不显示注释掉最方便了

------------------------

net.trainParam.showWindow = false; (经过测试,此方法不行)

------------------------

可以把显示的刷新次数设置的很大很大(经过测试,此方法不行)

------------------------

 

------------------------

DISABLE NNTRAINTOOL WINDOW

How to hide nntraintool window

http://www.mathworks.com/matlabcentral/newsreader/view_thread/288528

 

神经网络的训练主要包括两个部分:正向传播和反向传播两个过程。正向传播得到损失值,反向传播得到梯度。最后通过梯度值完成权值更新。所谓梯度其实就是一个偏导数向量,但是我们经常说的仍是‘x的梯度’而不是‘x的偏导数’。

整个网络的输出值为 ak, 这个输出值将与期望的目标值 tk 比较,得到一个误差,神经网络训练的目的,就是找到参数w,b使得误差最小。取误差平方和作为目标函数,定义如下:

matlab使用BP神经网络训练如何不出现训练窗口_神经网络

寻找这个参数的方法采用梯度下降法,即计算所有参数的梯度(偏导数)

matlab使用BP神经网络训练如何不出现训练窗口_权重_02

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_03

 

 

输入数据:i1=0.05,  i2=0.1

输出数据:k1=0.01,  k2=0.99

偏置  bj=1, 所对应的初始权重为0.45

         bk=1, 所对应的初始权重为0.85

激活函数:  sigmoid函数

初始权重为上述所标识的

 

一. 前向传播

  1 .输入层到隐藏层:

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_04

 

matlab使用BP神经网络训练如何不出现训练窗口_权重_05

    神经元j1的输出值为:

matlab使用BP神经网络训练如何不出现训练窗口_反向传播_06

     同理,可以计算

matlab使用BP神经网络训练如何不出现训练窗口_权重_07

 

   2.隐藏层到输出层:

    

matlab使用BP神经网络训练如何不出现训练窗口_反向传播_08

     神经元k1的输出值为:

     

matlab使用BP神经网络训练如何不出现训练窗口_权重_09

     同理,可以计算 

matlab使用BP神经网络训练如何不出现训练窗口_权重_10

   

     至此,我们得到神经网络输出值为【0.867,0.925】与实际值【0.01,0.99】相差甚远

     分别计算k1,k2的误差,总误差为两者之和:

   

matlab使用BP神经网络训练如何不出现训练窗口_反向传播_11

  接下来进行反向传播,通过求梯度,更新权值。

 


matlab使用BP神经网络训练如何不出现训练窗口_权重_12

 

 yk为常数;

matlab使用BP神经网络训练如何不出现训练窗口_反向传播_13

 

 

 

matlab使用BP神经网络训练如何不出现训练窗口_反向传播_14

 

 

matlab使用BP神经网络训练如何不出现训练窗口_权重_15

 

 

下面我们来计算均方差算是函数的梯度

由于单个神经元只有一个输出,那么损失函数可以表示为

matlab使用BP神经网络训练如何不出现训练窗口_权重_16

 因为  z=x1w1+x2w2+...+xjwj+...+b ,所以

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_17

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_18

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_19

 

 

matlab使用BP神经网络训练如何不出现训练窗口_权重_20

 

 

matlab使用BP神经网络训练如何不出现训练窗口_权重_21

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_22

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_23

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_24

 

 

matlab使用BP神经网络训练如何不出现训练窗口_神经网络_25

 

 

GOOD

(正向传播)

(反向传播)

 

https://zhuanlan.zhihu.com/p/26765585

https://zhuanlan.zhihu.com/p/45190898

https://www.jianshu.com/p/74bb815f612e



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
TnD0WQEygW8e