Processing math: 80%

[선형대수] 벡터공간과 최소제곱법

벡터공간과 최소 제곱법

들어가며

공간 (Space)

공간(Space)는 다음의 두 연산에 닫혀 있는 집합 입니다.

  1. 덧셈 연산에 닫혀 있다.
  2. 스칼라 곱 연산에 닫혀 있다.

다음과 같이 n-벡터의 집합은 모두 공간 입니다.

Rn={xx=(x1,x2,,xn),( 단, xiR)}

앞으로, 모든 n-벡터 집합 Rn은 n차원 벡터 공간(vector space)라고 부를 수 있게 됩니다.

Column Space (열공간)

행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성 할 수 있다. 이런 집합을 Column space(열공간)이라고 하고 다음과 같이 표기한다.

image-20210504152358814

Consisient Linear System

선형시스템 Ax=b가 해를 가지면(consistent), 다음을 만족한다.

bcol(A)

image-20210504152507191

Inconsistent Linear System

선형시스템 Ax=b가 해가 없으면(inconsistent), 다음을 만족한다.

bcol(A)

image-20210504152619457

다시 말하면, 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)를 생각 할 수 있다.

image-20210504153401925


최소제곱법

최소 제곱법은 선형시스템 Ax=b에 대한 해 x가 없음에도 불구하고, 할 수 있는 최선의 대한 ˉx 을 내놓는 기법이다. 최소제곱법은 원래 선형시스템 Ax=b가 아닌 다음의 선형시스템을 해결 한다.

A¯x=¯b( 단 ,¯b=projWb)

주어진 선형시스템의 양변에 전치 행렬 AT를 곱하면 최소제곱법의 해를 구할 수 있다.

Ax=bATA¯x=ATb¯x=(ATA)1ATb

최소제곱법으로 구한 해 ˉx는 원래 선형시스템을 만족하는 해는 아니다.

A¯xb

최소제곱법으로 구한 ˉx 는 다음을 만족하는 근사해(approximate solution)이다.

A¯x=projWb

Note

이 방법은 목표 b와 달성 가능한 목표 ˉb의 차이를 나타내는 벡터 (b¯b)의 제곱길이를 최소화 시기는 의미를 가지기 때문에 최소제곱법(least squares method)이라고 불린다.

응용: 선형회귀 (Linear Regression)

2차원 공간에 m개의 정 xmi=1이 그림과 같이 있을 때, 이를 잘 설명 할 수 있는 직선 y=mx+b 를 구하는 문제를 생각해 보자. 이를 선형 회귀(linear regression) 문제라 한다.

image-20210504154510650

해법

선형 회귀 문제는 다음과 같이 최소제곱법으로 풀 수 있다.

  1. 선형 시스템으로 구성된 직선이 각 정점을 모두 자나간다고 가정하고 선형시스템 Ax=b 구성 (단, 주어진 모든 정점을 지나가는 직선은 존재하지 않으므로 선형시스템의 해는 존재하지 않음.)
[31111131][mb]=[1133]

​ 즉, [-3, 1]이 y=mx+b 를 지난다고 가정한다. 그러면 1=m(3)+b 로 식이 구성되고 동일한 방식으로 그림의 좌표를 정리하면 위 선형시스템이 완성 된다.

  1. 최소제곱법 적용: 위 선형시스템의 해가 존재 하지 않기 때문에 근사치를 구하는 방식인 최소제곱법을 적용한다. ATA¯x=ATb 를 생각하고, ¯x=[ˉmˉb]를 구한다.

기하학적 해석

위에서 설명한 최소제곱법을 기하학적으로 해석 하면 다음과 같다. 우리가 관심있는 대상은 bAˆx이다. 이 식에 대한 관계식을 다음과 같이 정리 할 수 있다.

bAˆx(x1a1+x2a2+xpan)for any vector x

bAˆx 이 col(A)와 직교 한다는 의미는 col(A)의 모든 벡터들과 직교한다는 것이 성립니다. 이를 식으로 정리하면 다음과 같다.

(bAˆx)a1aT1(bAˆx)=0(bAˆx)a2aT2(bAˆx)=0AT(bAˆx)=0(bAˆx)amaTm(bAˆx)=0

위 식의 정리를 통해 AT(bAˆx)=0을 얻게 되었다.

image-20210504162249432

Normal Equation

위에서 식을 정리 하여 얻은 AT(bAˆ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}