← 문제 목록/Bias-Corrected EWMA (Adam 스타일)
문제 해설

Bias-Corrected EWMA (Adam 스타일)

최적화 · easy

preview

Bias-Corrected EWMA (Adam 스타일)

EWMA(70번)y0=x0y_0 = x_0 로 시작해 잘 동작합니다. 하지만 Adam 옵티마이저는 관례상 y0=0y_0 = 0 에서 출발 — 초반에 0 쪽으로 편향됩니다. Adam은 매 스텝마다 편향 보정을 적용:

업데이트 규칙

mt=(1α)mt1+αxt,m0=0m_t = (1-\alpha) \cdot m_{t-1} + \alpha \cdot x_t, \quad m_0 = 0

보정된 출력:

m^t=mt1(1α)t\hat{m}_t = \frac{m_t}{1 - (1-\alpha)^{t}}

(여기서 tt 는 1-based step number)

초기 스텝에서 mtm_t 가 작게 나오는 걸 정확히 상쇄합니다 — 충분한 시간 후엔 1(1α)t11 - (1-\alpha)^t \to 1 이므로 보정 계수가 1로 수렴.

과제

함수 bias_corrected_ewma-v1(x, alpha) 를 완성하세요.

  • 초기값 m = 0 (x[0] 아님!).
  • t = 1, 2, ... 에서 업데이트 후 보정값을 출력에 저장.
  • 반환: (N,) — 보정된 m̂_t 들.

테스트 케이스

#이름검증
1상수 입력상수 x 에 대해 m̂_t → x (장기)
2α=1매 스텝 m̂ = x (보정계수 = 1)
3shape 유지
4알려진 값손계산
5초반 편향 없음m̂_1 ≈ x_1 (편향 제거 확인)
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.