指數加權平均的偏差修正(Bias correction in exponentially weighted averages)
你學過了如何計算指數加權平均數,有一個技術名詞叫做偏差修正,可以讓平均數運算更加準確,來看看它是怎麼運行的。
v_t=βv_(t-1)+(1-β)θ_t
在上一個筆記中,這個(紅色)曲線對應β的值為0.9,這個(綠色)曲線對應的β=0.98,如果你執行寫在這裡的公式,在β等於0.98的時候,得到的並不是綠色曲線,而是紫色曲線,你可以注意到紫色曲線的起點較低,我們來看看怎麼處理。
計算移動平均數的時候,初始化v_0=0,v_1=0.98v_0+0.02θ_1,
但是v_0=0,所以這部分沒有了(0.98v_0),所以v_1=0.02θ_1,
所以如果一天溫度是40華氏度,那麼v_1=0.02θ_1=0.02×40=8,因此得到的值會小很多,所以第一天溫度的估測不準。
v_2=0.98v_1+0.02θ_2,如果代入v_1,然後相乘,所以
v_2=0.98×0.02θ_1+0.02θ_2=0.0196θ_1+0.02θ_2,假設θ_1和θ_2都是正數,計算後v_2要遠小於θ_1和θ_2,所以v_2不能很好估測出這一年前兩天的溫度。
有個辦法可以修改這一估測,讓估測變得更好,更準確,特別是在估測初期,也就是不用v_t,而是用v_t/(1-β^t ),t就是現在的天數。
舉個具體例子,當t=2時,1-β^t=1-〖0.98〗^2=0.0396,因此對第二天溫度的估測變成了v_2/0.0396=(0.0196θ_1+0.02θ_2)/0.0396,也就是θ_1和θ_2的加權平均數,並去除了偏差。
你會發現隨著t增加,β^t接近於0,所以當t很大的時候,偏差修正幾乎沒有作用,因此當t較大的時候,紫線基本和綠線重合了。不過在開始學習階段,你才開始預測熱身練習,偏差修正可以幫助你更好預測溫度,偏差修正可以幫助你使結果從紫線變成綠線。
在機器學習中,在計算指數加權平均數的大部分時候,大家不在乎執行偏差修正,因為大部分人寧願熬過初始時期,拿到具有偏差的估測,然後繼續計算下去。如果你關心初始時期的偏差,在剛開始計算指數加權移動平均數的時候,偏差修正能幫助你在早期獲取更好的估測。
所以你學會了計算指數加權移動平均數,我們接著用它來構建更好的優化算法吧!
閱讀更多 極客Array 的文章