행렬은 행렬의 열공간(span of column vectors, or column space)으로의 선형변환으로 해석할 수 있다.
주어진 벡터 를 행렬을 통해 선형변환할 때, 벡터 의 단위기저()는 행렬의 열벡터()로 변환된다.
$$ \vec{x} = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = x_1 \begin{bmatrix} 1 \\ 0 \end{bmatrix} + x_2 \begin{bmatrix} 0 \\ 1 \end{bmatrix} = x_1 \vec{e_1} + x_2 \vec{e_2} $$
$$ A\vec{x} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = x_1 \vec{u} + x_2 \vec{v} $$
행렬 간 곱셈이라고 다르지 않다.
가 열 i를 지정하는 지정자일 때 두 행렬 A와 X간 곱셈은 행렬 X를 행렬 A의 열벡터를 기저로 하여 다시 표현한 것이 된다.
$$
\begin{align*}
AX &= \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x_{a} & x_{b} \\ x_{c} & x_{d} \end{bmatrix}\\
&= \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \begin{bmatrix} \vec{x_1} & \vec{x_2} \end{bmatrix}\\
&= \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \vec{x_1} \vec{e_1} + \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \vec{x_2} \vec{e_2}\\
&= \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \begin{bmatrix} x_a \\ x_c \end{bmatrix} \vec{e_1} + \begin{bmatrix} \vec{u} & \vec{v} \end{bmatrix} \begin{bmatrix} x_b \\ x_d \end{bmatrix} \vec{e_2}\\
&= \begin{pmatrix} x_a \vec{u} + x_c \vec{v} \end{pmatrix} \vec{e_1} + \begin{pmatrix} x_b \vec{u} + x_d \vec{v} \end{pmatrix} \vec{e_2}
\end{align*}
$$
위 식에 따라 AX의 각 열벡터는 A의 열벡터에 대한 선형결합으로 표현되며 이는 다시 A 열벡터의 basis인 와 로 나타낼 수 있음을 알 수 있다.
A가 full rank 정사각행렬일 경우 두 열벡터 와 는 당연히 선형독립이라는 걸 참고하자.
이 블로그에 아름다운 시각화 자료가 있다.
1. 역행렬
반대로 역행렬은 행렬의 열공간으로부터 원래공간(단위기저가 인)으로의 선형변환을 의미한다.
이 과정에서 단일 기저와 선형변환에 의해 변환된 기저 간 scaler가 determinant가 된다.
이 블로그에서 이에 대해 좋은 시각화자료를 안내한다.
$$ A^{-1} = det(A)^{-1} adj(A) $$
역행렬이 존재하지 않는다는 건 무엇을 의미할까?
이는 기존 공간에서 행렬의 열공간으로 사상할 때 열공간의 기저가 이루는 단위 넓이()가 0이라는 것을 의미한다.
다시 말해, 에서 가 행렬의 열공간 내에 위치하지 않는다는 것을 말한다.
표현이 다소 어려울 수 있지만 우린 어떤 물건(3차원)을 손실없이 그림(2차원)으로 표현하는 게 불가능하다는 것을 이미 알고있다.
2. 유사역행렬
그렇다면 유사역행렬은 어떻게 해석할 수 있을까?
유사역행렬은 행렬의 열공간에 나타내지 못하는 벡터를 어떻게든 행렬의 열공간에 표현하려는 시도의 결과이다.
가장 단순한 시도로는 벡터를 행렬의 열공간에 사영(projection)하여 나타내는 것을 생각해볼 수 있는데, 이것이 바로 유사역행렬의 실체이다.
이에 따라 유사역행렬이 모든 행렬에 대해 유일하게 존재하고, 역행렬이 존재하는 경우 역행렬과 유사역행렬이 동치라는 것이 자명해진다.
이를 수식으로 확인해보자.
우선 본래의 문제, 주어진 벡터 를 로 변환하는 행렬 A에 대해 행렬 A의 역행렬은 다음과 같이 구할 수 있다.
$$
\begin{align*}
A\vec{x} &= \vec{b} \\
\vec{x} &= A^{-1} \vec{b}
\end{align*}
$$
그러나 A의 역행렬이 존재하지 않는 경우 해가 존재하지 않거나 유일하지 않다.
그러므로 아래와 같이 A의 열공간에 를 표현할 수 없다.
이에 위에서 언급했듯 유사역행렬을 계산하여 해를 계산(근사)한다.
먼저 위 그림처럼 에 대한 A의 열공간으로의 사영을 라 하자.
그 경우 는 A의 열공간에 속하게 되고 다음과 같이 A의 열벡터의 선형결합()으로 표현된다.
$$
\begin{align*}
A\vec{x} &= \vec{b’} \\
\vec{x} &= A^{-1} \vec{b’}
\end{align*}
$$
이 때, A의 열공간과 는 직교이며 이 둘의 선형결합은 0이다.
그러므로 A의 열공간과 의 관계는 다음과 같이 표현된다.
$$ A^{T} \vec{h} = A^{T} (\vec{b} – \vec{b’}) = A^{T} (\vec{b} – A\vec{x}) = 0 $$
$$ A^{T}A\vec{x} = A^{T}\vec{b} $$
$$ \vec{x} = (A^{T}A)^{-1}A^{T}\vec{b} = A^{\dagger}\vec{b} $$
이 때의 역행렬 을 Moore-Penrose 유사역행렬이라 한다.
물론 위 식에서 틀린 부분이 있다.
A의 gram matrix 가 가역행렬(non-invertible)이 아니라면, 즉 A가 rank-deficient 행렬이라면 위 방법으로는 유사역행렬을 계산할 수 없다.
하지만 특이값 분해(SVD)를 적용하면 임의의 행렬 A에 대해 다음과 같이 유사역행렬을 계산할 수 있다.
$$
\begin{align*}
A &= U \Sigma V^T \\
A^{\dagger} &= V \Sigma^{-1} U^T
\end{align*}
$$
이 때, U는 의 정규화된 고유벡터 행렬이고 V는 의 정규화된 고유벡터 행렬, 는 A의 특이값 행렬이다.
그러므로 는 이제 다음과 같이 쓸 수 있다.
$$ \vec{x} = V \Sigma^{-1} U^T b $$
이후로도 이 notation을 사용할 수 있으나 표기를 깔끔하게 하기 위해 기존 형태의 Moore-Penrose 역행렬을 사용하겠다.
Moore-Penrose 유사역행렬은 위 그림처럼 의 열공간에 를 사영했을 때의 벡터 에 대해 를 풀어내는 방법으로 도출할 수 있다.
특이값 분해를 이용하여 유사역행렬을 기하학적으로 해석할 수도 있다.
애초에 특이값 분해는 임의의 행렬을 회전(rotation, )과 당김(stretching, )으로 분해하는 방법이기 때문에 임의의 행렬에 대한 역행렬은 회전과 당김의 조합에 대한 역행렬로 보면 된다.
특이행렬은 unitary 행렬이므로 역행렬은 곧 전치행렬이 되며 특이값 행렬은 대각행렬이기에 역행렬을 아주 간단하게 풀어낼 수 있다.
이 블로그에서 좋은 시각화 자료를 제공하고 있다.
3. 정사영
정사영행렬을 보기에 앞서 정사영부터 살펴보자
벡터 p에 대한 벡터 a의 정사영을 다음 그림처럼 나타낼 수 있다.
내적은 두 벡터 간 정사영을 사용하기에 벡터 a와 벡터 p의 내적을 계산하면
$$ \vec{a} \cdot \vec{p} = |\vec{a}| |\vec{p}| \cos{\theta} $$
이고, 는 이므로
$$
\begin{align*}
\vec{a} \cdot \vec{p} &= |\vec{a}| |\vec{p}| \cos{\theta} \\
&= |\vec{a}| |\vec{p}| \frac{t|\vec{p}|}{|\vec{a}|} \\
&= t |\vec{p}| |\vec{p}| \\
&= t \vec{p} \cdot \vec{p}
\end{align*}
$$
그러므로 t는 다음과 같이 계산되고
$$ t = \frac{\vec{a} \cdot \vec{p}}{\vec{p} \cdot \vec{p}} $$
구하고자 하는 정사영은 다음과 같다.
$$ t \vec{p} = \frac{\vec{a} \cdot \vec{p}}{\vec{p} \cdot \vec{p}} \cdot \vec{p} $$
4. 정사영행렬
2에서 정의한 유사역행렬을 통해 정사영행렬을 간단히 구할 수 있다.
임의의 를 A의 열공간에 정사영시키려 할 때 1)를 유사역행렬을 통해 로 변환하고, 2)이를 다시 A를 통해 A의 열공간에 올려두면 되는 일이다.
그러므로 정사영행렬을 구하는 방법은 아래 그림처럼 단순하게 나타내진다.
위 그림에서 1, 2의 순서를 따라가면 결국 임의의 벡터 를 A의 열공간 위 벡터 로 정사영하는 굵은 파란선을 만들 수 있다.
이제 수식으로 살펴보자.
$$
\begin{align*}
\vec{x} &= A^{\dagger} \vec{b} \\
A \vec{x} &= A A^{\dagger} \vec{b} = A (A^{T}A)^{-1}A^{T} \vec{b} = \vec{b’}
\end{align*}
$$
그러므로 임의의 벡터 를 행렬 A의 열공간에 정사영한 결과는 다음과 같다.
$$ \vec{b’} = A (A^{T}A)^{-1}A^{T} \vec{b} $$
조금 억지스럽지만 이 식을 아래처럼 바꿔보면 3에서 보았던 벡터 형태의 정사영 결과와 동일한 형태를 하고 있음을 알 수 있다.
$$ x’ = A (A^T A)^{-1} A^T x = \frac{A A^T x}{A^T A} = A \frac{A^T x}{A^T A} $$
물론 정사영행렬에 gram matrix 대신 SVD를 적용할 수도 있다.
$$ \vec{b’} = A V \Sigma^{T} U^T \vec{b} $$
당연히 V는 오른쪽 특이행렬, U는 왼쪽 특이행렬, 는 특이값 행렬이다. (inverse이기에 좌우가 바뀌었음에 주의하자)
이로서 임의의 행렬 A에 대해 유사역행렬과 정사영행렬은 유일하게 존재하며 행렬 A가 full rank 행렬(가역행렬)이라면 가 되고 정사영행렬은 항등행렬이 됨(즉, )을 알아보았다.
5. 최소자승법 (Ordinary Least Square, OLS)
정사영행렬이 사용되는 가장 좋은 예시가 있다.
바로 선형회귀이다.
독립변수 X와 종속변수 y가 주어질 때 선형회귀는 다음과 같이 표현된다.
$$ y = X\beta + \epsilon $$
은 오차를 나타내는 term이며 는 각 독립변수의 가중치를 의미한다.
은 데이터의 부정확성과 모델의 유연성을 고려하여 만든 random noise이므로 이를 제외하고나면 의 단순한 식을 얻을 수 있다.
이제 를 계산하면 되는데, 안타깝게도 종속변수 y가 독립변수 X의 열공간에 존재하지 않으면 등식이 깨지고 만다.
이럴 때 사용하는 것이 정사영행렬이다.
위 그림처럼 독립변수 X로 표현이 불가능한 종속변수 y를 X의 열공간으로 정사영시켜 를 종속변수 y에 대한 추정값으로 사용할 수 있다.
이 때, 추정 오차(MSE)는
$$ loss = ||X\vec{\beta} – \vec{y}||_2 $$
가 됨이 자명하다.
이는 파라미터 에 대한 2차식이므로 최우도추정(MLE)을 적용하면
$$
\begin{align*}
loss &= ||X\vec{\beta} – \vec{y}||_2 \\
&= (X\vec{\beta} – \vec{y})^T (X\vec{\beta} – \vec{y}) \\
&= \vec{\beta}^T X^T X\vec{\beta} – (X\vec{\beta})^T \vec{y} – \vec{y}^T X\vec{\beta} – \vec{y}^T \vec{y} \\
\frac{\partial}{\partial \beta} loss &= 2X^T X \vec{\beta} – 2X^T \vec{y} \\
&= 0
\end{align*}
$$
이고, 이에 따라 는 다음과 같이 결정된다.
$$ \beta = (X^T X)^{-1} X^T \vec{y} = X^{\dagger} \vec{y} $$
굳이 이렇게 식을 전개할 필요도 없이 위의 그림이나 정사영행렬 공식만으로 쉽게 알 수 있는 내용이다.
는 그림의 1번 관계를 통해 자명하게 결정되기 때문이다.