Radar의 실 데이터에는 noise가 많이 포함되어 있다.
이 noise를 포함해서 데이터를 하나의 함수에서 나온 결과로 근사화를 해야한다.
근사화를 위한 첫번째 방법 LSM(Least Square Method, 최소자승법)에 대해 기록한다.
다크 프로그래머님의 블로그를 참고해 기록했다.
최소자승법 이해와 다양한 활용예 (Least Square Method)
한글로 최소자승법 또는 최소제곱법, 영어로는 LSM(Least Square Method) 또는 LMS(Least Mean Square) 방법.최소자승법 하면 흔히 어떤 점들의 분포를 직선이나 곡선으로 근사하는 것만을 생각하기 쉽습니다
darkpgmr.tistory.com
1. LSM의 이해
LSM(Least Square Method)는 어떤 모델의 파라미터를 구하는 한 방법으로서, 데이터와의 $residual^2$의 합을 최소화하도록 모델의 파라미터를 구하는 방법이다.
파란색으로 표시된 데이터들과의 $residual^{2}$의 합을 최소화 하도록 하는 빨간색 선이 LSM으로 구해진 모델이다.
결국 LSM은 $residual^{2}$의 합, 아래의 수식을 최소화하도록 f(x)의 파라미터를 결정한다는 말이 된다.
$$ \sum_{i=1}^{n}{residual^{2}_{i}}=\sum_{i=1}^{n}{(y_i - f(x_i))^{2}} \quad \quad (1) $$
$f(x) = ax + b$인 1차방정식이라면
$ \sum_{i=1}^{n}{residual^{2}{i}}=\sum{i=1}^{n}{(y_i - ax_i - b)^{2}} \quad \quad (2) $
를 최소화 하도록 a, b를 결정하는 것이다.
2. LSM의 계산
행렬식 형태로 표현한 후에 선형대수학을 적용하는 방법만을 기술한다.
위에서 설명한 직선 추정 문제는 아래의 식들을 만족하는 a, b를 찾는 것이다.
$$ ax_1 +b=y_1\\ ax_2+b=y_2\\ \vdots\\ ax_n+b=y_n $$
이를 행렬식으로 표현하면 다음과 같다.
$$ AX = B $$
이 때, A의 역생렬은 존재하지 않지만 pseudo inverse라는 걸 이용하면 X를 다음과 같이 계산할 수 있다.
(다크 프로그래머는 OpenCV나 Matlab을 이용하면 된다고 했지만 C를 이용한 임베디드 프로그래밍을 하고 있기 때문에 직접 코드를 작성해야 했다. 이는 추후 포스팅할 예정이다.)
$$ X=pinv(A)B=(A^TA)^{-1}A^TB $$
'Radar' 카테고리의 다른 글
역행렬 구하는 방법 비교 with GPT (0) | 2024.05.06 |
---|