# 입자 필터 (Particle Filter)

#### 개요

입자 필터(Particle Filter)는 비선형(non-linear) 및 비가우시안(non-Gaussian) 상태 공간 모델에서의 상태 추정 문제를 해결하기 위해 사용되는 강력한 시퀀셜 몬테카를로(SMC, Sequential Monte Carlo) 방법이다. 이는 확률론적 필터링 기법으로, 상태의 확률 분포를 대략적으로 나타내기 위해 다수의 "파티클(particle)"이라 불리는 샘플 집합을 사용한다. 입자 필터는 Kalman 필터와 비교하여 비선형성과 비가우시안성에 대한 제약이 거의 없다는 점에서 특히 유리하다.

#### 입자 필터의 기본 개념

입자 필터는 상태 공간 모델에서 잠재 상태(latent state)를 추정하기 위한 베이즈 필터링 방법론이다. 이 과정은 다음의 네 가지 주요 단계로 구성된다.

1. **초기화 (Initialization)**: 초기 상태 분포에서 다수의 파티클을 생성한다. 이 파티클들은 시스템의 상태 공간을 커버할 수 있도록 무작위로 분포된다.
2. **예측 (Prediction)**: 시스템 모델에 따라 각 파티클의 상태를 예측한다. 이 과정은 시스템이 시간에 따라 어떻게 변화할지를 모사하기 위해 각 파티클에 상태 전이 확률(State Transition Probability)을 적용하는 것이다.
3. **갱신 (Update)**: 관측 모델에 기반하여 파티클의 가중치를 갱신한다. 관측된 데이터에 더 잘 맞는 파티클은 더 높은 가중치를 부여받으며, 이 과정은 Bayesian 업데이트로 설명될 수 있다.
4. **재샘플링 (Resampling)**: 가중치가 높은 파티클들을 중심으로 새로운 파티클 집합을 생성하여, 가중치가 매우 작은 파티클들을 제거한다. 이 과정은 이른바 파티클의 "희석(degeneration)" 문제를 해결하기 위한 것이다.

#### 입자 필터의 수학적 공식

입자 필터의 수학적 공식은 다음과 같다.

* **상태 전이 모델**:

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

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

* **관측 모델**:

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

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

입자 필터는 다수의 파티클 집합 $ {x\_k^{(i)}, w\_k^{(i)}}*{i=1}^{N} $을 사용하여, 시간 $ k $에서의 상태 확률 분포 $ p(x\_k|z*{1:k}) $를 근사한다.

#### 재샘플링의 필요성 및 방법

재샘플링(Resampling)은 입자 필터에서 중요한 과정 중 하나이다. 재샘플링의 목적은 가중치가 낮은 파티클을 제거하고, 가중치가 높은 파티클을 여러 번 샘플링하여 새로운 파티클 집합을 생성하는 것이다. 이를 통해 파티클 집합의 다양성을 유지하고, "파티클 희석" 현상을 방지할 수 있다.

**재샘플링 방법**으로는 다음과 같은 다양한 기법이 존재한다.

* **임계값 기반 재샘플링 (Threshold-based Resampling)**: 파티클 집합의 유효 파티클 수 $ N\_{\text{eff}} $가 특정 임계값 이하로 떨어질 경우 재샘플링을 수행한다.
* **시스템 재샘플링 (Systematic Resampling)**: 파티클들을 균등하게 선택하여 재샘플링한다.
* **잔여 재샘플링 (Residual Resampling)**: 각 파티클의 가중치를 정수 부분과 소수 부분으로 나누어 정수 부분은 그대로 유지하고, 소수 부분만큼 재샘플링한다.

#### 입자 필터의 확장

입자 필터는 다양한 확장이 존재한다. 예를 들어, 다음과 같은 확장 기법들이 있다:

* **보조 입자 필터 (Auxiliary Particle Filter, APF)**: 중요도가 높은 파티클을 선택하여 상태 추정을 더 정확하게 수행하는 방법이다.
* **입자 흐름 필터 (Particle Flow Filter)**: 파티클의 흐름을 최적화하여 더 효율적으로 분포를 근사하는 방법이다.
* **연속 입자 필터 (Continuous Particle Filter)**: 파티클을 연속적으로 샘플링하여 더 정밀한 추정을 가능하게 하는 방법이다.
