機器學習中常用的10大算法概要

前言

本文內容來自對Andrew Ng DeepLearning courses的整理,以及結合自己的理解。

 

1.反向傳播

        首先反向傳播是基於基於正向傳播而言的,簡單的來說是一種錯誤糾正模式。例如,很多人玩過的多人傳話的遊戲,從開始傳話的人說一句話,一直傳到最後一個人,有可能最後一個人表達出他所聽到的話與一開始的人說的話完全不符。顯而易見錯誤和偏差就這樣一級一級產生了。以上舉例可以增強對神經網絡的理解。但是真正情況不是這樣線性的一種正向傳播和反向傳播,而是有多條路徑。從理論上來講,反向傳播是一種計算函數偏導數(或梯度)的簡單方法,它的形式是函數組合(如神經網絡)。在使用基於梯度的方法求解最優化問題(梯度下降只是其中之一)時,需要在每次迭代中計算函數梯度。 對於一個神經網絡,其目標函數是組合形式。那麼應該如何計算梯度呢?有2種常規方法:

(1)微分解析法。函數形式已知的情況下,只需要用鏈式法則(基礎微積分)計算導數。

(2)有限差分法近似微分。這種方法運算量很大,因爲函數評估的數量級是 O(N),其中 N 是參數的個數。與微分解析法相比,這種方法運算量更大,但是在調試時,通常會使用有限差分驗證反向傳播的效果。

            

2.隨機梯度下降

       通俗來講梯度下降的一個直觀理解就是想象一條源自山頂的河流。這條河流會沿着山勢的方向流向山麓的最低點,而這也正是梯度下降法的目標。但是這條河流可能在半山腰遇到一個低窪處,將所有的水都流入了這個地方。在機器學習術語中,這種坑窪稱爲局部最優解,而我們所期望的最理想的情況就是河流在到達最終目的地(最低點)之前不會停下。在機器學習中,這等價於我們已經找到了從初始點(山頂)開始行走的全局最小值(或最優值)。對於“低窪”的局部最優解,梯度下降算法很容易卡在局部最小值。但是,如果能夠找到一個特殊的山地形狀(比如碗狀,術語稱作凸函數),那麼算法總是能夠找到最優點。在進行最優化時,遇到這些特殊的地形(凸函數)自然是最好的。另外,山頂初始位置(即函數的初始值)不同,最終到達山底的路徑也完全不同。同樣,不同的流速(即梯度下降算法的學習速率或步長)也會導致到達目的地的方式有差異。是否會陷入或避開一個坑窪(局部最小值),都會受到這兩個因素的影響。

      https://img2.mukewang.com/5c06362a00014d8706900512.jpg

 

3、學習率衰減

        調整隨機梯度下降優化算法的學習速率可以提升性能並減少訓練時間。這被稱作學習率退火或自適應學習率。訓練中最簡單也最常用的學習率自適應方法就是逐漸降低學習率。在訓練初期使用較大的學習率,可以對學習率進行大幅調整;在訓練後期,降低學習率,以一個較小的速率更新權重。這種方法在早期可以快速學習獲得較好的權重,並在後期對權重進行微調。  兩個流行而簡單的學習率衰減方法如下: 

(1)線性地逐步降低學習率 

(2)在特定時點大幅降低學習率

https://img1.mukewang.com/5c0636580001f7f106000337.jpg

4.Dropout

       簡單的來說就是去其糟粕,留其精華。 擁有大量參數的深度神經網絡是非常強大的機器學習系統。然而,在這樣的網絡中,過擬合是一個很嚴重的問題。而且大型網絡的運行速度很慢,這就使得在測試階段通過結合多個不同的大型神經網絡的預測來解決過擬合問題是很困難的。Dropout 方法可以解決這個問題。

      其主要思想是,在訓練過程中隨機地從神經網絡中刪除單元(以及相應的連接),這樣可以防止單元間的過度適應。訓練過程中,在指數級不同“稀疏度”的網絡中剔除樣本。在測試階段,很容易通過使用具有較小權重的單解開網絡(single untwined network),將這些稀疏網絡的預測結果求平均來進行近似。這能有效地避免過擬合,並且相對於其他正則化方法能得到更大的性能提升。Dropout 技術已經被證明在計算機視覺、語音識別、文本分類和計算生物學等領域的有監督學習任務中能提升神經網絡的性能,並在多個基準數據集中達到最優秀的效果。

https://img3.mukewang.com/5c0636700001b21806140328.jpg

5.最大池化

       最大池化就是對圖片採樣,  最大池是一種基於樣本的離散化方法。目標是對輸入表徵(圖像、隱藏層輸出矩陣等)進行下采樣,降低維度並且允許對子區域中的特徵進行假設。通過提供表徵的抽象形式,這種方法可以在某種程度上解決過擬合問題。同樣,它也通過減少學習參數的數目以及提供基本的內部表徵轉換不變性來減少計算量。最大池是通過將最大過濾器應用於通常不重疊的初始表徵子區域來完成的。詳細解釋池化

 

待續;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章