최소제곱해 (least squares solution), 정규방정식(normal equation)

반디·2023년 1월 21일
0

선형대수

목록 보기
1/1

최소제곱해 (least squares solution)

선형회귀 모델은 b=Ax{\bf b} = A{\bf x}의 해를 찾는 문제로 생각할 수 있습니다. 그러나, 위 식이 해를 가지지 않는다(inconsistent)면 어떻게 할까요? 근사치 즉, best approximate solution을 찾아야할 것입니다.

그런데 best approximate solution이라는 것은 어떻게 정의되는 걸까요?

우리의 best approximate solution은 least-squares solution이라는 이름을 가지는데요, 다음 정의를 보면 왜 least-squares solution이라고 부르는 지 알 수 있습니다.

Let AA: m×nm \times n matrix and b{\bf b}: vector in Rm\mathbb{R}^m.
A least-squares solution of the matrix equation b=Ax{\bf b} = A{\bf x} is a vector x^\hat{\bf x} in Rn\mathbb{R}^n s.t.
dist(b,Ax^)dist(b,Ax)dist({\bf b}, A{\hat {\bf x}}) \le dist({\bf b}, A{\bf x}) for xRn\forall {\bf x} \in \mathbb{R}^n.

dist(b,Ax^)=bAx^dist(b, A{\hat x}) = ||{\bf b} - A{\hat {\bf x}}||이고, 이 값은 벡터 bAx^{\bf b} - A{\hat {\bf x}}의 원소들의 제곱을 모두 더한 값에 제곱근을 씌운 값입니다. 따라서, bAx^{\bf b} - A{\hat {\bf x}} 벡터의 원소들의 제곱을 모두 더한 값 (sum of squares)을 최소로 하는 해(solution)이기 때문에 최소제곱해(least-squres solution)이라고 부릅니다.

최소제곱해를 그림으로도 살펴보겠습니다.

방정식 b=Ax{\bf b} = A{\bf x}가 해를 갖지 않는다고 가정하겠습니다.
식의 우변인 AxA{\bf x}AA의 column space, col(A)col(A)에 속하는 벡터이므로, b=Ax{\bf b} = A{\bf x}가 해를 갖지 않는다는 것은, b{\bf b}col(A)col(A)에 속하지 않는다는 것입니다.

https://textbooks.math.gatech.edu/ila/least-squares.html

따라서 위 그림처럼, 벡터 b{\bf b}col(A)col(A)에 속하지 않고 동떨어져있습니다.

그렇다면 dist(b,Ax^)dist(b,Ax)dist({\bf b}, A{\hat {\bf x}}) \le dist({\bf b}, A{\bf x}) for xRn\forall {\bf x} \in \mathbb{R}^n를 만족하는 최소제곱해 x^{\hat {\bf x}}는 어떤 녀석일까요?

바로 col(A)col(A)b{\bf b} 사이의 거리가 최소가 되도록 하는 벡터입니다. 즉, b{\bf b}col(A)col(A)로의 orthogonal projection 입니다!
사실 이것은 best approximation theorm에 의한 결과이죠.

The Best Approximation Theorem
Let WW be a subspace of Rn\mathbb{R}^ n, let yy be any vector in Rn\mathbb{R}^ n, and let y^\hat{y} be the orthogonal projection of yy onto WW. Then y^\hat{y} is theclosest point in WW to yy, in the sense that
yy^<yv||y − {\hat y}|| < ||y − v|| for all vv in WW distinct from y^{\hat y}.

정규방정식 (normal equation)

b=Ax{\bf b} = A{\bf x}가 해를 갖지 않을 때, 이 방정식의 최소제곱해(least square solution)이 b{\bf b}col(A)col(A)로의 orthogonal projection 임을 알게되었습니다.

구체적으로 최소제곱해를 구하는 방법을 알아보겠습니다.

Orthogonal Decomposition Theorem
Let WW: subspace of Rn\mathbb{R}^n. Then each yRny \in \mathbb{R}^n can be written uniquely in the form y=y^+zy = \hat{y} + z, where y^W\hat{y} \in W and zWz \in W^\perp.

b{\bf b}는 orthogonal decomposition theorem에 의해 다음과 같이 분해될 수 있습니다.

b=b^+(bb^), where b^col(A),(bb^)col(A){\bf b} = {\bf \hat{\bf b}}+({\bf b}- \hat{\bf b}), \text{ where } \hat{\bf b} \in col(A), ({\bf b}- \hat{\bf b}) \in col(A)^\perp

