指數加權平均數


1. 什么是指數加權平均

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

它的計算公式如下:

其中,

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

例如:

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

 

直接看上面的數據圖會發現噪音很多,

這時,我們可以用 指數加權平均 來提取這組數據的趨勢,

按照前面的公式計算:

這里先設置 β = 0.9,首先初始化 V_0 = 0,然后計算出每個 V_t:

  

將計算后得到的 V_t 表示出來,就得到紅色線的數值:

 

可以看出,紅色的數據比藍色的原數據更加平滑,少了很多噪音,並且刻畫了原數據的趨勢。

指數加權平均,作為原數據的估計值,不僅可以 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 的效果就很好



 
 

 


免責聲明!

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



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