1. 정의(Definition)
지난 포스팅에서는 다른 파라미터 추정 방식으로 적률추정법(MOM)에 대해서 알아보았습니다. 오늘은 다른 방식으로 온라인 추정(Online Estimation) 또는 재귀 추정(Recursive Estimation)에 대해서 알아보도록 하겠습니다. 기본적인 개념은 데이터가 실시간으로 입력된다고 가정했을 때 파라미터를 갱신하는 법을 의미합니다.
이를 이해하기 위해서는 배치(Batch) 학습과 온라인(Online) 학습의 차이부터 이해해야합니다. 배치학습은 학습을 시작하기 전에 모든 훈련 데이터셋 $\mathcal{D}$가 준비되어있고 온라인 학습은 끝없이 스트림 형태로 도착하여 $\mathcal{D} = \{ y_{1}, y_{2}, \dots \}$와 같이 관측치가 순차적으로 추가되고 언제 끝날 지 알 수 없습니다. 온라인 상황에서는 한 샘플이 들어올 때마다 파라미터를 작게 그리고 빠르게 업데이트 해야하죠.
$t - 1$ 번째 샘플까지 본 뒤의 파라미터 추정치를 $\hat{\theta}_{t - 1}$이라고 하겠습니다. 그러면 새로운 다음 샘플 $y_{t}$가 도착했을 때 상수 시간 $\mathcal{O}(1)$ 안에 다음 추정치 $\hat{\theta}_{t}$를 계산하려면 $\hat{\theta}_{t} = f(\hat{\theta}_{t - 1}, y_{t})$ 꼴의 재귀 규칙을 찾아야합니다. 즉, “이전 추정치 + 새 데이터 한 점”만 있으면 즉시 갱신이 이루어지게 되는 것이죠.
기본적으로 온라인 학습만 구현되면 다양한 장점이 존재합니다. 일단, 모든 데이터를 준비할 필요가 없으므로 메모르가 절약되며 매 업데이트가 동일한 작은 계산량으로 끝나기 때문에 빠른 속도를 보장합니다. 예를 들어 단순한 평균 갱신인 $\hat{\mu}_{t} = \hat{\mu}_{t - 1} + \frac{1}{t} (y_{t} - \hat{\mu}_{t - 1})$로 설정하는 것이 가장 대표적인 예시입니다. 이때, 베르누이 성공확률, 포아송 평균, 이동 평균/분산 등 대부분 “충분통계량”이 존재하는 분포에서 비슷한 식을 만들 수 있습니다.
2. 단변량 가우시안 분포 평균의 재귀 MLE(recursive MLE for the mean of a Gaussian)
단변량 가우시안 분포 $Y \sim \mathcal{N}(\mu, \sigma^{2})$에서 $t$번째 샘플까지 모두 모아서 한꺼번에 모아서 계산하는 배치 학습의 경우 평균 MLE는 다음과 같습니다.
$$\hat{\mu}_{t} = \frac{1}{t} \sum_{n = 1}^{t} y_{n}$$
즉, 관측치의 합계를 관측된 샘플의 개수로 나눈 값을 의미하죠. 이를 재귀식으로 변환해보도록 하겠습니다. 이 식에서 합인 $\sum_{n = 1}^{t} y_{n}$을 $(t - 1)$개들의 샘플과 새로운 샘플 $y_{t}$로 쪼개면 다음과 같습니다.
$$\hat{\mu}_{t} = \frac{1}{t} \left[ (t - 1)\hat{\mu}_{t - 1} + y_{t} \right] = \hat{\mu}_{t - 1} + \frac{1}{t} (y_{t} - \hat{\mu}_{t - 1})$$
여기서 $y_{t} - \hat{\mu}_{t - 1}$을 보정항(Correlation Term)이라고 부르고 $\frac{1}{t}$를 학습률(Step Size)라고 부릅니다. 이 식은 기본적으로 이동 평균(moving average) 공식과 동일합니다. 시간이 흐를수록 $\frac{1}{t}$가 작아져서 새 샘플이 전체 평균에 미치는 영향이 점점 감소합니다. 즉, 표본 수가 충분히 많다면 평균이 안정된다는 뜻입니다.
그런데 데이터 분포 자체가 서서히 변한다면(예: 센서 드리프트, 사용자 트렌드 변화) “최근 값”에 좀 더 가중치를 줘야 합니다. 이를 위해 고정된 학습률을 부여하거나 지수가중 이동평균(Exponentially-Weighted Moving Average; EWMA)과 같은 기법을 도입해야합니다.
3. 지수가중 이동평균(Exponentially-Weighted Moving Average; EWMA)
저희가 이전에 보았던 단변량 가우시안 분포의 온라인 업데이트 식에서 모든 과거 샘플들은 동일한 가중치 $\frac{1}{t}$로 평균에 반영되어 있습니다. 하지만 최근 데이터가 더 중요할 때가 많습니다. 이를 위해 최근 샘플일 수록 더 큰 가중치를 두는 지수가중 이동평균(EWMA)를 사용할 수 있습니다. 일단 기본적인 업데이트 식은 다음과 같습니다.
$$\hat{\mu}_{t} = \beta \hat{\mu}_{t - 1} + (1 - \beta)y_{t}$$
$0 < \beta < 1$인 감쇠 계수(Decay Factor)라고 불리며 $\beta$가 클수록 과거 정보를 천천히 잃습니다. 반면에 $\beta$가 작을수록 과거를 빨리 잊고 새로운 데이터에 민감해집니다. 이 식을 좀 더 풀어보도록 하겠습니다.
$$\begin{align} \hat{\mu}_t &= \beta\,\hat{\mu}_{t-1} + (1-\beta)\,y_t \\ &= \beta^2\,\hat{\mu}_{t-2} + \beta(1-\beta)\,y_{t-1} + (1-\beta)\,y_t \\ &\ \,\vdots \\ &= \beta^t\,y_0 + (1-\beta)\,\beta^{\,t-1}y_1 + \dots + (1-\beta)\,\beta\,y_{t-1} + (1-\beta)\,y_t. \end{align}$$
그러면 $k$ 스텝 전 데이터 $y_{t - k}$의 가중치는 $(1 - \beta) \beta^{k}$입니다. 즉, 지수적으로 $\beta^{k}$만큼 감소해서 과거 데이터가 점차 덜 반영됩니다. 그리고 등비수열의 공식을 이용하면 다음과 같이 가중치 합을 계산해볼 수 있습니다.
$$\beta^{t} + \beta^{t - 1} + \cdots + \beta^{1} + \beta^{0} = \frac{1 - \beta^{t + 1}}{1 - \beta}$$
따라서, 다음과 깉이 풀어서 쓸 수 있죠.
$$(1 - \beta) \sum_{k = 0}^{t} \beta^{k} = (1 - \beta) \frac{1 - \beta^{t + 1}}{1 - \beta} = 1 - \beta^{t + 1}$$
그런데 $0 < \beta < 1$이므로 $t \rightarrow \infty$일수록 $\beta^{t + 1} \rightarrow 0$이 됩니다. 즉, 시간이 흐를수록 총 가중치가 1에 수렴하게 됩니다. 작은 $\beta$라면 $\beta^{t + 1}$가 더 빠르게 0에 수렴하게 되여 과거를 빨리 잊게 되는 것이죠.
하지만 EWMA를 0에서 시작하면 첫 구간에선 평균이 너무 잡게 잡힐 수도 있습니다. 이를 해결하기 위해 편향 보정 (bias correction)을 도입할 수 있습니다.
$$\tilde{\mu}_{t} = \frac{\hat{\mu}_{t}}{1 - \beta^{t}}$$

그러면 그림 4.3에서 보이는 것과 같이 어느정도 보정된 결과를 얻을 수 있습니다.
'인공지능 > Probabilistic Machine Learning (intro)' 카테고리의 다른 글
| [PML intro] Ch4 Statistics (Sec4.5 Regularization - 2) (1) | 2025.07.11 |
|---|---|
| [PML intro] Ch4 Statistics (Sec4.5 Regularization - 1) (1) | 2025.07.10 |
| [PML intro] Ch4 Statistics (Sec4.4 Other Estimation Methods - 1) (1) | 2025.07.08 |
| [PML intro] Ch4 Statistics (Sec4.3 Empirical risk minimization (ERM)) (0) | 2025.07.08 |
| [PML intro] Ch4 Statistics (Sec4.2 Maximum Likelihood Estimation (MLE) - 3) (0) | 2025.07.01 |