16、指數加權平均算法介紹及偏差修正


一、指數加權平均算法介紹

引言

  在了解指數加權平均之前,首先我們需要回顧一下求平均數的相關概念,從而進行進一步理解與引導。

如何求平均數

  平均數求法數學公式:

       

  現在舉例說明:比如我們現在有100天的溫度值,要求這100天的平均溫度值(24,25,24,26,34,28,33,33,34,35..........32),我們可以直接用公式進行運算。

,通過此公式就可以直接求出10天的平均值。而我們要介紹的指數加權平均本質上就是一種近似求平均的方法。

 

指數加權平均介紹

   公式:

  參數說明:

第t天的平均溫度值
第t天的溫度值
可調節的超參數值

  假如=0.9,我們可以得到指數平均公式下的平均值求法如下:

  通過上面表達式,我們可以看到,V100等於每一個時刻天數的溫度值再乘以一個權值。指數加權平均的結果是由當天溫度值乘以指數衰減函數值,然后類和求得!

  本質就是以指數式遞減加權的移動平均。各數值的加權而隨時間而指數式遞減,越近期的數據加權越重,但較舊的數據也給予一定的加權。

而在我們上面提到的普通平均數求法,它的每一項的權值都是一樣的,如果有n項,權值都為1/n。

指數加權平均優勢

  推導過程如下:

  我們可以看到指數加權平均的求解過程實際上是一個遞推的過程,那么這樣就會有一個非常大的好處,每當我要求從0到某一時刻(n)的平均值的時候,我並不需要像普通求解平均值的作為,保留所有的時刻值,類和然后除以n。而是只需要保留0-(n-1)時刻的平均值和n時刻的溫度值即可。也就是每次只需要保留常數值,然后進行運算即可,這對於深度學習中的海量數據來說,是一個很好的減少內存和空間的做法。

 二、指數加權平均算法偏差修正

  我們首先來看一個圖:

  假設β=0.98時,指數加權平均結果如上圖綠色曲線所示。但是實際上,真實曲線如紫色曲線所示,修正這種問題的方法是進行偏移校正(bias correction)。即在每次計算完Vt后,對Vt進行下式處理:

  在剛開始的時候,t比較小,(1βt)<1(1−βt)<1,這樣就將VtVt修正得更大一些,效果是把紫色曲線開始部分向上提升一些,與綠色曲線接近重合。隨着t增大,(1βt)1(1−βt)≈1,Vt基本不變,紫色曲線與綠色曲線依然重合。這樣就實現了簡單的偏移校正,得到我們希望的綠色曲線。
  值得一提的是,機器學習中,偏移校正並不是必須的。因為,在迭代一次次數后(t較大),Vt受初始值影響微乎其微,紫色曲線與綠色曲線基本重合。所以,一般可以忽略初始迭代過程,等到一定迭代之后再取值,這樣就不需要進行偏移校正了。

 

 

參考:https://zhuanlan.zhihu.com/p/29895933


免責聲明!

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



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