[선형대수] 벡터공간과 최소제곱법
on
벡터공간과 최소 제곱법
들어가며
공간 (Space)
공간(Space)는 다음의 두 연산에 닫혀 있는 집합 입니다.
- 덧셈 연산에 닫혀 있다.
- 스칼라 곱 연산에 닫혀 있다.
다음과 같이 n-벡터의 집합은 모두 공간 입니다.
Rn={x∣x=(x1,x2,⋯,xn),( 단, xi∈R)}앞으로, 모든 n-벡터 집합 Rn은 n차원 벡터 공간(vector space)라고 부를 수 있게 됩니다.
Column Space (열공간)
행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성 할 수 있다. 이런 집합을 Column space(열공간)이라고 하고 다음과 같이 표기한다.
Consisient Linear System
선형시스템 Ax=b가 해를 가지면(consistent), 다음을 만족한다.
b∈col(A)Inconsistent Linear System
선형시스템 Ax=b가 해가 없으면(inconsistent), 다음을 만족한다.
b∉col(A)다시 말하면, b의 위치가 col(A)를 벚어나게 된다면, 아무리 아무리 A의 column vector를 조합해도 b를 만들어 낼 수 가 없습니다.
만약, 이렇게 b가 column space로 만들어 낼 수 없는 경우는 어떻게 해를 구할 수 있을까? 그냥 못풀어야 할 까? 이를 해결 해주는 것이 바로 최소 제곱법이다.
최소제곱법 (Least Squares Method)
열공간(column space)으로 투영
선형시스템 Ax=b에 대한 해가 없음에도 불구하고, 우리가 할 수 있는 최선이 무엇인가를 생각 해보자.
행렬 A가 정의하는 열공간에서 우리의 목표 b와 가장 가장 가까운 지점은 b를 열공간에 투영(projection)한 지점일 것이다. 즉, 달성가능한 최선의 목표 projwb (=column space로 투영한 b)를 생각 할 수 있다.
최소제곱법
최소 제곱법은 선형시스템 Ax=b에 대한 해 x가 없음에도 불구하고, 할 수 있는 최선의 대한 ˉx 을 내놓는 기법이다. 최소제곱법은 원래 선형시스템 Ax=b가 아닌 다음의 선형시스템을 해결 한다.
A¯x=¯b( 단 ,¯b=projWb)
주어진 선형시스템의 양변에 전치 행렬 AT를 곱하면 최소제곱법의 해를 구할 수 있다.
Ax=b⇒ATA¯x=ATb⇒¯x=(ATA)−1ATb최소제곱법으로 구한 해 ˉx는 원래 선형시스템을 만족하는 해는 아니다.
A¯x≠b최소제곱법으로 구한 ˉx 는 다음을 만족하는 근사해(approximate solution)이다.
A¯x=projWbNote
이 방법은 목표 b와 달성 가능한 목표 ˉb의 차이를 나타내는 벡터 (b−¯b)의 제곱길이를 최소화 시기는 의미를 가지기 때문에 최소제곱법(least squares method)이라고 불린다.
응용: 선형회귀 (Linear Regression)
2차원 공간에 m개의 정 xmi=1이 그림과 같이 있을 때, 이를 잘 설명 할 수 있는 직선 y=mx+b 를 구하는 문제를 생각해 보자. 이를 선형 회귀(linear regression) 문제라 한다.
해법
선형 회귀 문제는 다음과 같이 최소제곱법으로 풀 수 있다.
- 선형 시스템으로 구성된 직선이 각 정점을 모두 자나간다고 가정하고 선형시스템 Ax=b 구성 (단, 주어진 모든 정점을 지나가는 직선은 존재하지 않으므로 선형시스템의 해는 존재하지 않음.)
즉, [-3, 1]이 y=mx+b 를 지난다고 가정한다. 그러면 −1=m⋅(−3)+b 로 식이 구성되고 동일한 방식으로 그림의 좌표를 정리하면 위 선형시스템이 완성 된다.
- 최소제곱법 적용: 위 선형시스템의 해가 존재 하지 않기 때문에 근사치를 구하는 방식인 최소제곱법을 적용한다. ATA¯x=ATb 를 생각하고, ¯x=[ˉmˉb]를 구한다.
기하학적 해석
위에서 설명한 최소제곱법을 기하학적으로 해석 하면 다음과 같다. 우리가 관심있는 대상은 b−Aˆx이다. 이 식에 대한 관계식을 다음과 같이 정리 할 수 있다.
b−Aˆx⊥(x1a1+x2a2⋯+xpan)for any vector xb−Aˆx 이 col(A)와 직교 한다는 의미는 col(A)의 모든 벡터들과 직교한다는 것이 성립니다. 이를 식으로 정리하면 다음과 같다.
(b−Aˆx)⊥a1aT1(b−Aˆx)=0(b−Aˆx)⊥a2⇒aT2(b−Aˆx)=0⇒AT(b−Aˆx)=0(b−Aˆx)⊥amaTm(b−Aˆx)=0위 식의 정리를 통해 AT(b−Aˆx)=0을 얻게 되었다.
Normal Equation
위에서 식을 정리 하여 얻은 AT(b−Aˆx)=0을 정리하면 다음과 같다
ATAˆx=ATb(단, ˆx=argmin위식을 Normal Equation(정규식)이라고 한다. 위의 정규식을 C \mathbf{x}=\mathbf{d} 형태의 선형시스템으로 바라 볼 수있으며 다음과 같이 정리가 가능하다.
C=A^{T} A \in \mathbb{R}^{n \times n}, \text { and } \mathbf{d}=A^{T} \mathbf{b} \in \mathbb{R}^{n}만약 C=A^{T} A이 역행렬이 존재한다면(invertible) 해는 다음과 같이 계산 되어 진다.
\hat{\mathbf{x}}=\left(A^{T} A\right)^{-1}A^{T}{\mathbf{b}}혹은, 다음과 같은 방법으로도 x를 구할 수 있다.
\begin{aligned} \hat{\mathbf{x}} &=\arg \min _{\mathbf{x}}\|\mathbf{b}-A \mathbf{x}\|=\arg \min _{\mathbf{x}}\|\mathbf{b}-A \mathbf{x}\|^{2} \\ &=\arg \min _{\mathbf{x}}(\mathbf{b}-A \mathbf{x})^{\mathrm{T}}(\mathbf{b}-A \mathbf{x})=\mathbf{b}^{\mathrm{T}} \mathbf{b}-\mathbf{x}^{\mathrm{T}} A^{\mathrm{T}} \mathbf{b}-\mathbf{b}^{\mathrm{T}} A \mathbf{x}+\mathbf{x}^{\mathrm{T}} A^{\mathrm{T}} A \mathbf{x} \end{aligned}위 식을 계산하여 다음과 같이 쓸 수 있다.
-A^{\mathrm{T}} \mathbf{b}-A^{\mathrm{T}} \mathbf{b}+2 A^{\mathrm{T}} A \mathbf{x}=\mathbf{0} \Leftrightarrow A^{\mathrm{T}} A \mathbf{x}=A^{\mathrm{T}} \mathbf{b}따라서, C=A^{T} A이 역행렬이 존재한다면(invertible) 해는 다음과 같이 계산 되어 진다.
\mathbf{x}=\left(A^{T} A\right)^{-1} A^{T} \mathbf{b}