본문 바로가기

수학/데이터 사이언스 스쿨

3-2. 고급 선형대수: 좌표와 변환

선형대수의 내용이 워낙 많아 5개로 나눠서 설명하겠다.

 

3.2장인 좌표와 변환 내용이다. 벡터의 선형 독립과 랭크 개념, 기저 벡터 등에 대해서 알아보도록 하자.

 

선형 종속과 선형 독립

 

선형 종속과 독립은 언제 쓰일까?

예를 들어, 3차원의 공간이 있다고 하자. 이때 선형 독립인 벡터 3가지만 있으면 모든 공간상의 벡터를 표현할 수 있다.

반대로, 2개의 종속 벡터와 1개의 독립 벡터가 있으면 모든 3차원 벡터를 설명할 수 없다.

따라서 N차원에 속한 벡터들을 표현하기 위해선 선형 독립인 벡터들이 N개 필요하다.

극단적이게, 선형 종속인 벡터를 위의 그래프처럼 평행 벡터라고 하자. 이런 경우 2개의 벡터로는 2차원을 모두 표현할 수 없다.

 

$\begin{bmatrix}1\\ 1\\ 0\end{bmatrix},
\begin{bmatrix}1\\ 0\\ 0\end{bmatrix},
\begin{bmatrix}0\\ 1\\ 0\end{bmatrix}$

또, 다음과 같은 경우 3개의 벡터를 가지더라도 2차원까지만 설명이 가능하다.

이때문에 벡터가 종속이냐 독립이냐는 중요한 의미를 가진다.

 

 

공식

1. 선형 종속(linearly dependent)

$c_1x_1+ x_2x_2 +...+ c_{N}x_{N}=0$ 을 만족하는 $c_{1}, c_{2}..c{N}$이 0을 제외하고 존재한다.

 

2. 선형 독립(linearly independent)

$c_1x_1+ x_2x_2 +...+ c_{N}x_{N}=0$ 을 만족하는 $c_{1}, c_{2}..c{N}$이 0만 존재한다.

 

예를 들어, 위의 3차 벡터의 경우 스칼라를 각각 1,-1,-1인 경우 영 벡터가 되므로 선형 종속이다.

$x_1=\begin{bmatrix}1\\ 2\end{bmatrix},  
x_2=\begin{bmatrix}3\\ 3\end{bmatrix}$의 경우 $ \begin{cases} x_1+3x_2 =0 \\   2x_1 + 3x_2=0
\end{cases}$ 으로 표현할 수 있는데, 어떤 스칼라를 곱해도 0이 될 수 없으므로 선형 독립이다.

 

 

다중 공선 성(multicollinearity)

특징 행렬 X의 열 벡터들이 선형 종속이거나 선형 종속에 가까운 현상이다. 다중 공선 성이 발생하면 예측의 성능이 나빠지므로 VIF를 이용해 확인해야 한다.

두 입력 변수들의 상관관계가 높다는 것은 종속적임을 뜻한다. 다르게 말하면, 쓸모없는 입력 변수들이 많다는 것인데, 이는 회귀의 분산이 커져서 신뢰를 떨어뜨리고 결국 예측의 성능이 나빠지는 것이다.

 

 

그렇다면 선형 종속을 확인할 때는 무조건 연립방정식을 이용해 풀어야 할까?

간단한 특성으로 알아보는 방법이 있다.

 

선형 종속의 특성

1. 벡터의 개수가 벡터의 차원보다 크면 선형 종속이다.

예를 들어, $\begin{bmatrix}1\\ 2\end{bmatrix},   
\begin{bmatrix}3\\ 3\end{bmatrix},\begin{bmatrix}1\\ 5\end{bmatrix}$인 경우 종속이라고 할 수 있다.

2차원을 설명하려면 독립적인 벡터 2개만 있으면 된다. 따라서 선형 종속이 무조건 있을 수밖에 없다.

 

2. 값이 같은 벡터가 있으면 선형 종속이다.

$\begin{bmatrix}
 1& 2 &1 \\ 
 2& 3 & 2\\ 
 5& 0 &5 
\end{bmatrix}$ 이 경우 [1,2,5]라는 벡터가 중복된다. 따라서 두 벡터는 선형 종속이다. 이 뿐아니라 스칼라배인 [2,4,10]등도 모두 선형종속이다. (맨 위 사진을 보면 이해가 될 것이다)

 

3. 어떤 벡터가 다른 벡터의 선형조 합일 경우

\begin{bmatrix}
 1& 2 &3 \\ 
 2& 3 & 5\\ 
 5& 0 &5 
\end{bmatrix} 1벡터와 2벡터를 더하면 3벡터가 된다. 이는 이미 3벡터가 종속됨을 의미한다.

데이터 분석에서 3번과 같은 실수를 많이 한다. 예를 들어, 국어, 영어 수학 점수를 포함하면서 3과목에 대한 평균점수도 데이터로 포함하면 이는 선형 종속이 된다.

 

 

랭크

- 랭크: 열 랭크나 행 랭크

- 열 랭크: 서로 독립인 열 벡터의 최대 개수

- 행 랭크: 서로 독립인 행 벡터의 최대 개수

여기서 열 랭크와 행 랭크는 항상 같다.

\begin{bmatrix}
 1& 3 &5 \\ 
 2& 3 & 7\\ 
\end{bmatrix} 

위의 행렬 같은 경우, 행 랭크는 2(2개 서로 독립)이고, 열 랭크 또한 2이다. 첫 번째 열 + 두 번째 열 = 세 번째 열로 종속되기 때문이다.

 

