# 입자 필터 이해를 위한 사전 지식 (Prerequisites for Understanding Particle Filter)

***

#### 상태 공간 모델 (State Space Model)

입자 필터를 이해하기 위해서는 먼저 상태 공간 모델(State Space Model)에 대한 이해가 필요하다. 상태 공간 모델은 시간에 따라 변화하는 시스템의 상태를 나타내는 수학적 모델로, 다음의 두 가지 주요 방정식으로 구성된다.

* **상태 전이 방정식 (State Transition Equation)**: 시스템의 현재 상태와 이전 상태 간의 관계를 나타낸다. 이는 시스템이 시간에 따라 어떻게 진화하는지를 설명하며, 일반적으로 다음과 같이 표현된다:

$$
x\_k = f(x\_{k-1}, v\_{k-1})
$$

여기서 $ x\_k $는 시점 $ k $에서의 상태, $ f $는 상태 전이 함수, $ v\_{k-1} $는 시스템 잡음(System Noise)을 나타낸다.

* **관측 방정식 (Observation Equation)**: 시스템의 상태와 관측된 데이터 간의 관계를 나타낸다. 관측된 데이터는 시스템의 상태를 직접적으로 측정한 값이 아니며, 일반적으로 노이즈가 포함된 다음과 같은 형태로 표현된다:

$$
z\_k = h(x\_k, w\_k)
$$

여기서 $ z\_k $는 관측된 값, $ h $는 관측 함수, $ w\_k $는 관측 잡음(Observation Noise)을 나타낸다.

이 두 방정식이 결합되어, 시간에 따른 시스템의 동적 동작을 모델링한다.

#### 베이즈 필터링 (Bayesian Filtering)

입자 필터는 베이즈 필터링(Bayesian Filtering)의 일종이므로, 이에 대한 이해가 필수적이다. 베이즈 필터링은 시간에 따라 변화하는 시스템의 상태를 추정하기 위해 베이즈 정리를 활용한다. 이는 시스템의 이전 상태에 대한 사전 정보와 현재 관측된 데이터를 결합하여 현재 상태의 사후 확률분포(posterior distribution)를 계산하는 과정이다.

베이즈 필터링의 핵심 아이디어는 다음과 같다:

* **사전 확률(Prior Probability)**: 시간 $ k-1 $에서의 상태 $ x\_{k-1} $에 대한 확률 분포를 의미하며, 이는 이전 시점에서의 사후 확률로부터 얻어진다.
* **우도(Likelihood)**: 현재 관측된 데이터 $ z\_k $가 주어졌을 때, 상태 $ x\_k $에서의 관측 확률을 의미한다. 이는 관측 모델에 의해 정의된다.
* **사후 확률(Posterior Probability)**: 주어진 관측 데이터를 바탕으로 현재 상태 $ x\_k $의 확률 분포를 의미한다. 베이즈 정리에 따라 다음과 같이 계산된다:

$$
p(x\_k | z\_{1:k}) = \frac{p(z\_k | x\_k) p(x\_k | z\_{1:k-1})}{p(z\_k | z\_{1:k-1})}
$$

여기서 $ p(z\_k | x\_k) $는 우도, $ p(x\_k | z\_{1:k-1}) $는 예측 분포, $ p(z\_k | z\_{1:k-1}) $는 정규화 상수(Normalization Constant)이다.

#### 몬테카를로 방법 (Monte Carlo Methods)

입자 필터는 몬테카를로 방법(Monte Carlo Methods)에 기반한 필터링 기법이다. 몬테카를로 방법은 확률론적 문제를 해결하기 위해 랜덤 샘플링을 사용하는 수치적 기법이다. 특히, 입자 필터는 시퀀셜 몬테카를로(Sequential Monte Carlo) 방법을 사용하여 상태 공간의 확률 분포를 근사한다.

몬테카를로 방법의 기본 개념은 다음과 같다:

* **샘플링(Sampling)**: 확률 분포로부터 랜덤하게 샘플을 생성하여, 그 샘플들이 전체 분포를 대표할 수 있도록 한다. 입자 필터에서는 이러한 샘플들이 "파티클(particle)"로 불린다.
* **가중치 부여(Weighting)**: 각 파티클에 대해 해당 파티클이 현재 관측 데이터와 얼마나 잘 일치하는지를 나타내는 가중치를 부여한다. 이는 파티클이 실제 상태를 잘 설명하는 정도를 나타낸다.
* **평균 추정(Estimation)**: 모든 파티클의 가중치를 사용하여, 현재 상태에 대한 추정치를 계산한다.

#### 필터링 문제에서의 근사 기법 (Approximation Techniques in Filtering)

입자 필터는 필터링 문제에서 발생하는 복잡한 연산을 근사하기 위해 다양한 근사 기법을 활용한다. 이러한 근사 기법들은 입자 필터의 성능을 크게 좌우하므로, 이들에 대한 이해가 중요하다.

* **입자 근사(Particle Approximation)**: 상태 공간의 실제 확률 분포를 제한된 수의 파티클로 근사한다. 이는 샘플의 개수가 충분히 많다면, 실제 분포를 잘 근사할 수 있음을 보장한다.
* **중요도 샘플링(Importance Sampling)**: 특정 분포에서 직접 샘플링이 어려운 경우, 비교적 샘플링이 쉬운 분포에서 샘플링을 하고, 해당 샘플에 중요도 가중치를 부여하여 실제 분포를 근사하는 기법이다. 입자 필터에서는 이 기법을 사용하여 파티클의 가중치를 갱신한다.
* **정규화 상수(Normalization Constant)**: 입자 필터에서의 중요도 가중치는 보통 정규화 과정을 거치며, 이를 통해 파티클의 가중치가 전체 확률 분포를 잘 반영하도록 한다.

***

관련 자료:

1. Doucet, A., De Freitas, N., & Gordon, N. J. (2001). *Sequential Monte Carlo Methods in Practice*. Springer.
2. Arulampalam, M. S., Maskell, S., Gordon, N., & Clapp, T. (2002). A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking. *IEEE Transactions on signal processing*, 50(2), 174-188.
3. Liu, J. S. (2001). *Monte Carlo Strategies in Scientific Computing*. Springer.
