✍️
mathematics_basic_for_ML
  • README
  • README
    • Summary
    • Geometry
      • EulerAngle
      • Gimbal lock
      • Quaternion
      • RiemannianManifolds
      • RotationMatrix
      • SphericalHarmonics
    • Information
      • Divergence
      • 信息熵 entropy
    • LinearAlgebra
      • 2D仿射变换(2D Affine Transformation)
      • 2DTransformation
      • 3D变换(3D Transformation)
      • ComplexTransformation
      • Conjugate
      • Hessian
      • IllConditioning
      • 逆变换(Inverse transform)
      • SVD
      • det
      • eigendecomposition
      • 矩阵
      • norm
      • orthogonal
      • special_matrix
      • trace
      • vector
    • Mathematics
      • Complex
      • ExponentialDecay
      • average
      • calculus
      • convex
      • derivative
      • 距离
      • function
      • space
      • Formula
        • euler
        • jensen
        • taylor
        • trigonometric
    • Numbers
      • 几何级数
      • SpecialNumbers
    • NumericalComputation
      • ConstrainedOptimization
      • GradientDescent
      • Newton
      • Nominal
      • ODE_SDE
      • Preprocessing
    • Probability
      • bayes
      • distribution
      • expectation_variance
      • 贝叶斯公式
      • functions
      • likelihood
      • mixture_distribution
      • 一些术语
      • probability_distribution
Powered by GitBook
On this page
  • 指数加权平均
  • 指数衰减
  • 优点
  • 修正偏差
  • 参考资料

Was this helpful?

  1. README
  2. Mathematics

ExponentialDecay

指数加权平均

Vt=βVt−1+(1−β)θtV_t = \beta V_{t-1} + (1-\beta)\theta_tVt​=βVt−1​+(1−β)θt​

$\theta_t$代表真实测量数据 $V_t \approx \frac{1}{1-\beta}$个过去的$\theta$的平均。 当$\beta$较大时,V曲线抖动变小,但V曲线和$\theta$曲线相比往右偏移(适应更缓慢)。 当$\beta$较小时,V曲线抖动变大,但V曲线与$\theta$曲线更贴近。

指数衰减

将Vt公式展开得:

Vt=(1−β)θt+(1−β)βθt−1+(1−β)β2θt−1+⋯=∑i=0t(1−β)βiθt−i\begin{aligned} V_t &=& (1-\beta)\theta_t + (1-\beta)\beta\theta_{t-1} + (1-\beta)\beta^2\theta_{t-1} + \cdots \\ &=& \sum_{i=0}^t(1-\beta)\beta^i\theta_{t-i} \end{aligned}Vt​​==​(1−β)θt​+(1−β)βθt−1​+(1−β)β2θt−1​+⋯i=0∑t​(1−β)βiθt−i​​

每个$\theta$的系数为\beta的指数,因此称为指数加权平均。 当有新的$\theta$过来时,旧的$\theta$呈指数衰减。

公式中t代表当前时间,i代表距离t有多远

(1−β)1β=β(11−β)=1e≈0.35(1-\beta)^{\frac{1}{\beta}} = \beta^{(\frac{1}{1-\beta})} = \frac{1}{e} \approx 0.35(1−β)β1​=β(1−β1​)=e1​≈0.35

当$i > \frac{1}{1-\beta}$时,$\theta_{t-i}$对Vt的影响很少(少于$\frac{1}{e}$),认为不重要,因此说$V_t \approx \frac{1}{1-\beta}$个过去的$\theta$的平均。

优点

目的是求过去n个值的平均值,相比于“过去n个值加以前再除以n”的方法,优点如下:

  1. low memory: 不需要真的存储过去的n个值。

  2. efficiency: 计算更简单,只是一个公式一行代码。

修正偏差

Vt=Vt1−βtV_t = \frac{V_t}{1-\beta^t}Vt​=1−βtVt​​

当t比较小时,公式对Vt有很大的修改。 当t比较大时,Vt几乎无修正效果。

Note:修正只对初始阶段有效果。如果不care初始阶段的效果,可以不修正。

参考资料

  1. https://blog.csdn.net/zhufenghao/article/details/80879260

  2. Ng的视频

PreviousComplexNextaverage

Last updated 2 years ago

Was this helpful?

上面为原始数据,下面是权重。这张图让我想到了DSP里面的激励信号*原始信号,以前都无法理解信号里的卷积,现在看来好像是有点道理的。

目的:让指数加权平均的计算更准确 图中绿线和紫线的$\beta$相同。其中绿线为做过修改的加权平均,紫线未做修正的加权平均。区别在于紫线的起点较低。 修改方法为: