안녕하세요, HELLO
오늘은 길버트 스트랭 (Gilbert Strang) 교수님의 선형대수학 강의인 "MIT 18.06 Linear Algebra, Spring 2005"에 대해서 정리하려고 합니다. 선형대수학 강의에 대한 정리와 더불어, 딥러닝을 위한 선형대수학 관점에서도 접근하여 강의를 이해하고 분석하려고 합니다.
"MIT 18.06 Linear Algebra, Spring 2005"의 6주차 "Column Space and Null Space"의 강의 내용입니다.
CHAPTER 1. 'Vector Space'
CHAPTER 2. 'Column Space'
CHAPTER 3. 'Null Space'
CHAPTER 1. 'Vector Space'
벡터 공간(Vector Space)은 벡터의 집합입니다. 단순한 집합이 아니라 똑같은 개수의 컴포넌트(x, y,...)로 정의할 수 있는 무수히 많은 벡터들의 집합인데, 벡터의 공간을 이루기 위해서는 아래 정의를 충족해야 합니다.
- 벡터 공간 내에 존재하는 임의의 벡터 v와 w는 그 둘을 더해도 (v+w) 그 결과가 반드시 같은 벡터 공간에 존재해야 한다.
- 벡터 공간 내에 존재하는 임의의 벡터 v에 임의의 상수 c를 곱해도 (cv) 그 결과가 반드시 같은 벡터 공간에 존재해야 한다.
- 벡터 공간 내에 존재하는 임의의 벡터 v, w와 임의의 상수 c, d에 대해 모든 경우의 cv+dw 조합 (각 벡터에 임의의 상수를 곱한 뒤 더하는, 즉 선형 결합(Linear Combination))결과가 반드시 같은 벡터 공간에 존재해야 한다.
벡터 공간의 정의를 바탕으로 부분 공간(Subspace)을 정의할 수 있습니다. 부분 공간(subspace)은 어떤 공간 안에 존재하는 작은 공간(영역)입니다. 임의의 3차원 공간 R^3을 예를 들면 임의의 평면(Plane) 혹은 직선(Line)이 될 수 있겠습니다.
[x, y, z]의 3개의 컴포넌트로 구성된 3차원 공간 R^3가 있습니다. 여기서 부분 공간이라 함은 어떤 임의의 평면 P나 임의의 직선 L이 될 수 있는데, 이때 반드시 만족시켜야 하는 조건이 한 가지 있으며, 이는 모든 부분 공간은 반드시 원점(origin), 즉 [0 0 0] T을 지나야 하는 점입니다.
평면 P에 존재하는 임의의 벡터인 녹색 벡터나 주황색 벡터는 어떠한 임의의 수를 곱하고 서로 더해도 여전히 이 평면 위에 존재합니다. 직선 L도 마찬가지로 임의의 벡터인 빨간색, 파란색 벡터의 어떠한 선형 조합도 이 직선 L 위에 존재합니다.
임의의 P와 L에 대해서, P와 L을 한 번에 같이 놓는다면, 즉 P 부분 공간과 L부분 공간을 하나의 공간으로 생각해 본다면 , 이 P와 L은 각각 혹은 둘 다가 하나의 부분 공간이 될 수 있을까? 란 질문이 생깁니다. 수식으로 나타내면 P와 U의 합집합으로 설명할 수 있습니다.
이 경우 위의 P와 L의 합집합은 부분 공간이라고 할 수 있을까? 란 질문에, 정답은 부분 집합이 아닙니다.
왜냐하면 선형 결합의 규칙이 성립하지 않기 때문이다. 부분 집합이 되려면 집합 내의 원소들끼리 임의의 상수를 곱하거나 공간 내 원소끼리 더해도 같은 공간에 존재해야 한다고 했다. 그러나 위의 평면 P의 주황색 벡터와 라인 L의 파란색 벡터를 더한 결과는 평면도, 라인도 아닌 R^3 어딘가로 향하게 될 것입니다. 즉 P와 L의 합집합은 부분 공간이 될 수 없습니다.
반면에 P와 L의 교집합은 부분 공간이 될 수 있는지에 대해서도 살펴보겠습니다.
결론적으로 P와 L의 교집합은 부분 집합입니다. 아래래 그림에서 P와 L의 교집합, 즉 교점은 원점입니다. P와 L의 유일한 교점입니다. 원점 그 자체도 하나의 부분 공간이 됨을 배웠습니다. 따라서 P와 L의 교집합인 원점이 부분 집합이 됩니다.
위의 예뿐만 아니라 어떠한 부분 집합들의 교집합도 모두 부분 공간이 됩니다. 왜냐하면 각각이 원점을 지나는 부분 공간이기 때문에 겹쳐지는 공간은 반드시 부분 공간이 될 수밖에 없기 때문입니다.
위 내용을 정리하면
- 어떤 부분 공간들의 합집합은 부분 공간(subspace)이 아니다.
- 어떤 부분 공간들의 교집합은 부분 공간(subspace)이다.
CHAPTER 2. 'Column Space'
행렬 A는 3개의 column을 가진 행렬입니다. 각 column은 4개의 원소로 이루어져 있고 4차원 공간 R^4의 부분 공간 (행을 기준으로 차원을 판단함)이다. 이 column space를 C(A)라 표기합니다.
행렬 A의 column 공간, 즉 부분 공간(subspace)은 선형 결합(Linear Combination)을 활용해서 확인할 수 있습니다. 행렬 A의 3개의 column을 활용해 모든 선형 결합의 조합을 찾으면 A가 정의하는 column 부분 공간을 채울 수 있습니다.
A의 부분 공간을 정의하기 위해선 A의 column의 선형 결합(Linear Combination)을 이용하면 됩니다. 하지만 결론적으로 A의 3개의 column의 선형 결합을 통해서는 R^4 전체를 채울 수 없습니다.
이를 위해 A의 부분 공간(subspace)인 column space가 크기를 통해서 알아보겠습니다. 그전에 우선 선형방정식(Linear Equation)에 대해 알아보겠습니다. 위의 식 Ax=b는 A는 4개의 방정식(Equation)과 3개의 미지수(Unknown)를 가지고 있습니다. 이로 인해 Ax=b는 미지수의 개수가 방정식의 개수보다 작기에, 모든 b에 대해서 해를 가지고 있지 않습니다.
4개의 방정식은 A의 4개의 row vector를 계수로 하는 식들을 의미합니다. 3개의 미지수 Unknown은 x=[x1, x2, x3]를 의미합니다. 우리가 찾아야 할 값은 위 식을 만족시키는 해 x=[x1, x2, x3]를 찾는 것입니다.
위 식을 column picture의 형태로 풀어쓰면 아래와 같이 작성할 수 있습니다.
행렬 A의 column의 선형 결합은 R^4를 채울 수 없습니다. 이는 모든 b 벡터에 대해서 해를 구할 수 없다는 말과 상동합니다. 선형 방정식 Ax=b에 대해 b 벡터가 A의 column space에 존재할 때에만 해를 구할 수 있습니다. 즉 b 벡터가 A의 column의 선형 결합(Linear Combination)으로 표현이 가능할 때 Ax=b에 대한 해를 구할 수 있습니다.
다음으로 A의 column space의 크기에 대해서 알아보겠습니다. 이때 주요하게 살펴볼 사항은 A의 column들은 서로에게 독립적(Independent)인지 여부입니다. A의 첫 번째, 두 번째 column 벡터는 상호 독립적(Independent)입니다. 그러나 3번째 column은 기존 두 개의 column에 종속적(Dependent)입니다. 이는 앞의 두 개의 column의 합을 통해 col3를 정의할 수 있기 때문입니다.
col1과 col2를 pivot column이라 합니다. col1이 4차원에서 하나의 line을 정의하고, col2가 또 다른 독립적인 line을 정의하는 데, 이 둘의 조합을 통해 하나의 평면(Plane)을 정의할 수 있습니다. col3는 이 평면 위에 존재하기 때문에 새로운 차원을 정의하는 데에 있어 아무런 기여를 하지 못합니다.
따라서 A의 부분 공간(subspace)인 column space는 4차원 공간에서 2차원 공간인 평면을 정의하는데 그칩니다. column space를 정의하는데 있어, col3를 제외시킬 수 있습니다. 혹은 col1을 제외시키는 것도 가능합니다. col3 관점에서 생각한다면, col3-col2=col1이기 때문입니다.
CHAPTER 3. 'Null Space'
영공간(Null space)은 column space와는 완전히 다른 부분 공간(subspace)입니다. 앞서 이용했던 행렬 A를 그대로 활용해 Null Space를 정의해 보겠습니다.
"선형 방정식 Ax=b에서 b가 zero vector(=Null vector, =0 벡터) 일 때 식을 만족시키는 모든 가능한 해 x에 대한 집합이다. 즉, 선형방정식 Ax=0의 해(Solutions)들이 이루는 공간, Null Space를 의미한다."
위에서 정의한 행렬을 Null Space로 정리해 보겠습니다.
위 식에서 가질 수 있는 해 중에는 바로 영벡터 x=[0 0 0] T가 있습니다. 어떤 Null space든지 반드시 0 벡터(zero vector)를 해로 가집니다. 영벡터를 반드시 포함하기 때문에, 영공간을 벡터 공간(vector space)으로 정의할 수도 있습니다.
영벡터를 제외한 다른 해를 정의해 보면, A의 col1과 col2를 더하고 col3에 -1을 곱하여 더해주면 그 결과가 영벡터가 됩니다. 즉 x=[1 1 -1] T입니다. 영벡터와 임의의 해를 바탕으로, A의 Null space를 정의할 수 있습니다. 이 Null space는 3차원 공간 R^3의 부분 공간(subspace)에서 직선(Line)의 형태로 표현되며, 아래 그림과 같이 zero vector(origin)와 x=[1 1 -1] T를 지나는 검은색 Line으로 정의됩니다. 이것이 R3의 부분 공간인 A의 Null space입니다.
다음으로는 Null space가 벡터 공간인지 아닌지를 확인해 보겠습니다. 이를 확인하기 위해서는 Null space가 공간(space)이라고 정의하기 위한 조건들을 만족하는지 그리고 Ax=0의 해 들은 언제나 부분 공간(subspace)을 이루는지를 확인해봐야 합니다.
Ax=0의 어떤 해를 v라 하고, 그리고 다른 어떤 해를 w라 정의해 보겠습니다. Av=0, Aw=0이라고 할 때, v와 w가 하나의 공간에 존재한다면, A(v+w)=0이 성립해야 합니다. 즉 아래의 조건이 만족하는지를 확인하면 Ax=0의 해들이 공간을 이루는지를 확인할 수 있습니다.
여기서 A(v+w)=0은 분배 법칙(distributive law)에 의해 Av+Aw=0와 같이 쓸 수 있으며, 이를 통해 위 조건을 만족하게 됩니다. 또 한 가지 확인해야 할 사항은 A(cx)=0인데, 여기서 상수 c는 앞으로 뺄 수 있으므로 당연히 위 조건은 성립하게 됩니다.
다음으로, b=zero vector일 때의 Null space 말고도 b가 임의의 값을 가질 때에도 해(solutions)에 대한 벡터 공간이 존재하는지 여부에 대해서 살펴보겠습니다.
위 식은 b가 0이 아닌 임의의 값을 가지는 경우입니다. 여기서 해는 x=[1 0 0] T, 혹은 x=[0 -1 1] T로, 해 들은 벡터 공간(vector space)을 이루지 못합니다.
왜냐하면 해 중에 zero vector는 없으며, 즉 원점을 지나지 않기 때문입니다. b가 0이 아닌 임의의 벡터일 때 어떤 해(solution)들에 대한 평면(plane), 또는 직선(Line)이 있을 수 있지만, 이들은 원점을 지나지 않습니다. 따라서 0이 아닌 임의의 벡터 b에 대한 해의 벡터 공간은 존재하지 않습니다.
■ REFERENCE
YOUTUBE LECTURE : URL
학부생의 주저리주저리 : URL
Learn Again! 러너게인 : URL
■ 마무리
"MIT 18.06 Linear Algebra, Spring 2005"의 6주차 "Column Space and Null space"에 대해서 정리해 봤습니다.
그럼 오늘 하루도 즐거운 나날 되길 기도하겠습니다
좋아요와 댓글 부탁드립니다 :)
'STUDY > Linear Algebra' 카테고리의 다른 글
[MIT 18.06] Lecture 9. Independence, Basis, and Dimension (0) | 2023.09.17 |
---|---|
[MIT 18.06] Lecture 7: Solving Ax = 0: pivot variables, special solutions (0) | 2023.09.17 |
[MIT 18.06] Lecture 5. Transposes, Permutations, Spaces R^n (2) | 2023.08.31 |
[MIT 18.06] Lecture 4. Factorization into A = LU (2) | 2023.08.04 |
[MIT 18.06] Lecture 3. Multiplication and Inverse Matrices (0) | 2023.08.04 |
댓글