행렬 AAjj번째 column을 aja_j라고 할 때, 다음을 확인할 수 있습니다.

(bb^)col(A)    (bb^)col(A)    (bAx^)col(A)({\bf b}- \hat{\bf b}) \in col(A)^\perp \iff ({\bf b}- \hat{\bf b}) \perp col(A) \iff ({\bf b}- A\hat{\bf x}) \perp col(A)
    (bAx^)aj=0 for j=1,,n    ajT(bAx^)=0 for j=1,,n\iff ({\bf b}- A\hat{\bf x}) \cdot a_j = 0\text{ for } j=1, \ldots, n \iff a_j^T({\bf b}- A\hat{\bf x}) = 0 \text{ for } j=1, \ldots, n
    AT(bAx^)=0    ATb=ATAx^\iff A^T({\bf b}- A\hat{\bf x}) = 0 \iff A^T{\bf b} = A^TA\hat{\bf x}

제일 마지막 식인 ATb=ATAx^A^T{\bf b} = A^TA\hat{\bf x}Ax=bA{\bf x} = {\bf b}의 정규방정식이라고 부릅니다.
즉, (Ax=bA{\bf x} = {\bf b} 최소제곱해집합) = (ATAx^=ATbA^TA\hat{\bf x} = A^T{\bf b}의 해집합) 입니다.

그런데 최소제곱해는 유일하게 존재할까요? 일반적으로는 그렇지 않습니다.
AA의 column들이 linearly dependent한 경우에는 무한히 많은 해를 갖습니다.

유일하게 존재하는 경우는 다음 theorem으로 정리할 수 있습니다.

Theorem
Let AA: m×nm \times n matrix and bRm{\bf b} \in \mathbb{R}^m.
The following are equivalent:
1. Ax=bA{\bf x} = {\bf b} has a unique least-squares solution.
2. The columns of AA are linearly independent.
3. ATAA^TA is invertible.
In this case, the least-square solution is x^=(ATA)1ATb\hat {\bf x} = (A^TA)^{-1}A^T{\bf b}.

(proof)
(1.     \iff 3.)
Ax=bA{\bf x} = {\bf b}의 최소제곱해는 ATAx^=ATbA^TA\hat{\bf x} = A^T{\bf b}의 해와 같습니다.
그리고 다음을 만족하는 두 벡터 v,u{\bf v, u}를 생각해보겠습니다:

ATAv=ATb and ATAu=0.A^TA{\bf v} = A^T{\bf b} \text{ and }A^TA{\bf u} = 0.

이 때, v=v+u{\bf v} = {\bf v'}+{\bf u} for some v{\bf v'} s.t. ATAv=ATbA^TA{\bf v'} = A^T{\bf b} 입니다.
즉, ATAx^=ATbA^TA{\bf \hat x} = A^T{\bf b}의 해집합은 ATAx=0A^TA{\bf x} = 0의 해집합을 translate한 형태입니다.

이로부터, 'Ax=bA{\bf x} = {\bf b}의 해가 유일하다     \iff ATAx^=ATbA^TA{\bf \hat x} = A^T{\bf b}의 해가 유일하다     \iff ATAx=0A^TA{\bf x} = 0의 해가 유일하다' 는 것을 이끌어낼 수 있습니다.

그리고 ATAx=0A^TA{\bf x} = 0의 해가 유일하기 위해서는 정방행렬 ATAA^TA가 invertible 해야함을 알 수 있습니다.
따라서, 위 Theorem의 1과 3이 equivalent함을 확인하였습니다.

(1.     \iff 2.)
이제 1과 2가 equivalent함을 보이겠습니다.
b^=projcol(A)b\hat {\bf b} = proj_{col(A)}{\bf b}라 하면, Ax=bA{\bf x} = {\bf b}의 최소제곱해는 Ax=b^A{\bf x} = {\hat {\bf b}}의 해입니다.
따라서, Ax=bA{\bf x} = {\bf b}의 해가 유일하면, Ax=b^A{\bf x} = {\hat {\bf b}}도 유일한 해를 갖습니다.
Ax=b^A{\bf x} = {\hat {\bf b}}가 유일한 해를 갖는다     \iff columns of AA is linearly independent 이므로, 1과 2가 equivalent함을 알 수 있습니다.

참고문헌

profile
꾸준히!

0개의 댓글