机器学习——人工神经网络之后向传播算法(BP算法)
目錄
?
一、后向傳播算法的本質——梯度下降法求局部極值
1、w迭代公式的合理性
二、后向傳播算法的推導(以二層神經網絡為例)
1、問題描述(創建目標函數loss函數,求參數)
2、求解參數的流程(四步曲)
3、求解參數第二步——目標函數對每一個參數求偏導(BP算法目的所在)
>>>問題1:為什么叫做后向傳播算法(BP)?
>>>問題2:非線性函數fai的改造(重要)——激活函數
1)fai的改造函數形式一
2)fai的改造函數形式二
3)fai的改造函數形式三
4)fai的改造函數形式四
三、多層神經網絡的向量模型以及BP算法求參(w(m)、b(m))流程步驟
1、多層神經(l層)網絡的向量模型(前向傳播流程)
1)關于多層神經網絡向量模型中的一些定義
2)多層神經(l層)網絡的向量模型
?>>>問題3:上圖中w(m),b(m)是怎么變化的?
2、BP算法(后向傳播算法)流程
1)推導利用BP求偏導(鏈式法則)——已知第m+1層求第m層
2)所有對參數w,b的偏導
3)求解所有w,b參數小結(求解流程)
>>>問題4:w,b迭代公式中的α怎么進行取值?
一、后向傳播算法的本質——梯度下降法求局部極值
這里需要注意的是區分SVM和BP,SVM找的是全局的最優解,BP尋找的是局部的最優解
1、w迭代公式的合理性
w的迭代公式是為了讓函數值一直減小,直到在局部達到最小,即導數為0,那迭代公式能否完成極值點的尋找呢?證明如下:
從上圖可知,通過w的迭代公式,可以讓函數值隨w的迭代而一直減小,直到找到極值點
二、后向傳播算法的推導(以二層神經網絡為例)
1、問題描述(創建目標函數loss函數,求參數)
下面為二層神經網絡,有9個未知參數,目的是在讓E函數值最小的情況下求解這9個參數
2、求解參數的流程(四步曲)
3、求解參數第二步——目標函數對每一個參數求偏導(BP算法核心)
第二步結束,執行第三步和第四步,直到滿足條件時所有的參數w,b就算出來了
?
>>>問題1:為什么叫做后向傳播算法(BP)?
答:如下圖所示,
我們首先要從前往后通過輸入的X來計算,a和z、y的表達式(前向計算),
然后再從后到前依次計算對各個參數的偏導,因此BP算法的目的就是用來求目標函數對參數的偏導的,所以叫后向傳播算法
?
>>>問題2:非線性函數fai的改造(重要)——激活函數
求目標函數對參數求偏導時含有fai的導數,而前面說fai是階躍函數,那其導數恒等于0,在0處無窮大,那該怎么把fai的導數帶入到求參數偏導的式子中去呢?
答:這樣的fai函數肯定是不行的,為此對fai函數進行了改造,改造成了以下幾種形式
建議先看文章:《機器學習——人工神經網絡之多層神經網絡(多層與三層)——數學模型中的非線性函數fai》
用以下的fai函數和三層神經網絡模型結合也可以解決所有的線性問題
1)fai的改造函數形式一
?
2)fai的改造函數形式二
以下兩種是深度學習常被用到的fai函數
3)fai的改造函數形式三
4)fai的改造函數形式四
三、多層神經網絡的向量模型以及BP算法求參(w(m)、b(m))流程步驟
1、多層神經(l層)網絡的向量模型(前向傳播流程)
1)關于多層神經網絡向量模型中的一些定義
?
2)多層神經(l層)網絡的向量模型
?>>>問題3:上圖中w(m),b(m)是怎么變化的?
答:w(m)和b(m)是待求參數,上圖只是通過數學的推導來表示清楚多層神經網絡模型中各個參數的變化以及關系式,至于怎么求w(m)和b(m)依舊使用的是BP算法,具體怎么求看后面部分
?
2、BP算法(后向傳播算法)流程
注意:
1、這里得區分開y和Y的關系,y是變量,Y是輸入的標簽是已知量,但是兩者的維度是一致的
2、鏈式法則指的就是求復合函數的偏導的法則
?
1)推導利用BP求偏導(鏈式法則)——已知第m+1層求第m層
①鏈式1:最后一層(l層)的偏導
?
②鏈式2:第m層的偏導——從后往前推的遞推式
?
2)所有對參數w,b的偏導
通過下面四個式子可以將目標函數對所有參數的偏導求解出來
?
3)求解所有w,b參數小結(求解流程)
1、任意取一組參數w,b,
2、求出目標函數對所有參數w,b的偏導的表達式
3、將w,b的值代入偏導公式求出偏導值
4、根據w,b的迭代公式對w,b參數進行更新,得到新的一組w,b參數
5、若目標函數對所有的參數的偏導為0,則取該組w,b參數作為最優模型的參數,否則一直進行循環,直到偏導都為0
通過上述就將模型確定了
?
>>>問題4:w,b迭代公式中的α怎么進行取值?
答:α在模型中叫做步長,這個參數的取值,一般是通過調整得到的,過大可能會導致錯過最好的參數,過小收斂效率慢。總的來說這個參數的取值隨緣,先定一個步長,算出w,b后,再慢慢調節阿爾法的值
?
對模型中的參數該怎么進行設置呢?請看文章:《機器學習——人工神經網絡之參數設置(BP算法)》
?
?
?
?
總結
以上是生活随笔為你收集整理的机器学习——人工神经网络之后向传播算法(BP算法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle数据库 查询所有表
- 下一篇: 华为杯数学建模竞赛百分百获奖经验分享(获