칼만필터 알고리즘은 제어 시스템에서 시작되었습니다. 제어시스템에서 칼만필터의 역할은 State equation에 Noise가 발생했을 때, Noise를 제거하고 State를 예측합니다. (State equation에 대한 내용은 여기를 참조 해주세요.) 노이즈는 데이터가 튀게 만드는 성질이 있습니다. 즉, 칼만필터는 튀는 데이터를 제거하는 역할을 한다고 할 수 있습니다.이러한 성질을 응용하여 칼만필터가 Learning Equation에 응용됩니다. Moving Average https://www.investopedia.com/terms/e/ema.asp Data가 정상적으로 들어오다가 갑자기 튀는 Noise들을 생각해볼 수 있습니다. 이러한 Noise의 영향을 최소화 하기 위해서 근처에 10개의 Data만 가지고 평균 값 계산한다고 하면 다음과 같이 써줄 수 있을 것입니다. \mu_k=\sum_{i=1+k}^{k+10} \frac{x_i}{10} incremental mean을 이용해서 풀어주게 되면, 머신러닝에서 쓰이는 간단한 형태의 식으로 표현이 가능해집니다. \mu_k = \mu_{k-1} +\frac{1}{n}(x_k-x_{k-n}) 모든 데이터에 동일한 가중치가 부여된다고 볼 수 있습니다. 여기서, 최신에 들어오는 데이터에 가중치를 더 주게되면 최신 데이터 위주로 평균 값이 나타나게 될 것입니다. 이를 Exponential Weighted Filter라고 불러주기도 합니다. \begin {aligned}\mu_k &=\mu_{k-1}*\alpha +(1-\alpha)x_k \\\mu_{k-1} &=\mu_{k-2}*\alpha +(1-\alpha)x_{k-1} \\ \mu_k &= \alpha^k\mu_0 +(1-\alpha)x_k+\alpha (1-\alpha)x_k+ \cdots \\\therefore \mu_k &= \alpha^k\mu_0 + \sum_{n=0}^{k-1} \alpha^n(1-\alpha)x_{...