指数加权平均法的介绍
展示几个优化算法,指数加权平均是基础(在统计学中被称为指数加权移动平均)。
每一状态都等于前一状态×0.9 + 当前状态×0.1
即:vt = 0.9vt-1 + 0.1vt 。对于v0,我们初始化为0。
当然更常规的公式是vt = β*vt-1 + (1-β)*vt
由该公式可知vt可大概视为1/(1+β)
的每日温度(向前关注)
当β取值越大时,得到的曲线越平缓,因为当前状态它自己占的权重越来越小,而且因此在vt变化时也会出现一些延迟。
在下图中,红线表示β=0.9;绿线表示β=0.98;黄线表示β=0.5。
β为中间值时得到的红线,比起绿线和黄线更好地平均了温度。
指数加权平均法的原理
简单来说,我么有一个数据向量 [v0, v[1], ……, v[t]],对应有一个权重向量 [βt-1(1-β), βt-2(1-β), ……, (1-β)]。然后对应项相乘再求和。
偏差修正
实际我们在β=0.9的时候得到的不是绿线,而是紫线,在开始的时候有较大偏差。原因是我们将v0定为了0。
解决办法是不用vt而用vt/(1-βt)。当t很大时,βt几乎为0,这说明这种偏差修正能在t很小的时候修正误差,而在t很大时几乎没有作用。
吴恩达老师:在机器学习中,在计算指数加权平均数的大部分时候,大家不在乎执行偏差修正,因为大部分人宁愿熬过初始时期,拿到具有偏差的估测,然后继续计算下去。如果你关心初始时期的偏差,在刚开始计算指数加权移动平均数的时候,偏差修正可以帮助你在早期获得更好的估测。