6.5 Least Squares Problems

Jaehyun_onelion·2023년 3월 17일
0

선형대수학

목록 보기
34/42

이번 포스트에서는 least-squares problems에 대해 알아보도록 하겠습니다.


1) Least-Squares Problems


(1) Least-Squares Problems


다음의 linear system을 생각해봅시다.

Ax=bA\boldsymbol{x} = \boldsymbol{b}

다음 linear system은 A,bA, \boldsymbol{b}에 따라 3가지 종류의 solution이 존재할 수 있습니다. solution이 없거나(inconsistent), solution이 하나만 존재하거나, solution이 무수히 많이 존재하는 경우입니다. 이 중에서 solution이 존재하지 않는 경우를 생각해봅시다.

만약 위 system이 solution이 존재하지 않는 경우, 다음으로 생각해볼 수 있는 것은

AxbA\boldsymbol x \approx \boldsymbol b

를 만족하는 x\boldsymbol x를 찾는 것입니다. AxA\boldsymbol{x}b\boldsymbol{b}가 가장 비슷하게 만들어주는 x\boldsymbol{x}를 solution으로 대체하는 것입니다. 그렇다면 AxA\boldsymbol xb\boldsymbol b가 비슷하다는 것을 어떻게 정의할까요? 바로 distance를 이용합니다.

Axb\|A\boldsymbol x - \boldsymbol b \|

즉, AxA\boldsymbol xb\boldsymbol b의 distance가 가장 가까워지는 x\boldsymbol x를 solution으로 대체할 수 있습니다.

The least squares problem은 다음 distance

Axb\|A\boldsymbol x - \boldsymbol b \|

를 최소화하는 x\boldsymbol{x}를 찾는 문제입니다.


(2) Least-squares solution


위의 least squares problem의 solution은 다음과 같이 정의합니다.


Definition : Least-squares solution

If AA is m×nm\times n matrix and b\boldsymbol b is in Rn\mathbb R^n, a least-squares solution of Ax=bA\boldsymbol x = \boldsymbol{b} is an x^\hat{\boldsymbol{x}} in Rn\mathbb R^n such that

bAx^bAx\|\boldsymbol{b}-A\hat{\boldsymbol{x}}\| \leq \|\boldsymbol{b}-A\boldsymbol{x}\|

for all xRn\boldsymbol{x} \in \mathbb R^n

bAx\|\boldsymbol{b}-A\boldsymbol{x}\|를 최소화시키는 x\boldsymbol{x}가 least-squares solution이 됩니다.

만약

Ax=bA\boldsymbol{x} = \boldsymbol{b}

가 solution이 존재한다면, least squares solution은 위 system의 solution이 됩니다. 이는 해당 system의 solution이

bAx=0\|\boldsymbol{b} -A\boldsymbol{x}\|=0

을 만족하기 때문입니다.

지금까지 least squares problem과 solution에 대해 알아봤습니다. 그렇다면 least-squares solution을 어떻게 찾을 수 있을까요?


(3) How to find the solution


least-squares solution을 찾는 방법에서의 핵심은 AxA\boldsymbol{x}의 의미를 파악하는 것입니다.

AxA\boldsymbol{x}AA의 column의 linear combination으로 표현된 벡터입니다. 즉 모든 xRn\boldsymbol x \in \mathbb R^n에 대해서

AxColAA\boldsymbol{x} \in ColA

입니다. Ax=bA\boldsymbol{x} =\boldsymbol{b}가 solution이 없는 경우는

bColA\boldsymbol{b} \notin ColA

인 것을 뜻합니다. 따라서, Ax=bA\boldsymbol{x} = \boldsymbol{b}의 least squares solution을 찾는 것, 즉

bAx^bAx\|\boldsymbol{b}-A\hat{\boldsymbol{x}}\| \leq \|\boldsymbol{b}-A\boldsymbol{x}\|

를 만족시키는 x^\hat{\boldsymbol{x}}를 찾는 것은 ColAColA에서 b\boldsymbol{b}와 가장 가까운 벡터를 만들어주는 x^\hat{\boldsymbol{x}}를 찾는 것과 같습니다.