- 풀 랭크: 행 개수와 열개수 중 작은 값과 같으면 풀랭 크라고 한다.

즉, 위의 예시에서 min(3행, 2열)= 2를 만족함으로 풀랭크라고 할 수 있다.

 

 

벡터 공간과 기저 벡터

- 벡터 공간(vector space): 선형 독립인 벡터들로 선형 조합하여 만들어지는 모든 벡터들의 집합

- 기저 벡터(basis vector): 벡터 공간을 만들 수 있는 선형 독립인 벡터이다. 단위 벡터이면서 서로 수직인 벡터들이 기저 벡터일 때 선형 조합하기 편리하다. 때문에 단위 벡터로 많이 환산한다.

 

 

랭크와 역행렬

정방 행렬이 풀랭 크면 역행렬이 존재하고, 정방 행렬의 역행렬이 존재하면 풀랭 크다.

 

 

벡터 공간 투영

10차원 벡터를 5차원처럼 더 작은 차원으로 표현하기 위해서는 벡터를 투영해야 한다.

x벡터를 기저 벡터 $v_1, v_2$로 이뤄진 평면에 투영시켰을 때, $x - x^{||v}= 0$이 성립하면  $x^{||v}$를 투영 벡터라고 하고,   $x - x^{||v}=x^{ㅗv}$를 직교 벡터라고 한다.

즉, 투영하고자 하는 벡터에서 수선의 발을 내렸을 때 생기는 그림자를 투영 벡터라고 한다.

정규 직교인 기저 벡터로 이뤄진 벡터 공간

 

벡터를 벡터 공간으로 투영하는 것은, 이전에 배웠던 벡터에서 벡터로 투영시키는 것과 거의 비슷하다.

다만 달라진 점이 있다면, 벡터 공간을 이루는 모든 벡터에 공식을 적용해야 한다.

 

$x^{||v}= (x^Tv_1) v_1+(x^Tv_2) v_2+...+(x^Tv_n) v_n$
투영 벡터의 길이 $||x^{||v}||^2 =\Sigma(x^Tv_i)^2$

 

직교 벡터는 벡터 공간의 모든 벡터에 대해서 직교한다.

 

표준 기저 벡터: 기저 벡터로, 원소 중 하나만 값이 1이고 나머지는 0인 벡터

 

 

직교 행렬: 정규 직교 벡터로 구성된 행렬

직교 행렬이고 정방 행렬일 경우, 전치 행렬= 역행렬이 성립한다.

 

좌표(coordinate)

 

기저 벡터를 선형 조합하여 그 벡터를 나타내기 위한 계수 벡터

$x= c_1e_1 + c_2e_2$일 때, $c_1, c_2$가 좌표다.

 

 

변환 행렬

기존 벡터 -> 새로운 벡터: 기존 벡터에 행렬을 곱하면 새로운 벡터로 변환된다. 

 

$A=\begin{bmatrix}
\frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}}\\ 
\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}
\end{bmatrix}$ 일 때, 기존 벡터{$e_1, e_2$}와 새로운 벡터 {$g_1, g_2$}는 A 같은 관계성을 가진다.
이는 다음과 같은 식으로 풀어쓸 수 있다.

$g_1= \frac{1}{\sqrt{2}}e_1 + \frac{1}{\sqrt{2}}e_2$
$g_2= -\frac{1}{\sqrt{2}}e_1 + \frac{1}{\sqrt{2}}e_2$

 


좌표변환

기존 벡터의 좌표-> 새로운 벡터의 좌표
좌표$x= x_{e1}e_1+x_{e2}e_2 = x_{g1}g_1+x_{g2}g_2$
$x= [e_1$  $e_2]x_e = [g_1$ $g_2]x_g$
* $[g_1$ $g_2]=[e_1$  $e_2]A$를 대입하면
$x= [e_1$  $e_2]x_e = [g_1$ $g_2]Ax_g$가 되고, 다음 식이 성립한다.

$x_e = Ax_g, x_g= A^{-1}x_e =Tx_e$
이때, A의 역행렬을 T라고 하며, 변환 행렬이라고 한다.

  
변환 행렬 예시

1. 스칼라 배 변환

$\begin{bmatrix}  
c &0 \\  
0 &c  
\end{bmatrix}$를 곱하면 c배로 변환한다. (c>0: 확대, c<0: 축소)

  

2. 90도 회전 변환

$\begin{bmatrix}0 &-1 \\ 1 &0 \end{bmatrix}$

  

3. $\theta^o$ 변환

$R_{\theta }=\begin{bmatrix}  
cos\theta &-sin\theta \\  
sin\theta & cos\theta  
\end{bmatrix}$

  

$R_{\theta \delta} = R_{\theta}+R_{\delta}$

$R_{\theta }R_{\theta }= R_{2\theta }$  
$R_{\theta }R_{-\theta }=I$  
$det R_{\theta }=1$  
$R_{\theta }^{-1} =R_{-\theta }= R_{\theta }^T$

  

**공식 유도**



위의 그림은 $R_{\theta }=\begin{bmatrix}  
cos\theta &-sin\theta \\  
sin\theta & cos\theta  
\end{bmatrix}$ 에서 첫 번째 열의 공식이다. 두 번째 열을 유도하려면 x축에서 회전 변환한 것이 아닌, y축을 회전 변환하면 유도가 된다.

  
3. y=x대칭 변환

$\begin{bmatrix}0 &1 \\ 1 &0 \end{bmatrix}$