一、前向网络
1、模型及隐藏层单元输出层单元的计算公式
2、损失函数
5、现在就可以使用损失函数的梯度以及fmincg来计算使cost函数最小化的权重值。
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img1.ph.126.net/1mZaFcHUDB6B2P8kYnQMfA==/6631254682681693663.jpg)
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img0.ph.126.net/CzuzW5JqBCo9VBuzP_ncVg==/6631395420170059437.jpg)
其中m为样本数,K为分类类别数。损失函数类似于logistics的损失函数,由于logistics为2分类所以比神经网络少了K的累加。
3、正则化
正则项为每一项的权重平方和累加
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img2.ph.126.net/EylFfkqxyxRkRXeUf_ykyA==/4863606122684157377.jpg)
j,k分别为权重的行列数。
4、带有正则化得损失函数
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img1.ph.126.net/2Lf5p4zgucF_VvJyWxrMnQ==/1629458640278831791.jpg)
二、后向网络
如果说前向网络的目的是利用权重W和样本X计算假设函数h(x)从而得出损失函数。那么后向网络就是利用样本X,Y来为前向网络计算权重W的过程。
1、初始化
使用随机初始化为权重W初始化,不可以使用全0。
2、后向网络模型以及每层网络损失量计算
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img1.ph.126.net/2hEPZuL93tZrgDrhVeP9jg==/6631209602704957924.jpg)
特别注意第一层网络无损失量,因为就是X。
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img1.ph.126.net/18Tj1EY_al0Kk90UMXADpA==/3752342914630418419.jpg)
3、计算每层网络累加损失量
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img0.ph.126.net/6NMGXKLAa_9SLGofRExaew==/4890909195424997601.jpg)
损失值累加即为损失函数的梯度
![Neural Networks Learning - shiqi - 一个小硕士的成长之路 Neural Networks Learning - shiqi - 一个小硕士的成长之路](http://img0.ph.126.net/wucu_4i2TSJfW5fNhfJVzQ==/2873296562363100945.jpg)
4、为损失函数梯度增加正则化时不要计算偏置量。
三、总结:
1、前向网络得出J,后向网络得出J的梯度。最后通过fmincg得出网络权重,即训练结束。
2、使用后向网络是为了求解损失函数的梯度,因为直接对损失函数求导是无法得出梯度的。