ColAColA 또한 Rm\mathbb R^m의 subspace이므로, b\boldsymbol{b}ColAColA와 가장 가까운 벡터는 projection을 통해 만들어줄 수 있습니다. 즉

Ax=b^=projColAbA\boldsymbol{x} = \hat{\boldsymbol{b}} = proj_{ColA}\boldsymbol{b}

를 만족하는 x\boldsymbol{x}가 위 least-squares problem의 solution이 됩니다.

여기까지 least-squares problem of Ax=bA\boldsymbol{x}=\boldsymbol{b}를 푸는 것은

Ax=projColAb=b^A\boldsymbol{x}=proj_{ColA}\boldsymbol{b} = \hat{\boldsymbol{b}}

를 푸는 것과 같다는 것을 밝혔습니다. 다음의 식을 조금 더 자세히 살펴보도록 합시다.

b^=projColAb\hat{\boldsymbol{b}} =proj_{ColA}\boldsymbol{b}

일 때,

(bb^)b^(\boldsymbol{b} - \hat{\boldsymbol{b}}) \perp \hat{\boldsymbol{b}}

를 만족합니다. b^\hat{\boldsymbol{b}}AA의 column의 linear combination으로 이루어져 있기 때문에 AA

A=[a1...an]A = \begin{bmatrix} \boldsymbol{a_1} & ... & \boldsymbol{a_n} \end{bmatrix}

으로 정의하면

aj(bb^)=0  for  j=1,...,n\boldsymbol{a_j} \cdot (\boldsymbol{b}-\hat{\boldsymbol{b}}) = 0 \ \ for \ \ j=1,...,n

을 만족합니다. 이를 조금 더 정리하면

ajT(bb^)=0\boldsymbol{a_j}^T(\boldsymbol{b}-\hat{\boldsymbol{b}}) =0

을 만족합니다. j=1,...,nj=1, ..., n에 대해 성립하므로 이를 matrix와 vector의 곱으로 바꾸면

AT(bb^)=0A^T(\boldsymbol{b}-\hat{\boldsymbol{b}}) =0

을 만족합니다. 그런데, b^=Ax^\hat{\boldsymbol{b}}=A\hat{\boldsymbol{x}}이므로

AT(bAx^)=0A^T(\boldsymbol{b}-A\hat{\boldsymbol{x}}) = 0

이 되어

ATAx^=ATbA^TA\hat{\boldsymbol{x}}=A^T\boldsymbol{b}

를 만족합니다. 즉 Ax=bA\boldsymbol{x}=\boldsymbol{b}의 least squares problem을 푸는 것은

ATAx=ATbA^TA{\boldsymbol{x}}=A^T\boldsymbol{b}

를 푸는 문제와 같게 됩니다. 여기서 만약 ATAA^TA가 invertible하다면 least-squares solution은

x=(ATA)1ATb\boldsymbol{x} = (A^TA)^{-1}A^T\boldsymbol{b}

로 unique하게 존재합니다.

ATAA^TA의 invertibility와 least-squares solution에 관련된 정리는 다음과 같습니다.


Theorem

Let AA be an m×nm\times n matrix. The following statements are logically equivalent

  1. The equation Ax=bA\boldsymbol{x}=\boldsymbol{b} has a unique least-squares solution for each b\boldsymbol{b} in Rn\mathbb R^n
  2. The columns of AA are linearly independent
  3. The matrix ATAA^TA is invertible

When these statements are ture, the least-squares solution of Ax=bA\boldsymbol{x}=\boldsymbol{b}, x^\hat{\boldsymbol{x}} is given by

x^=(ATA)1ATb\hat{\boldsymbol{x}} = (A^TA)^{-1}A^T\boldsymbol{b}

example

A=[400211],  b=[2011]A=\begin{bmatrix} 4 & 0 \\ 0 & 2 \\ 1 & 1 \end{bmatrix}, \ \ \boldsymbol{b} = \begin{bmatrix} 2 \\ 0 \\ 11 \end{bmatrix}

일 때, Ax=bA\boldsymbol x = \boldsymbol b의 least-squares solution은

ATAx=ATbA^TA\boldsymbol{x} =A^T\boldsymbol{b}

를 푸는 것과 같습니다. 따라서 ATAA^TAATbA^T\boldsymbol{b}를 구하면

