logo

최소제곱법 📂행렬대수

최소제곱법

정의1

행렬 ACm×nA \in \mathbb{C}^{m \times n} 와 벡터 bCm\mathbf{b} \in \mathbb{C}^{m}에 대해 선형시스템 Ax=bA\mathbf{x} = \mathbf{b}과도결정이거나 과소결정라고 하자. 그러면 이 시스템은 해를 갖지 않거나 무수히 많이 갖는다. 이때

Axb2 \left\| A \mathbf{x} - \mathbf{b} \right\|_{2}

의 값을 최소화하는 문제를 생각해보자. 이를 최소제곱문제lSP, Least Square Problem라고 한다. 이 문제의 해 x\mathbf{x}_{\ast}최소제곱해least square solution 라고 한다.

x=arg minAxb2 \mathbf{x}_{\ast} = \argmin \left\| A \mathbf{x} - \mathbf{b} \right\|_{2}

AxbA \mathbf{x} - \mathbf{b}최소제곱 오차벡터least square error vector, Axb\left\| A \mathbf{x} - \mathbf{b} \right\|최소제곱 오차least square error라 한다.

설명

방정식의 해가 존재하지 않는 것은 안타깝지만 그렇다고 풀이 자체를 포기할 수는 없다. 사실 이 세상에 잘 풀리지 않는, 학계의 최전선에서 수학자들의 해법을 기다리고 있는 방정식들은 대개 그런 문제들이다. 이런 문제를 비슷하게나마 푸는 방법을 연구하는 것은 단연 가치 있고 유용한 것으로써, 최소제곱법은 그 대표적인 방법 중 하나다. 분야를 가리지 않고 여러 실용학문에서 활발하게 사용되고 있으며, 특히 통계학에선 심장과도 같은 회귀분석을 지탱하는 이론이다. bAx2\left\| \mathbf{b} - A \mathbf{x} \right\|_{2} 의 크기가 최소가 된다는 것은 그만큼 AxA \mathbf{x}b\mathbf{b} 사이의 거리, 즉 오차가 작아진다는 것으로 볼 수 있다. 정사영 P:CmC(A)P : \mathbb{C}^{m} \to \mathcal{C} (A) 에 대해

b=Pb+(IP)b \mathbf{b} = P \mathbf{b} + (I -P) \mathbf{b}

PbC(A) P \mathbf{b} \in \mathcal{C} (A)

이므로 어떤 벡터 x\mathbf{x}_{\ast} 에 대해서 Ax=PbA \mathbf{x}_{\ast} = P \mathbf{b} 다. 이에 대해

Axb2=AxPb+Pbb2 \left\| A \mathbf{x} - \mathbf{b} \right\|_{2} = \left\| A \mathbf{x} - P \mathbf{b} + P \mathbf{b} - \mathbf{b} \right\|_{2}

으로 나타내보면 (AxPb)C(A)( A \mathbf{x} - P \mathbf{b} ) \in \mathcal{C} (A)(IP)bN(A)(I -P )\mathbf{b} \in \mathcal{N}(A) 은 서로 직교함을 알 수 있다. 피타고라스의 정리에 의해

bAx22=AxPb22+(IP)b22 \left\| \mathbf{b} - A \mathbf{x} \right\|_{2}^{2} = \left\| A \mathbf{x} - P \mathbf{b} \right\|_{2}^{2} + \left\| (I -P )\mathbf{b} \right\|_{2}^{2}

이고, bAx2\left\| \mathbf{b} - A \mathbf{x} \right\|_{2} 가 가장 작아지는 경우는 x=x\mathbf{x} = \mathbf{x}_{\ast} 가 된다.

한편 여사영의 성질에서 AC(A)A \in \mathcal{C} (A) 이고 (IP)bC(A)(I - P) \mathbf{b} \in \mathcal{C} (A)^{\perp} 이므로

A(IP)b=A(bAx)=0 A^{\ast} (I - P) \mathbf{b} = A^{\ast} ( \mathbf{b} - A \mathbf{x}_{\ast} ) = 0

이다. 정리하면 AAx=AbA^{\ast} A \mathbf{x}_{\ast} = A^{\ast} \mathbf{b} 이므로, 최소제곱법이란 결국 표준방정식 AAx=AbA^{\ast} A \mathbf{x}_{\ast} = A^{\ast} \mathbf{b} 을 만족하는 해 x\mathbf{x}_{\ast} 를 구하는 것과 같다.

수식이 아니라 그림을 통해서 직관적으로 이해하기 위해선 다음의 예를 보면 도움이 될 것이다.

20180715\_180721.png

위와 같이 평면상에 놓인 점들을 모두 지나는 직선을 긋는 문제가 있다고 해보자. 당연하지만 이 문제의 답이 되는 직선(해)은 존재하지 않으며, 그나마 비슷하게 지나가는 직선(근사해)을 찾아봐야할 것이다.

20190905\_104344.png

위와 같이 녹색 선과 빨간 선으로 비교해보면 한 눈에도 왼쪽이 오른쪽보다는 더 정확함을 알 수 있을 것이다. 파란색으로 그어진 선들의 길이는 각 점들을 직선으로 사영시켰을 때 떨어진 거리를 나타낸다. 이 문제에서 최소제곱해는 이 거리들의 제곱의 합이 최소가 되는 어떤 직선이다.


  1. Howard Anton, Elementary Linear Algebra: Aplications Version (12th Edition, 2019), p417-418 ↩︎