吴恩达机器学习:神经网络反向传播算法——理解和补充

前言

看反向传播视频的时候被里面突然出来的一堆公式整懵了,为方便理解在此简单的梳理补充一下关于反向传播算法的公式推导,本人数学水平不高,如有理解不到位的地方欢迎大家指出

 

(文中字母上标表示层数,下标表示该层的第几个元素)

链式求导法则

首先先说链式求导,假设吴恩达机器学习:神经网络反向传播算法——理解和补充,其中吴恩达机器学习:神经网络反向传播算法——理解和补充

可以写出J相对于吴恩达机器学习:神经网络反向传播算法——理解和补充的偏导

                                              吴恩达机器学习:神经网络反向传播算法——理解和补充  

                              吴恩达机器学习:神经网络反向传播算法——理解和补充

由公式可以看出,将每个偏导看成一个整体的话,链式求导法则和神经网络的传播过程相似,图示为

吴恩达机器学习:神经网络反向传播算法——理解和补充

其中每条线上对应的权重为吴恩达机器学习:神经网络反向传播算法——理解和补充

反向传播算法

同样定义与上图中相同的神经网络结构,设J吴恩达机器学习:神经网络反向传播算法——理解和补充,其他条件为(与视频中的定义基本一致,以下公式中的i,j,k重,与前一部分的i,j,k不同)

                                                             吴恩达机器学习:神经网络反向传播算法——理解和补充  (gsigmoid函数)

                                                             吴恩达机器学习:神经网络反向传播算法——理解和补充

                                                           吴恩达机器学习:神经网络反向传播算法——理解和补充

定义**项误差δ

                                                       吴恩达机器学习:神经网络反向传播算法——理解和补充

 个人感觉这里视频中并没有说清楚,如图

吴恩达机器学习:神经网络反向传播算法——理解和补充

视频中显示的输出层误差吴恩达机器学习:神经网络反向传播算法——理解和补充,实际上算的是 吴恩达机器学习:神经网络反向传播算法——理解和补充  ,而下面计算隐藏层的误差吴恩达机器学习:神经网络反向传播算法——理解和补充,算的却是吴恩达机器学习:神经网络反向传播算法——理解和补充 ,其关系为:

                                                                     吴恩达机器学习:神经网络反向传播算法——理解和补充

因而这两者不能等同理解,视频中采用同一个符号容易造成误解    

计算出的**项误差之后,就很容易计算得到代价函数J关于参数Θ 的偏导                                            

                                                            吴恩达机器学习:神经网络反向传播算法——理解和补充