ATA=[401021][400211]=[17115],  ATb=[401021][2011]=[1911]A^TA = \begin{bmatrix} 4 & 0 & 1 \\ 0 & 2 & 1\end{bmatrix}\begin{bmatrix}4 & 0 \\ 0 & 2 \\ 1 & 1\end{bmatrix} = \begin{bmatrix}17 & 1 \\ 1 & 5\end{bmatrix}, \ \ A^T\boldsymbol{b} = \begin{bmatrix}4 & 0 & 1 \\ 0 & 2 & 1\end{bmatrix}\begin{bmatrix}2 \\ 0 \\ 11 \end{bmatrix} = \begin{bmatrix}19 \\ 11\end{bmatrix}

해당 matrix의 determinat가 0이 아니므로(17×51017\times 5 - 1 \neq 0) 해당 matrix는 invertible합니다. 따라서

x=(ATA)1ATb=184[51117][1911]=184[84168]=[12]\boldsymbol{x} = (A^TA)^{-1}A^T\boldsymbol{b} = \frac{1}{84}\begin{bmatrix}5 & -1 \\ -1 & 17\end{bmatrix}\begin{bmatrix}19 \\ 11\end{bmatrix} = \frac{1}{84}\begin{bmatrix}84 \\ 168\end{bmatrix} = \begin{bmatrix}1 \\ 2\end{bmatrix}

가 됩니다.


지금까지 least-squares solution에 대해서 알아보았습니다. 다음 포스트에서는 inner product space에 대해 알아보도록 하겠습니다. 질문이나 오류 있으면 댓글 남겨주세요! 감사합니다!


Appendix : Proof of Theorem


Theorem

Let AA be an m×nm\times n matrix. The following statements are logically equivalent

  1. The equation Ax=bA\boldsymbol{x}=\boldsymbol{b} has a unique least-squares solution for each b\boldsymbol{b} in Rn\mathbb R^n
  2. The columns of AA are linearly independent
  3. The matrix ATAA^TA is invertible

  • proof

1번 명제와 3번 명제는 동치입니다. 이는 Ax=bA\boldsymbol{x}=\boldsymbol{b}의 least-squares problem을 푸는 것은

ATAx=ATbA^TA\boldsymbol{x} = A^T\boldsymbol{b}

를 푸는 것과 같기 때문입니다. 만약 ATAA^TA가 invertible하면위 solution은

x=(ATA)1ATb\boldsymbol x = (A^TA)^{-1}A^T\boldsymbol b

로 unique하게 존재합니다. 반대의 경우에도, 위 equation이 unique한 solution을 가지면 invertible matrix theorem에 의해 ATAA^TA가 invertible 합니다.

다음으로, 2번과 3번이 동치임을 밝혀 위 정리를 증명하겠습니다.

ATAA^TA가 invertible하려면, ATAA^TA의 column이 linearly independent합니다. 즉 다음의

ATAx=0A^TA\boldsymbol{x} =0

의 equation이 trivial solution만을 가져야 합니다. 여기서 양변에 xT\boldsymbol{x}^T를 곱하면

xTATAx=0\boldsymbol{x}^TA^TA\boldsymbol{x}=0

을 만족합니다. 이 때 좌변의 식은

xTATAx=(Ax)T(Ax)=Ax2=0\boldsymbol{x}^TA^TA\boldsymbol{x} = (A\boldsymbol{x})^T(A\boldsymbol{x})= \|A\boldsymbol{x}\|^2 =0

이므로 ATAx=0A^TA\boldsymbol{x}=0을 만족하는 x\boldsymbol{x}

Ax=0A\boldsymbol{x}=0

을 만족해야 합니다. 이 때, AA의 column이 linearly independent하므로 위 식을 만족하는 x\boldsymbol{x}

x=0\boldsymbol{x}=0

밖에 존재하지 않습니다. 즉

ATAx=0A^TA\boldsymbol{x}=0

은 trivial solution밖에 가지지 않으므로, ATAA^TA의 column이 linearly independent하고, 따라서 ATAA^TA가 invertible합니다. 반대 과정 역시 같은 논리로 증명이 가능합니다.

profile
데이터 분석가 새싹

0개의 댓글