深度學習筆記(二) BP算法


1.監督學習

監督學習是指:利用一組已知類別的樣本調整分類器參數,使其達到所要求性能的過程,也稱為監督訓練或有教師學習。

輸入數據為“訓練數據”,由正確的訓練集和錯誤的訓練集構成。

2.非監督學習

在機器學習,無監督學習的問題是,在未加標簽的數據中,試圖找到隱藏的結構。因為提供給學習者的實例是未標記的,因此沒有錯誤或報酬信號來評估潛在的解決方案。

沒有告訴模型哪些是正確的,哪些是錯誤的。

關聯規則,聚類

3.強化學習

目標:學習從環境狀態到行為的映射,使得智能體選擇的行為能夠獲得環境最大的獎賞,使得外部環境對學習系統在某種意義下的評價(或整個系統的運行性能)為最佳。

如果Agent的某個行為策略導致環境正的獎賞(強化信號),那么Agent以后產生這個行為策略的趨勢便會加強。Agent的目標是在每個離散狀態發現最優策略以使期望的折扣獎賞和最大。

4.人工神經網絡和深度學習都屬於機器學習的一種。深度學習是神經網絡的分支,深度學習的基本結構是深度神經網絡。

5.傳統神經網絡一般只有2-3層,深度神經網絡至少有5層。

6.如何訓練神經網絡:

BP算法:BP算法是由學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。由於多層前饋網絡的訓練經常采用誤差反向傳播算法,人們也常把將多層前饋網絡直接稱為BP網絡。

BP算法由信號的正向傳播和誤差的反向傳播兩個過程組成。
正向傳播時,輸入樣本從輸入層進入網絡,經隱層逐層傳遞至輸出層,如果輸出層的實際輸出與期望輸出(導師信號)不同,則轉至誤差反向傳播;如果輸出層的實際輸出與期望輸出(導師信號)相同,結束學習算法。
反向傳播時,將輸出誤差(期望輸出與實際輸出之差)按原通路反傳計算,通過隱層反向,直至輸入層,在反傳過程中將誤差分攤給各層的各個單元,獲得各層各單元的誤差信號,並將其作為修正各單元權值的根據。這一計算過程使用梯度下降法完成,在不停地調整各層神經元的權值和閾值后,使誤差信號減小到最低限度。
權值和閾值不斷調整的過程,就是網絡的學習與訓練過程,經過信號正向傳播與誤差反向傳播,權值和閾值的調整反復進行,一直進行到預先設定的學習訓練次數,或輸出誤差減小到允許的程度。
BP算法的問題:
1)梯度越來越稀疏,從頂層往下,誤差校正信號越來越小。
2)易陷入局部極小值:BP算法可以使網絡權值收斂到一個最終解,但它並不能保證所求為誤差超平面的全局最優解,也可能是一個局部極小值。
3)訓練時間較長:對於某些特殊的問題,運行時間可能需要幾個小時甚至更長。
4)只能對有標簽的數據進行訓練。
7.深度學習的具體過程:

1)使用自下上升非監督學習(就是從底層開始,一層一層的往頂層訓練):

采用無標定數據(有標定數據也可)分層訓練各層參數,這一步可以看作是一個無監督訓練過程,是和傳統神經網絡區別最大的部分(這個過程可以看作是feature learning過程):

具體的,先用無標定數據訓練第一層,訓練時先學習第一層的參數(這一層可以看作是得到一個使得輸出和輸入差別最小的三層神經網絡的隱層),由於模型capacity的限制以及稀疏性約束,使得得到的模型能夠學習到數據本身的結構,從而得到比輸入更具有表示能力的特征;在學習得到第n-1層后,將n-1層的輸出作為第n層的輸入,訓練第n層,由此分別得到各層的參數;

2)自頂向下的監督學習(就是通過帶標簽的數據去訓練,誤差自頂向下傳輸,對網絡進行微調):

基於第一步得到的各層參數進一步fine-tune整個多層模型的參數,這一步是一個有監督訓練過程;第一步類似神經網絡的隨機初始化初值過程,由於DL的第一步不是隨機初始化,而是通過學習輸入數據的結構得到的,因而這個初值更接近全局最優,從而能夠取得更好的效果;所以deep learning效果好很大程度上歸功於第一步的feature learning過程。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM