선형변환에 대한 고찰

2023. 12. 2. 15:46Mathematics/Linear Algebra

선형변환($A\mathbf{\vec{v}}=\mathbf{\vec{w}}$)은 두 가지 관점으로 해석할 수 있다.

 

1). Movement(=Rotate+Scale): 선형변환 $A$에 의해, 벡터 $\mathbf{\vec{v}}$에서 벡터 $\mathbf{\vec{w}}$로의 이동.

또는, 서로 다른 두 벡터 공간을 매핑하는 함수(=function) 개념으로 봐도 된다.

 

2). Translation: 표준기저벡터를 $\mathbf{\vec{a_1}}$, $\mathbf{\vec{a_2}}$로 둔 좌표계에서 $\mathbf{\hat{i}}$, $\mathbf{\hat{j}}$로 둔 좌표계로의 전환.

벡터 그 자체는 변하는 것이 아니라, 표현 방식이 달라진 것이다. ($A = \begin{bmatrix} \mathbf{\vec{a_1}} & \mathbf{\vec{a_2}} \end{bmatrix}$)

 

본문에서는 첫번째 관점 즉, Movement로 고윳값 분해, 특잇값 분해 등의 개념을 해석해볼 것이다.

 

1. 선형변환 ($A\mathbf{\vec{x}}$, $\Lambda\mathbf{\vec{x}}$)

$A\mathbf{\vec{x}} = (a\mathbf{\hat{i}} + c\mathbf{\hat{j}})x + (b\mathbf{\hat{i}}+d\mathbf{\hat{j}})y$이다.

여기서 선형변환 $A=\begin{bmatrix} a & b \\ c & d\end{bmatrix}$는 "선형변환 $A$로 인해, $\mathbf{\hat{i}}$과 $\mathbf{\hat{j}}$이 각각 $a\mathbf{\hat{i}} + c\mathbf{\hat{j}}$과 $b\mathbf{\hat{i}} + d\mathbf{\hat{j}}$로 이동함"을 의미한다.

본문에서는 이를 "선형변환 $A$는 $\mathbf{\hat{i}}$, $\mathbf{\hat{j}}$를 기준기저벡터로 삼는다"라고 표현할 것이다.

 

2. 고윳값 분해

2.1. $VAV^{-1}\mathbf{\vec{x}}$, $V\Lambda V^{-1}\mathbf{\vec{x}}$

$V\Lambda V^{-1}\mathbf{\vec{x}}$: movement(=$V$) → scale(=$\Lambda$) (by $\mathbf{\hat{i}}$ and $\mathbf{\hat{j}}$) → inverse movement(=$V^{-1}$)

($V$ is matrix where every row is basis vector)

 

여기서, scale(=$\Lambda$) (by $\mathbf{\hat{i}}$ and $\mathbf{\hat{j}}$)는 "$\Lambda$가 기준기저벡터를 $\mathbf{\hat{i}}$, $\mathbf{\hat{j}}$로 삼고 있음"을 의미한다.

2.2. $QAQ^\top\mathbf{\vec{x}}$, $Q\Lambda Q^\top\mathbf{\vec{x}}$

$Q\Lambda Q^\top\mathbf{\vec{x}}$: Rotate(=$Q$) → scale(=$\Lambda$) (by $\mathbf{\hat{i}}$ and $\mathbf{\hat{j}}$) → inverse Rotate(=$Q^\top$)

($Q$ is orthogonal matrix where every row is orthonormal vector)

 

해석1. $QAQ^\top$와 $Q\Lambda Q^\top$는 $\mathbf{\vec{v_1}}$, $\mathbf{\vec{v_2}}$를 기준기저벡터로 삼고 있는 선형변환 A와 $\Lambda$이다.

$Q = \begin{bmatrix} \mathbf{\vec{v_1}} & \mathbf{\vec{v_2}} \end{bmatrix}$일 때, $QAQ^\top\mathbf{\vec{x}}$를 $(a\mathbf{\vec{v_1}} + c\mathbf{\vec{v_2}})\mathbf{\vec{v_1}}^\top \mathbf{\vec{x}} + (b\mathbf{\vec{v_1}} + d\mathbf{\vec{v_2}})\mathbf{\vec{v_2}}^\top \mathbf{\vec{x}}$로 전개할 수 있다.

위 수식으로 선형변환 $QAQ^\top$을 "내적($\mathbf{\vec{v_i}}^\top \mathbf{\vec{x}}$)으로, 벡터 $\mathbf{\vec{x}}$를 서로 직교하는 $\mathbf{\vec{v_1}}$,  $\mathbf{\vec{v_2}}$로 정사영하고,

선형변환 $A$로 $\mathbf{\vec{v_1}}$과 $\mathbf{\vec{v_2}}$이 각각 $a\mathbf{\vec{v_1}} + c\mathbf{\vec{v_2}}$과 $b\mathbf{\vec{v_1}} + d\mathbf{\vec{v_2}}$로 이동함"으로 해석할 수 있다.

즉, "기준기저벡터를 $\mathbf{\vec{v_1}}$, $\mathbf{\vec{v_2}}$로 삼는 선형변환 $A$와 $\Lambda$"라고 표현할 수 있다.


$Q\Lambda Q^\top\mathbf{\vec{x}}$는 $\lambda_1\mathbf{\vec{v_1}}\mathbf{\vec{v_1}}^\top \mathbf{\vec{x}} + \lambda_2\mathbf{\vec{v_2}}\mathbf{\vec{v_2}}^\top \mathbf{\vec{x}}$로 전개할 수 있다.

이는 "$\mathbf{\vec{x}}$를 서로 직교하는 벡터 $\mathbf{\vec{v_1}}$,  $\mathbf{\vec{v_2}}$로 정사영하고, 각각을 $\lambda_1$, $\lambda_2$만큼 Scale한 후, 조합한다."로 표현할 수 있다.

 

+MORE. $\Lambda\mathbf{\vec{x}}$ vs $Q\Lambda Q^\top\mathbf{\vec{x}}$

$\Lambda\mathbf{\vec{x}}$는 "$\mathbf{\vec{x}}$를 $\mathbf{\hat{i}}$, $\mathbf{\hat{j}}$로 정사영한 후, 각각을 $\lambda_1$, $\lambda_2$만큼 Scale한 후, 조합함"을 의미한다.

즉, 기준기저벡터가 $\mathbf{\hat{i}}$과 $\mathbf{\hat{j}}$이다.

반면, $Q\Lambda Q^\top\mathbf{\vec{x}}$는 "$\mathbf{\vec{x}}$$\mathbf{\vec{v_1}}$, $\mathbf{\vec{v_2}}$로 정사영한 후, 각각을 $\lambda_1$, $\lambda_2$만큼 Scale한 후, 조합함"을 의미한다.

즉, 기준기저벡터가 $\mathbf{\vec{v_1}}$과 $\mathbf{\vec{v_2}}$이다.

 

$A\mathbf{\vec{x}}$와 $QAQ^\top\mathbf{\vec{x}}$의 관계도 이와 같다.

 

해석2. $Q\Lambda Q^\top$는 서로 직교하는 n개의 "$\det(\cdot)=1$인 rank-1 matrix"로 분해하고, 각 행렬에 가중치를 부여한 후, 조립하는 선형변환이다.

$Q\Lambda Q^\top = \lambda_1\mathbf{\vec{v_1}}\mathbf{\vec{v_1}}^\top + \lambda_2\mathbf{\vec{v_2}}\mathbf{\vec{v_2}}^\top$이다.

즉, $Q\Lambda Q^\top$ "서로 직교하는 n개의 rank-1 matrix인 $\mathbf{\vec{v_i}}\mathbf{\vec{v_i}}^\top$로 분해하고, 가중치 $\lambda_i$(=eigen value)를 부여한 후,

$\sum_{i}^n \lambda_i\mathbf{\vec{v_i}}\mathbf{\vec{v_i}}^\top$으로 조립한 선형변환"으로 해석할 수 있다.

 

응용: $\lambda_i$를 내림차순으로 정렬한 후, 크기가 작은 $\lambda_i$를 제거하여, 데이터 압축을 한다.

더보기

Question. 왜 $\mathbf{\vec{v_i}}\mathbf{\vec{v_i}}^\top$는 rank-1 matrix냐?

Answer. 만약 $\mathbf{\vec{v_i}} = \begin{bmatrix} a \\ b \\ c \end{bmatrix}$이면, $\mathbf{\vec{v_i}}\mathbf{\vec{v_i}}^\top = \begin{bmatrix} a\mathbf{\vec{v_i}} & b\mathbf{\vec{v_i}} & c\mathbf{\vec{v_i}} \end{bmatrix}$이다.

즉, $\mathbf{\vec{v_i}}\mathbf{\vec{v_i}}^\top$의 column space는 $\mathbf{\vec{v_i}}$의 생성 공간이다.

3. 특잇값 분해 ($U\Sigma V^\top\mathbf{\vec{x}}$)

$U\Sigma V^\top\mathbf{\vec{x}}$: Rotate(=$U$) → scale(=$\Sigma$) (by $\mathbf{\hat{i}}$ and $\mathbf{\hat{j}}$) → another Rotate(=$V^\top$)

($U$ and $V$ are both orthogonal matrix where every row is orthonormal vector)

 

해석1. 수직 관계를 갖고 있는 벡터들($V$)을 $A$에 통과시켜도, 여전히 수직 관계를 유지하고 있는 벡터들($U$)이 존재한다.

$A = U\Sigma V^\top$를 $AV = U\Sigma$로 전개할 수 있으며, 이는 $A\mathbf{\vec{v_1}} = \sigma_1\mathbf{\vec{u_1}}$, $A\mathbf{\vec{v_2}} = \sigma_2\mathbf{\vec{u_2}}$로 나타낼 수 있다.

$\mathbf{\vec{v_1}}\perp \mathbf{\vec{v_2}}$, $\mathbf{\vec{u_1}}\perp \mathbf{\vec{u_2}}$이기 때문에, "$A$를 통과하기 전에 수직했던 벡터들($V$)을 통과시켰을 때, 여전히 수직 관계를 유지하는 벡터들($U$)가 존재"한다. 다시 말해, 위 명제를 만족하는 $V$, $U$ 쌍이 존재한다.