老饼讲解-神经网络
BP基础理论
模型训练
BP的误差函数与训练
作者 : 老饼 日期 : 2022-06-09 05:01:26 更新 : 2022-06-29 01:23:08
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



本文讲解BP神经网络的误差函数、BP的训练方法及梯度下降法训练BP的流程



   一、BP的误差函数   


在我们确定了BP神经网络的结构(隐层层数、隐节点个数、传递函数)之后,我们就得到了如下形式的模型表达式:




可以得到,BP神经网络预测值与样本真实值的均方误差函数如下:





其中,m为训练样本个数,k为输出个数,
为第i个样本第k个输出的预测值,为对应的真实值。

误差函数是一个关于W,b的函数,采用不同的权重和阈值,就有不同的误差。




二、BP的训练


  什么是BP的训练  


我们的目标就是求取一组W,b,使误差最小,
这个求解的过程,就称为BP神经网络的训练
对W,b的求解并不是一件容易的事情,
我们目前的数学水平还没有能力求得 E 的精确解,通常是使用算法进行求解。



  matlab的训练算法  



matlab提供了多种训练算法(求解算法),如下:



                梯度下降法(traingd)                   
  
       有动量的梯度下降法(traingdm)         
  
        自适应lr梯度下降法(traingda)           
  
      自适应lr动量梯度下降法(traingdx)      
  
             弹性梯度下降法(trainrp)              
  
  Fletcher-Reeves共轭梯度法(traincgf)    
  
    Ploak-Ribiere共轭梯度法(traincgp)     
  
     Powell-Beale共轭梯度法(traincgb)     
  
             量化共轭梯度法(trainscg)             
  
                拟牛顿算法(trainbfg)                 
  
                一步正割算法(trainoss)              
  
      Levenberg-Marquardt法(trainlm)     

其中,梯度下降法是最基本,最基础的算法,可以看到,很多算法是在梯度下降法的基础上进一步改进得到。










 End 







联系小饼