指數加權平均數

1. 什麼是指數加權平均

指數加權平均(exponentially weighted averges),也叫指數加權移動平均,是一種經常使用的序列數據處理方式。算法

它的計算公式以下:函數

其中,學習

  • θ_t:爲第 t 天的實際觀察值,
  • V_t: 是要代替 θ_t 的估計值,也就是第 t 天的指數加權平均值,
  • β: 爲 V_{t-1} 的權重,是可調節的超參。( 0 < β < 1 )

例如:優化

咱們有這樣一組氣溫數據,圖中橫軸爲一年中的第幾天,縱軸爲氣溫:spa

 

直接看上面的數據圖會發現噪音不少,3d

這時,咱們能夠用 指數加權平均 來提取這組數據的趨勢,orm

按照前面的公式計算:blog

這裏先設置 β = 0.9,首先初始化 V_0 = 0,而後計算出每一個 V_t:io

  

將計算後獲得的 V_t 表示出來,就獲得紅色線的數值:form

 

能夠看出,紅色的數據比藍色的原數據更加平滑,少了不少噪音,而且刻畫了原數據的趨勢。

指數加權平均,做爲原數據的估計值,不只能夠 1. 撫平短時間波動,起到了平滑的做用,

 

能夠看出,紅色的數據比藍色的原數據更加平滑,少了不少噪音,而且刻畫了原數據的趨勢。

指數加權平均,做爲原數據的估計值,不只能夠 1. 撫平短時間波動,起到了平滑的做用,

 

 

2. 爲何在優化算法中使用指數加權平均

上面提到了一些 指數加權平均 的應用,這裏咱們着重看一下在優化算法中的做用。

以 Momentum 梯度降低法爲例,

Momentum 梯度降低法,就是計算了梯度的指數加權平均數,並以此來更新權重,它的運行速度幾乎老是快於標準的梯度降低算法

這是爲何呢?

讓咱們來看一下這個圖,

 

 

例如這就是咱們要優化的成本函數的形狀,圖中紅點就表明咱們要達到的最小值的位置,
假設咱們從左下角這裏出發開始用梯度降低法,那麼藍色曲線就是一步一步迭代,一步一步向最小值靠近的軌跡。

能夠看出這種上下波動,減慢了梯度降低法的速度,並且沒法使用更大的學習率,由於若是用較大的學習率,可能會偏離函數的範圍。

若是有一種方法,可使得在縱軸上,學習得慢一點,減小這些擺動,可是在橫軸上,學習得快一些,快速地從左向右移移向紅點最小值,那麼訓練的速度就能夠加快不少。

這個方法就是動量 Momentum 梯度降低法,它在每次計算梯度的迭代中,對 dw 和 db 使用了指數加權平均法的思想


這樣咱們就能夠獲得如圖紅色線的軌跡:

 

 
 
 能夠看到:
縱軸方向,平均過程當中正負擺動相互抵消,平均值接近於零,擺動變小,學習放慢。
橫軸方向,由於全部的微分都指向橫軸方向,所以平均值仍然較大,向最小值運動更快了。
在抵達最小值的路上減小了擺動,加快了訓練速度。

 

3. β 如何選擇?

根據前面的計算式子:

 
 

V_{100} 展開獲得:

 
 

這裏能夠看出,V_t 是對天天溫度的加權平均,之因此稱之爲指數加權,是由於加權係數是隨着時間以指數形式遞減的,時間越靠近,權重越大,越靠前,權重越小。

 
 

再來看下面三種狀況:

當 β = 0.9 時,指數加權平均最後的結果如圖紅色線所示,表明的是最近 10 天的平均溫度值;
當 β = 0.98 時,指結果如圖綠色線所示,表明的是最近 50 天的平均溫度值;
當 β = 0.5 時,結果以下圖黃色線所示,表明的是最近 2 天的平均溫度值;

 
 
 
 

β 越小,噪音越多,雖然可以很快的適應溫度的變化,可是更容易出現奇異值。

β 越大,獲得的曲線越平坦,由於多平均了幾天的溫度,這個曲線的波動更小。
但有個缺點是,由於只有 0.02 的權重給了當天的值,而以前的數值權重佔了 0.98 ,
曲線進一步右移,在溫度變化時就會適應地更緩慢一些,會出現必定延遲。

經過上面的內容可知,β 也是一個很重要的超參數,不一樣的值有不一樣的效果,須要調節來達到最佳效果,通常 0.9 的效果就很好

相關文章
相關標籤/搜索