일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 강화학습
- 데이터 전처리
- 오차 행렬
- ifnull
- NULLIF
- recall
- 비지도학습
- 지도학습
- Normalization
- NVL
- 평가 지표
- CASE WHEN
- 감정은 습관이다
- sorted
- Batch Normalization
- LAG
- SQL
- 데이터 프로젝트
- 백엔드
- five lines challenge
- 빠르게 실패하기
- beautifulsoup
- nvl2
- 재현율
- DecisionTree
- 데이터 분석
- 웹서비스 기획
- layer normalization
- 결정트리
- 정밀도
- Today
- Total
Day to_day
[선형대수학] Null space와 Span 본문
❗본 포스팅은 한양대학교 이상화 교수님의 '선형대수' 강의를 기반으로 개인적인 정리 목적 하에 재구성하여 작성된 글입니다.
Vector Space (V)
두 가지 조건을 만족하는 벡터의 집합을 vector space라고 한다.
1. 닫혀있는 조건이어야 한다.
$V_1 + V_2 \in V$
벡터 space V의 요소 $V_1, V_2$ 벡터가 있을 때 $V_1 + V_2$도 같은 벡터 space $V$에 있어야 한다.
$V_1 \in V, V_2 \in V$
2. scalar 곱셈에 대해서 닫혀있어야 한다.
벡터 V가 Vector space V에 포함되고, 상수 c는 R에 포함될 때 cV도 Vector space에 포함되어 있어야 한다.
즉 상수와 벡터끼리 곱했을 때도 같은 벡터 space에 있어야 한다.
벡터 space는 언제나 영벡터를 포함한다.
2번 조건을 보면 c가 0이면 영벡터가 나오기 때문에 V = {0}로 Vector space는 언제나 영벡터를 포함하고,
영벡터로만 이루어진 집합은 가장 작은 단위의 벡터 space이다.
Column Space (C(A))
가장 간단한 Column Space에 대해서 먼저 알아보겠다. Column Space는 행렬 A의 모든 칼럼 벡터의 linear combination으로 이루어진 ‘column vector 집합’이라고 정의할 수 있다. 행렬 A에 대한 column space는 $C(A)$로 표현한다.
$$ C(A) = \{{X | X = \sum_{i=1}^{n} c_ia_i}\} $$
n개의 $a_i$라고 하는 colume vector들이 있을 때 $c_i$라는 스칼라 값을 곱해 linear combination을 만들어줄 수 있다.
그러면 Ax=b에서 해가 존재하는지 아닌 지를 알아보기 위해서,
행렬 A가 갖고 있는 칼럼 벡터들 [$a_1, a_2, a_3, ... a_n$] 이렇게 있다고 생각하자.
Ax = b에서 벡터 x의 집합을 $\begin{bmatrix}x_1 \\x_2 \\... \\x_n \\\end{bmatrix}$ 이렇게 표현할 수 있고, 아까 행렬 A의 칼럼 벡터들을 $a_1, a_2, a_3, ... a_n$ 으로 표현한다 했다. 그러면 Ax는 행렬 A의 칼럼 벡터들의 linear combination이고 그 요소들의 조합은 $x_1a_1 + x_2a_2 + ... + x_na_n$ 가 된다. 다시 말하면 A의 column space는 Ax를 포함시킨다는 의미이고, Ax = b에 해가 존재하려면 b도 column space에 포함되어야 한다는 것을 알 수 있다. (b가 column space에 속해있지 않으면 해가 없는 것이다)
Span
그러면 이제 예시를 보면서 column space를 이해해 보자.
$$ A = \begin{bmatrix} 1 & -2 & 1 \\ 2 & 1 & 1 \\ 0 & 0 & 0 \\ \end{bmatrix} $$
예를 들어 이런 경우는 xyz 공간으로 보면 각 칼럼으로 z의 요소는 모두 0임을 알 수 있다. column space는 A행렬의 모든 칼럼 벡터의 linear combination의 집합이라고 했으니 위의 3개의 칼럼 벡터로 어떤 것을 조합해도 z평면은 표현할 수 없다. 그러니 이 경우는 모든 차원의 공간을 포함시키는 column space는 아니다.
나중에 더 자세히 설명하겠지만 A 행렬로 나온 Ax의 차원의 수에 대한 단어가 "Rank"이다. 그래서 이 경우는 Rank가 2가 된다.
또한 우리는 linear combination으로 공간을 커버하는 것을 'span한다'고 표현한다.
Null Space of A (N(A))
행렬 A의 Null Space에 대해서 알아보자.
Ax=b에서 b가 영벡터일 때 즉 Ax=0일때 모든 가능한 해 x에 대한 집합이다.
그리고 그 집합 x가 이루는 공간을 Null space라고 한다.
space가 될 조건 (다시 한번!)
1. 벡터들 간에 닫혀 있어야 한다.
- 두 벡터 $X_1$과 $X_2$가 각각 $AX_1 = 0, AX_2=0$을 만족하는 조건에서 $X_1 + X_2 \in N(A)$ 두 개의 x벡터의 합이 N(A)에 속하는 지에 대해서 알기 위해서는 $A(X_1+X_2) = 0$ 인지 살펴봐야한다.
- $A(X_1 + X_2) = A(X_1) + A(X_2) =0$ 이므로 $A(X_1+X_2) = 0$이다.
2. scalar 곱셈에 대해서 닫혀 있어야 한다.
- $Ax=0$ 에 대해서 어떠한 스칼라 값 c가 있다고 하자.
- 이때 $cX \in N(A)$ 에 속하는지를 따져봐야한다. 이것을 따지려면 $A(cX) = 0$ A에 스칼라 c를 곱한 X 값을 넣어서 영벡터가 되는지를 봐야한다.
- c는 상수 값이므로 앞으로 빼서 계산하면 당연히 $cA(X) =0$이 된다.
- 그래서 결국 $cX \in N(A)$가 된다.
아래의 예제 방정식을 행렬로 표현할 수 있고,
$$ u + w= 0 \\ 5u+4v+4w=0 \\ 2u+4v+6w=0 $$
$$ \begin{bmatrix}1 & 0 & 1 \\5 & 4 & 4 \\2 & 4 & 6 \\\end{bmatrix} \begin{bmatrix} u \\ v \\ w \\ \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ \end{bmatrix} $$
위의 방정식에서 해를 구해보면 다음과 같이 나온다.
$$ u + w = 0 \\ v+w = 0 $$
w를 c라고 한다면 $u = -c$, $v = -c$ 가 되고, 이것을 행렬 식으로 바꿔보자.
$$ \begin{bmatrix}u \\ v\\w\\\end{bmatrix} = c\begin{bmatrix} -1 \\ -1 \\ 1 \\ \end{bmatrix} $$
이때 c는 정해져 있지 않기 때문에 해가 무수히 많이 나오는 식인데, 위의 벡터를 보면 원점을 지나는 직선이라는 것을 알 수 있다. Null space는 Ax=0에서 x의 집합에 해당하는 공간이기 때문에 이 예제의 Null space는 하나의 직선이 된다.
Echelon form of matrix
그러면 이렇게 가로로 긴 matrix A와 벡터 X가 있을 때는 어떻게 해를 구할 수 있을까?
이 경우는 방정식으로 생각하면 미지수보다 방정식이 더 적은 케이스다.
$$ \begin{bmatrix}1 & 3 & 3 & 2 \\2 & 6 & 9 & 7 \\-1 & -3 & 3 & 4 \\\end{bmatrix} \begin{bmatrix} u \\ v \\ w \\ z \\ \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \end{bmatrix} $$
A는 3x4 행렬로 column space는 3차원인데 미지수 X space는 4차원으로 구성되어있다.
이제 가우스 소거법을 이용해서 계산 해볼 건데 이전에 우리가 했던 미지수를 제외하고 좌항과 우항에 가우스 소거법을 같이 적용했는데 어차피 우항은 모두 영벡터니까 행렬 A에 대해서만 진행하겠다.
다음의 방법은 가우스-조던 소거법으로 Echelon form of matrix를 얻는 과정이다.
$$ \begin{bmatrix}1 & 3 & 3 & 2 \\0 & 0 & 3 & 3 \\0 & 0 & 6 & 6 \\\end{bmatrix} \rightarrow \begin{bmatrix}1 & 3 & 3 & 2 \\0 & 0 & 3 & 3 \\0 & 0 & 0 & 0 \\\end{bmatrix} \rightarrow \begin{bmatrix}1 & 3 & 3 & 2 \\0 & 0 & 1 & 1 \\0 & 0 & 0 & 0 \\\end{bmatrix} \rightarrow \begin{bmatrix}1 & 3 & 0 & -1 \\0 & 0 & 1 & 1 \\0 & 0 & 0 & 0 \\\end{bmatrix} $$
- pivot을 중심으로 upper triangluar 모양처럼 만든다
- 모든 pivot을 1로 만들어 준다
- 각 pivot에 위치하는 값을 중심으로 위아래에 해당하는 모든 원소는 0이 되게 만들어 준다
이 과정을 통해 얻은 행렬을 Echelon form of matrix라고 부르며 사다리꼴 행렬이라고도 한다. 대각선을 기준으로 위쪽은 0이 아닌 값이 존재하고 아래는 0으로 이루어진 행렬이다.
다시 이 과정을 정리해 보자면,
$Ax=0$를 가우스 소거법을 통해 $Ux=0$로 만들어 주었다. 행렬 U라는 것은 이전에 가우스 소거법을 수행했을 때 나오는 행렬 upper triangluar 이다.
그 다음 단계로는 각 pivot을 1로 만들고, pivot이 위치하는 칼럼에 모든 원소는 0이 되도록 하여 $Rx = 0$ 형태로 만든다. 그러면 결과적으로 아래와 같은 행렬식이 나오게된다.
$$ \begin{bmatrix} 1 & 3 & 0 & -1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \begin{bmatrix} u \\ v \\ w \\ z \\ \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \\ 0 \\ \end{bmatrix} $$
다시 방정식으로 바꿔보면,
$$ u + 3v -z = 0 \\ w + z = 0 $$
그리고 pivot의 위치에 해당하는 변수 u와 w을 좌항에 남기고 모두 이항하면 아래와 같이 된다.
$$ u = -3v + z \\ w = -z $$
우리는 여기서
u, w는 “pivot variable”,
pivot variable이 아닌 v와 z는 “free variable”이라고 칭한다.
그러면 이제 pivot variable이 아닌 free variable을 기준으로 linear combination 형태로 만들어보려 한다.
linear combination의 형태로 만드는 조건에 룰이 있다.
- 자기 자신의 free variable은 1
- 다른 free variable은 0
- 그 외의 값에 대해서는 순서대로 넣고 -를 붙여준다.
아래의 그림을 보면서 이해해보자. 여기서 v, z가 free variable이라고 했다. v와 z 칼럼에 해당하는 부분의 원소를 룰을 따르며 순서대로 넣어주면된다. 그림에서 special soluation을 만드는 것인데, v의 칼럼의 요소 3, 0, 0을 v의 위치(두번째 요소)를 제외하고 매칭시켜주면서 넣는다. 그때 u(첫번째 요소)와 w(세번째 요소)는 -를 붙여서 넣어주는 것이다.
$$ \begin{bmatrix} u \\ v \\ w \\ z \\ \end{bmatrix} = \begin{bmatrix} -3v + z \\ v \\ -z \\ z \\ \end{bmatrix} = v\begin{bmatrix} -3 \\ 1 \\ 0 \\ 0 \\ \end{bmatrix} + z\begin{bmatrix} 1 \\ 0 \\ -1 \\ 1 \\ \end{bmatrix} $$
4차원 공간에서 [u, v, w, z]의 null space를 구성하는 벡터 X는 free variable에 의해 정의된 linear combination으로 표현될 수 있다는 것을 기억하자.
추가로 아래의 방정식이 있을 때 해가 $2x + 2y = 0, x+y = 0$ 이렇게 나왔을 땐 어떻게 행렬로 표현할까?
$$ x + 2y + z = 0 \\ x -z = 0 $$
이것도 마찬가지로 pivot variable을 free variable의 형태로 표현해주면 된다.
x = -y로 두고, x가 pivot variable이고, y가 free variable이라고 한다면,
x는 1이고, y는 반대부호 -1로 해주고, z는 성분이 없으니 아래와 같이 표현된다.
$$ c \begin{bmatrix} 1 \\ -1 \\ 0 \\ \end{bmatrix} $$
이것은 기하학적으로 xyz 3차원 공간에서 x + y = 0을 만족하는 xy 평면 상의 직선을 벡터로 표현한 것이다.
결론을 다시 정리해보면, Ax = 0을 만족할 때 N(A)를 구하면 다음과 같이 된다.
$$ N(A) = \{ \begin{bmatrix} u \\ v \\ w \\ z \\ \end{bmatrix} \Bigg | \space c_1\begin{bmatrix} -3 \\ 1 \\ 0 \\ 0 \\ \end{bmatrix} + c_2\begin{bmatrix} 1 \\ 0 \\ -1 \\ 1 \\ \end{bmatrix}\} $$
N(A)는 이런 special solution으로 이루어진 linear combination의 조합의 집합임을 알 수 있다.
그리고 또 하나 알아두면 좋은 것은 미지수는 4개이니 dimension 4에 해당하지만 N(A)의 dimension은 special solution의 독립된 벡터의 갯수로 결정된다. 그래서 이 경우는 dimension은 2차원이 된다.
그럼 이런 의문이 들 것이다. 총 4차원인데 나머지 2차원은 어디 갔느냐? 여기엔 Row space를 더하면 총 4차원이된다.
반대로 column space는 $A^\top y = 0$에서의 Left Null 차원을 구해서 더하면 4차원이 된다.
더 구체적인 이야기는 다음 포스팅에서 해보겠다.
'선형대수학' 카테고리의 다른 글
[선형대수학] 역행렬(Inverse)과 전치 행렬(Transpose) (0) | 2024.09.13 |
---|---|
[선형대수학] LU Decomposition (LU Factorization) (0) | 2024.09.03 |
[선형대수학] 가우스 소거법 (Gaussian elimination) (0) | 2024.09.02 |
[선형대수학] 선형성(Linearity)의 조건 (0) | 2024.08.31 |