吳恩達深度學習筆記(40)-指數加權平均數優化算法

指數加權平均數(Exponentially weighted averages)

我想向你展示幾個優化算法,它們比梯度下降法快,要理解這些算法,你需要用到指數加權平均,在統計中也叫做指數加權移動平均,

我們首先講這個,然後再來講更復雜的優化算法。

雖然現在恩達老師生活在美國,實際上恩達老師生於英國倫敦。比如這兒有去年倫敦的每日溫度,所以1月1號,溫度是40華氏度,相當於4攝氏度。

世界上大部分地區使用攝氏度,但是美國使用華氏度。在1月2號是9攝氏度等等。在年中的時候,一年365天,年中就是說,大概180天的樣子,也就是5月末,溫度是60華氏度,也就是15攝氏度等等。夏季溫度轉暖,然後冬季降溫。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

你用數據作圖,可以得到以下結果,起始日在1月份,這裡是夏季初,這裡是年末,相當於12月末。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

這裡是1月1號,年中接近夏季的時候,隨後就是年末的數據,看起來有些雜亂,如果要計算趨勢的話,也就是溫度的局部平均值,或者說移動平均值

吳恩達深度學習筆記(40)-指數加權平均數優化算法

你要做的是,首先使v_0=0,每天,需要使用0.9的加權數之前的數值加上當日溫度的0.1倍,即v_1=0.9v_0+0.1θ_1,所以這裡是第一天的溫度值。

第二天,又可以獲得一個加權平均數,0.9乘以之前的值加上當日的溫度0.1倍,即v_2=0.9v_1+0.1θ_2,以此類推。

第二天值加上第三日數據的0.1,如此往下。大體公式就是某天的v等於前一天v值的0.9加上當日溫度的0.1。

如此計算,然後用紅線作圖的話,便得到這樣的結果。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

你得到了移動平均值,每日溫度的指數加權平均值。

看一下上一張幻燈片裡的公式,v_t=0.9v_(t-1)+0.1θ_t,我們把0.9這個常數變成β,將之前的0.1變成(1-β),即v_t=βv_(t-1)+(1-β)θ_t

吳恩達深度學習筆記(40)-指數加權平均數優化算法

由於以後我們要考慮的原因,在計算時可視v_t大概是1/((1-β))的每日溫度,如果β是0.9,你會想,這是十天的平均值,也就是紅線部分。

我們來試試別的,將β設置為接近1的一個值,比如0.98,計算1/((1-0.98))=50,這就是粗略平均了一下,過去50天的溫度,這時作圖可以得到綠線。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

這個高值β要注意幾點,你得到的曲線要平坦一些,原因在於你多平均了幾天的溫度,所以這個曲線,波動更小,更加平坦,缺點是曲線進一步右移,因為現在平均的溫度值更多,要平均更多的值,指數加權平均公式在溫度變化時,適應地更緩慢一些,所以會出現一定延遲,因為當β=0.98,相當於給前一天的值加了太多權重,只有0.02的權重給了當日的值,所以溫度變化時,溫度上下起伏,當β 較大時,指數加權平均值適應地更緩慢一些。

我們可以再換一個值試一試,如果β是另一個極端值,比如說0.5,根據右邊的公式(1/((1-β))),這是平均了兩天的溫度。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

作圖運行後得到黃線。

吳恩達深度學習筆記(40)-指數加權平均數優化算法

由於僅平均了兩天的溫度,平均的數據太少,所以得到的曲線有更多的噪聲,有可能出現異常值,但是這個曲線能夠更快適應溫度變化

所以指數加權平均數經常被使用,再說一次,它在統計學中被稱為指數加權移動平均值,我們就簡稱為指數加權平均數。通過調整這個參數(β),或者說後面的算法學習,你會發現這是一個很重要的參數,可以取得稍微不同的效果,往往中間有某個值效果最好,β為中間值時得到的紅色曲線,比起綠線和黃線更好地平均了溫度。

現在你知道計算指數加權平均數的基本原理,下一個筆記中,我們再聊聊它的本質作用。


分享到:


相關文章: