본문 바로가기
선형대수

4.3b 세 점에 맞는 직선 찾기: 최소 자승 근사법 예제

by 철이88 2022. 4. 6.
반응형

최소 자승 근사법을 이용하면 주어진 데이터의 피팅(fitting)이 가능합니다. 이번 포스팅에서는 최소 자승법의 간단한 예로, 한 직선을 지나지 않는 세 점에 가장 알맞은 직선을 찾는 문제를 풀어보겠습니다.

최소 자승법의 중요식


최소 자승법에서는 프로젝션에서 배운 식을 그대로 이용할 것입니다. 
복습해 보면, 에러 벡터 $e$가 $A$의 열공간 $C(A)$에 수직이라는 사실에서 다음 식이 나옵니다.

 

$A^{T}$($b$ – $A\hat{x}$) = 0
→ $A^{T}A\hat{x}$ = $A^{T}b$.

 

이 식을 풀면 $Ax$ = $b$의 최소 자승 해를 구할 수 있습니다.

실제로 문제를 푸는 방법을 설명하면,
만약 $Ax$ = $b$의 해가 없다면,
양변에 $A^{T}$를 곱하고 $A^{T}Ax$ = $A^{T}b$를 풀면 됩니다.

다음 예제를 가지고 실제로 풀어보겠습니다.

세점에 알맞은 직선 구하기


예) 2차원 $xy$ 평면에서 세 점 (0, 6), (1, 0), (2, 0)에 가장 가까운 선을 찾아라.

사실 위 세 점을 지나는 직선 $y$ = $cx$ + $d$는 없습니다.
각 점을 대입하면 다음 세 식을 얻게 됩니다.
6 = 0$c$ + $d$
0 = 1$c$ + $d$
0 = 2$c$ + $d$

 

세 식을 만족하는 $c$, $d$는 없음을 금방 확인할 수 있습니다.
여기서 우리가 알고자 하는 것은 직선의 기울기 $c$와 절편 $d$이므로 다음 $Ax$ = $b$형태의 식을 만들 수 있습니다.

$\begin{pmatrix} \begin{array}{rr} 0 & 1 \\ 1 & 1 \\ 2 & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{r} c \\ d \end{array} \end{pmatrix}$ = $\begin{pmatrix} \begin{array}{r} 6 \\ 0 \\ 0 \end{array} \end{pmatrix}$.

이 식에 해가 없다는 것은 다음과 같이 공간을 이용하여 좀 더 멋있게 표현할 수도 있습니다.
$b$가 $C(A)$에 속하지 않기 때문에 $Ax$ = $b$는 해가 없다.

위 방정식에 정확한 해가 없기 때문에 이제 최소 자승 해를 구하려고 합니다.
위에서 설명한대로 $Ax$ = $b$의 양변에 $A^{T}$를 곱하여 $A^{T}Ax$ = $A^{T}b$를 풀어줍니다.

$A^{T}A$와 $A^{T}b$는 각각

$\begin{pmatrix} \begin{array}{rrr} 0 & 1 & 2 \\ 1 & 1 & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{rr} 0 & 1 \\ 1 & 1 \\ 2 & 1 \end{array} \end{pmatrix}$=$\begin{pmatrix} \begin{array}{rr} 5 & 3 \\ 3 & 3 \end{array} \end{pmatrix}$

$\begin{pmatrix} \begin{array}{rrr} 0 & 1 & 2 \\ 1 & 1 & 1 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{r} 6 \\ 0 \\ 0 \end{array} \end{pmatrix}$=$\begin{pmatrix} \begin{array}{r} 0 \\ 6 \end{array} \end{pmatrix}$ 

이므로

$\begin{pmatrix} \begin{array}{rr} 5 & 3 \\ 3 & 3 \end{array} \end{pmatrix}$$\begin{pmatrix} \begin{array}{r} c \\ d \end{array} \end{pmatrix}$ = $\begin{pmatrix} \begin{array}{r} 0 \\ 6 \end{array} \end{pmatrix}$.

5$c$ + 3$d$ = 0과 3$c$ + 3$d$ = 6을 풀면
$c$ = –3, $d$ = 5를 구할 수 있습니다.

즉, $Ax$ = $b$의 최소 자승 해는 $\begin{pmatrix} \begin{array}{r} -3 \\ 5 \end{array} \end{pmatrix}$.

그러므로 구하는 직선은 $y$ = –3$x$ + 5.  

예제에서 에러의 의미


위 예에서 $Ax$ = $b$의 $b$는 세 점의 $y$ 좌표입니다.
세 점의 $y$좌표를 모아서 벡터 $b$를 만들고, 이를 프로젝션시키는 것을 머리에 그려야합니다.

 

따라서 에러 $e$ = $b$ – $p$는 각 점의 $y$좌표의 오차를 의미하겠습니다.
세 점 (0, 6), (1, 0), (2, 0)과 직선 $y$ = –3$x$ + 5와의 차이는 각각
1, –2, 1입니다.

 

즉, 에러 벡터 $e$는 

$e$ = $\begin{pmatrix} \begin{array}{r} 1 \\ -2 \\ 1 \end{array} \end{pmatrix}$입니다.

반응형

댓글