当前位置:   article > 正文

机器学习--BP神经网络原理的数学公式推导_bp神经网络(完整的理论和经验公式)

bp神经网络(完整的理论和经验公式)

I  原理

一、什么是BP神经网络

       1、什么是神经网络

       以图像为例,在机器学习中,很多时候我们在原始的数据空间中,没法总结出数据的内在规律,那么我么就要先做个数据转换过程。把数据从一个空间维度转到另外一个空间维度。而我们的神经网络就是其中一种方式。

 注: 上面图像从下往上看

原始数据是X(x1,x2,x3,...) 没办法用关系表达X到Y之间的关系。那么我们中间就可以多做几次空间变换。变换后的数据可以使X和Y关联起来。上图中为了便于理解,中间变换只做了一次。

在科学家去推导这个结构的时候,发现它和我们人类的神经很像,所以给它取了个名字叫神经网络。大家观察下上图的隐含层的那些节点,是不是很像我们人类大脑中的神经元。每一个神经元b都接受外界各种因素X的综合信息,然后不断传导到后面的神经元,最后大脑做出相应的反馈动作Y  。个人理解这就是神经网络的由来。

      2、什么是BP

      神经网络的计算过程

      上图中X到B和B到Y之间都存在两种变换

      1)X到B的输入端 进行了线性变换。每一个神经元的输入值,比如                       b1=v11*x1+v21*x2+v31*x3..

      其中v11,v21,v31,....是常数。我们为了便于描述简单。用V矩阵待变所有的这些系数。那么        X到B的输入端就可以描述成: Bi=VX

     .2)B输入到B的输出存在着非线性变换。我们用一个非线性函数来表达这种关系,比如Bo=tanh(Bi-k)

注:非线性函数除了tanh外还可以是其他的,这个函数给它取个名字叫激活函数。k是一个常数,有个名字叫阈值

      类似的神经元输出到y输出也有类似的两部操作。Yi=W*Bo    Yo=tanh(Yi-q)

      所以这个神经网络完整的计算过程X->Y应该是:

       Bi=VX  

      Bo=tanh(Bi-k)

      Yi=W*Bo   

     Yo=tanh(Yi-q)

      其中X和Y已知,要让整个过程通顺,我们就要解出未知的系数矩阵V和W及k,q,那怎么解呢?其中有一种方法叫做BP。误差反向传播(Error Back Propagation Training),简称BP

      它的原理是,首先假定V,W,k和q是一些随机的常数值。我们通过X,V,W,k和q计算出算出来的Y,我们便于区分,给它换个名字^Y,我们算出来的^Y,和一开始就已知的Y之间肯定会存在着误差。这种误差我们用方差表达,也可以用差值表达。表达的方式有很多(这些表达方式有个名字叫损失函数)。我们利用^Y和Y之间的误差再来反向修正W,修正V,k和q。就可得到更可靠的V,W,k和q。那继续这样反向修正,直至V,W,k和q不再变化。或者得到个人指定的要求。我们就可以结束了。得到准确的V,W,k和q值。

II 数学推导

 

​ 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/679356
推荐阅读
相关标签
  

闽ICP备14008679号