通俗理解指數加權平均

前言

在深度學習優化演算法中,我們會涉及到指數加權平均這個概念,下面我將通過例子來一步一步引出這個概念。

平均數求法

比如我們現在有100天的溫度值,要求這100天的平均溫度值。

24,25,24,26,34,28,33,33,34,35..........32。

我們直接可以用公式:

v_{aver}=frac{v_{1}+...+v_{100}}{100}

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

指數加權平均

我們現在直接給出公式: v_{t}=eta*v_{t-1}+(1-eta)	heta_{t}

其中 v_{t}代表到第t天的平均溫度值	heta_{t}代表第t天的溫度值 eta代表可調節的超參數值

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

化簡開得到如下表達式:

通過上面表達式,我們可以看到,V100等於每一個時刻天數的溫度值再乘以一個權值。

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

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

指數加權平均的本質還可以用下圖表示:

指數加權平均的結果是由當天溫度值乘以指數衰減函數值,然後類和求得!

指數加權平均的優勢

那麼指數加權平均法有什麼好處呢?首先我們來看它的實現:

我們可以看到指數加權平均的求解過程實際上是一個遞推的過程,那麼這樣就會有一個非常大的好處,每當我要求從0到某一時刻(n)的平均值的時候,我並不需要像普通求解平均值的作為,保留所有的時刻值,類和然後除以n。

而是只需要保留0-(n-1)時刻的平均值和n時刻的溫度值即可。也就是每次只需要保留常數值,然後進行運算即可,這對於深度學習中的海量數據來說,是一個很好的減少內存和空間的做法。

參考: 圖片來自於吳恩達老師DeepLearning.ai課程slides

推薦閱讀:

【數據分析·實戰】真的是價格越高,越好吃嗎?
客戶關係管理CRM和數據挖掘結合,有沒有人做過比較成功的案例,能否分享一下?
pandas怎樣處理中文?
哪個網站可以找到本年度的各項經濟數據?
計算機專業學生如何在金融行業和數據挖掘之間做出抉擇?

TAG:机器学习 | 深度学习DeepLearning | 数据挖掘 |