가중 평균

일반적으로 평균은 모든 항의 합을 항의 수(count)로 나누는 것으로 정의된다.

$$ \bar{x} \triangleq {1 \over N} \sum_{i=1}^{N} x_i $$

예컨대 1-10까지의 수에 대한 평균은 다음과 같이 계산된다.

$$ \sum_{i=1}^{10} i = {1 + 2 + ... + 10 \over 10} = 5.5 $$

만일 현재 계산된 평균 값이 있을 때 새로운 값, 예컨대 위의 경우에 11이 추가된다면 평균값을 어떻게 업데이트해야 할까? 가장 간단한 것은 다음과 같이 모든 항에 대해 다시 합을 구하고 11로 나누는 것이다.

$$ \sum_{i=1}^{11} i = {1 + 2 + ... + 10 + 11 \over 11} = 6 $$

항의 수가 작다면 간단하겠지만 항의 수가 천단위나 만단위 이상 많아지면 매번 모든 항의 합을 계산하는 것이 번거롭다. 기존 평균값과 count의 곱을 이용하면 새로운 값이 추가될 때 다음과 같이 보다 간편하게 평균을 업데이트 할 수 있다.

$$ {\text{기존 평균} \times \text{기존 count} + \text{새로운 값} \over \text{기존 count + 1}} $$

기존 평균과 기존 count를 곱해서 총 합을 계산 한 후에 새로운 값을 더하고 count + 1로 나누는 것으로 매우 직관적이다. 이제 기존 평균을 $\text{old value}$, 추가 되는 값을 $\text{added value}$ 라 하고, (형식을 맞추기 위해) 기존 count + 1을 $N$이라 하면 위의 식을 다음처럼 작성할 수 있다.

$$ \begin{aligned} \text{new value} &= {(N-1) \times \text{old value} + \text{added value} \over N} \\ &= {(N-1) \times \text{old value} \over N} + { \text{added value} \over N} \\ &= {(N-1) \over N} \times \text{old value} + { 1 \over N} \times \text{added value} \\ &= \left({N \over N } - {1 \over N}\right) \times \text{old value} + { 1 \over N} \times \text{added value} \\ &= \left(1 - {1 \over N}\right) \times \text{old value} + { 1 \over N} \times \text{added value} \end{aligned} $$

위의 식에서 ${1 \over N} = \alpha$라 치환하면 다음 식과 같이 작성할 수 있다.

$$ \text{new value} = (1-\alpha) \times \text{old value} + \alpha \times \text{added value} $$

이것은 가중 평균의 형식이다. 여기서 $\alpha$는 기존 값과 추가되는 값의 비중을 조절해서 값을 업데이트하는 가중치의 역할을 수행한다. $N$이 count이므로 양수이므로 $\alpha$는 자연스럽게 $0 < \alpha \le 1$가 된다. $N$이 작을 수록 $\alpha$는 $1$에 가까워지고 $N$이 커질 수록 $\alpha$는 0에 가까워진다.

Time Step 형식

time step으로 구분되는 업데이트 경우에도 이러한 형식을 사용할 수 있다. 이것은 현시점 $t$에 어떤 값이 더해져서 다음 시점 $t+1$로 넘어가는 형태가 된다.

$$ y_{t+1} = (1-\alpha)y_t + \alpha \cdot \Delta_t $$

지수 형식

지수 함수 형태에 대해서는 $\alpha$ 파라미터만으로 $(1-\alpha), \alpha$로 하기보다는 $\alpha, \beta$ 2개의 파라미터를 사용해서 다음처럼 최대값 $\max(\alpha, \beta)$을 빼는 사용하는 형식을 사용한다.

$$ \text{new value} = e^{\alpha - \max(\alpha, \beta)} \times \text{old value} + e^{\beta - \max(\alpha, \beta)} \times \text{added value} $$