안녕하세요, HELLO
오늘은 길버트 스트랭 (Gilbert Strang) 교수님의 선형대수학 강의인 "MIT 18.06 Linear Algebra, Spring 2005"에 대해서 정리하려고 합니다. 선형대수학 강의에 대한 정리와 더불어, 딥러닝을 위한 선형대수학 관점에서도 접근하여 강의를 이해하고 분석하려고 합니다.
"MIT 18.06 Linear Algebra, Spring 2005"의9주 차 "Independence, Basis, and Dimension"의 강의 내용입니다.
CHAPTER 1. '선형독립(Linearindependence)'
CHAPTER 2. 'SPAN'
CHAPTER 3. '기저 (Basis)'
CHAPTER 4. '차원 (Dimension)'
CHAPTER 1. '선형독립(Linearindependence)'
□ Pivot variable, Free variable
임의의 행렬 A의 크기를 m x n (m <n)인 미지수(unknown)의 개수가 방정식(equation)의 개수보다 더 많은 행렬을 가정해 보겠습니다. 이 경우 행렬 A에 대해서 Ax=0에 대한 0이 아닌 해가 존재하며, 즉 Null space가 존재합니다.
이전에 공부한 내용을 되살리면, Free variable: Ax=b를 [A ; b] 형태의 행렬로 나타낸 뒤, Gauss elimination을 거쳐 다음과 같은 upper triangular matrix가 포함된 [U ; c]로 나타낼 수 있습니다. 이때 pivot이 0이 아닌 column의 경우 (빨간색 음영)에는 pivot variable이며, pivot이 0인 column은 free vaiable입니다.
이전 강의를 통해 소거(elimination)를 통해 행렬을 echelon form으로 만드는 과정에서 pivot이 존재하게 되는데, pivot은 row의 개수보다 많을 수 없습니다. 여기서의 행렬 A는 column의 수 n이 row의 수 m보다 많기 때문에 반드시 pivot이 없는 column이 존재하게 되는데, 이 column이 바로 free column이고 free column에 대응되는 미지수가 바로 free variable입니다.
결국 행렬 A가 m < n인 경우, 반드시 1개 이상의 free variable이 존재하기 때문에 Ax=0에 대한 0이 아닌 해, Null space가 존재하게 됩니다. 정확히는 n-r (rank) 개의 free variable이 존재하게 됩니다. free variable에 0이 아닌 어떤 임의의 값을 설정한 뒤, pivot variable에 대해서 방정식을 풀게 되면 그 해가 Ax=0을 만족하는 0이 아닌 값들이 되어 Null space를 형성하게 됩니다.
□ Linear independence:
벡터 x1, x2,... xn이 있을 때, 만약 모든 계수(coefficient)가 0인 경우를 제외하고 어떠한 선형 조합(Linear combination)으로도 0을 만들 수 없다면 이 벡터들은 독립(Independent)이라고 합니다.
이를 다시 정리해 보면 임의의 벡터 x1, x2가 있다고 했을 때, 이들의 선형 조합을 c1x1 + c2x2라고 하겠습니다. 이때 c1=0, c2=0인 경우를 제외하고, c1, c2에 어떠한 임의의 값을 넣어서 선형 조합 연산을 했을 때 그 어떠한 값을 넣어도 결과 값이 0이 나오지 않는다면 x1과 x2는 독립입니다. 반대로 임의의 c1, c2값으로 선형 독립 연산을 했을 때 결과 값이 0인 경우가 발생한다면 x1과 x2는 종속(dependent) 관계입니다.
임의의 두 벡터인 v1, v2의 관계를 v2는 v1의 두 배에 달하는 길이를 가지고 있고 방향도 같은 것으로 가정해 보겠습니다. 위의 정의에 따라, v1의 두 배에서 v2를 빼면 0이 되는, 즉 0이 아닌 선형 결합을 통해 0이 됩니다. 이로 인해 두 벡터는 종속 (dependent) 관계를 가지게 됩니다.
v1과 v2는 2차원 평면상에 존재하지만, 방향이 같습니다. 이는 같은 직선상에 위치한 것을 의미하며 2차원 평면상에 존재하지만 이 두 벡터로는 1차원밖에 정의할 수 없다는 의미입니다.
선형 조합(linear combination)은 벡터는 변함없이 그대로이고 상수값 c만 바꿔서 계산됩니다. 이것이 의미하는 것은 벡터의 방향은 변함이 없고 크기만 바뀌게 되는데, 선형 조합에 이용되는 벡터들의 크기만을 조절하여 0을 만들기 위해선(모든 c가 0인 경우는 제외함) 반드시 벡터들의 방향이 같아야만 합니다.
결국 모든 계수가 0인 경우를 제외하고, 선형 조합을 통해 결과가 0이 된다는 것은 두 벡터의 방향이 같아야만 성립되기 때문에, 아래처럼 벡터의 방향이 일치한 경우 종속인 것을 확인할 수 있습니다.
아래 그림의 경우 v1벡터가 있고, v2가 0인 경우에는 둘의 관계는 종속(dependent)입니다. 왜냐하면, v1에 0을 곱하고 v2에 어떠한 수를 곱해도 결과는 0이 될 수밖에 없기 때문입니다.
이를 정리하면, 결국 n개의 벡터 중 하나라도 0 벡터일 경우엔 종속(dependent)입니다.
이번에는 m < n인 행렬을 살펴보겠습니다. 임의의 두 벡터는 독립(Independence)인 예시를 들어보겠습니다. 아래 그림에서 두 벡터 v1과 v2를 이용하여 어떠한 선형 조합을 한다 해도 0을 만들 수는 없습니다(c1, c2가 모두 0인 경우는 제외).
만약에 아래 그림과 같이 여기에 임의의 벡터 v3를 추가하면, 벡터는 종속(dependent) 관계를 이루게 됩니다. 행렬이 m < n인 경우에 관한 내용을 통해 2차원 평면에 3개의 벡터가 있을 경우, 적어도 한 개의 free column, free variable을 가지기 때문에 종속 관계임을 확인할 수 있습니다.
3개의 벡터를 아래와 같이 행렬 A의 column으로 표현해 보겠습니다.
column picture로 생각해 봤을 때 이들은 2차원 공간상에 존재하며 3개의 벡터를 가지고 있습니다. 따라서 row의 수 m은 2, column의 수 n은 3이며, 행렬 A는 2x3의 행렬로써 2개의 방정식(equation)과 3개의 미지수(unknown)를 가지고 있으며, free variable이 존재하는 경우입니다.
선형 결합을 보이기 위해 x대신 c를 넣어서 Ac=0를 만들어보면 아래와 같습니다.
위 식(4)에서 c벡터가 Null space에 존재할 때, 어떤 c1, c2, c3값을 통해 선형 결합(Linear combination)을 수행한 결과 값이 영벡터가 될 경우, A의 column은 종속(dependent)입니다.
- 어떤 행렬 A의 column vector가 선형 독립(Linear independence)이기 위해선 A에 대한 Null space가 오직 모든 변수가 0인 경우에 대해서만 존재해야 한다(x1=0, x2=0,... xn=0).
- 어떤 행렬 A에 대해서 Ax=0식에 대한 Null space가 x1=0, x2=0,... xn=0와 같이 모든 x가 0일 때를 제외한 다른 경우가 존재한다면, 그 행렬 A의 column vector는 종속(dependent)이다.
식 (4)의 경우엔 c1=-0.7428, c2=0.5571, c3=0.3714일 경우 그에 대한 선형 결합 결과 값이 0이 되기 때문에 종속이 됩니다. 위의 c값을 통해 세 개의 column vector를 더한 결과가 0이 되는 것을 그래프로 확인할 수 있습니다.
최종적으로 어떤 벡터 v1, v2,... vn이 있을 때, 이 벡터들이 독립(Independence)인지, 혹은 종속(Dependence)인지 판별하기 위한 기준은 다음과 같습니다.
- 독립(Independence)일때
- 벡터들을 행렬 A의 column으로 넣고 행렬 A의 Null space를 체크.
- 만약 이 행렬 A의 Null space(Ax=0)가 오직 zero vector만 존재할 경우, 이 벡터(행렬)들은 독립이다.
- 이때의 행렬 A의 Rank는 column의 수 n과 같다. (Rank=n)
- 따라서 free variable이 존재하지 않는다.
- 종속(Dependence)일때
- 벡터들을 행렬 A의 column으로 넣고 행렬 A의 Null space를 체크.
- 만약이행렬A의Nullspace(Ax=0)가zerovector이외의다른값이존재할경우,이벡터(행렬)들은종속이다.
- 이때의 행렬 A의 Rank는 column의 수 n보다 작다. (Rank<n)
- 따라서 free variable이 존재한다.
- 벡터들을 행렬 A의 column으로 넣고 행렬 A의 Null space를 체크.
CHAPTER 2.'SPAN'
□ Definition
선형대수(Linear algebra)에서 span은 보통 "span a space"라고 표현합니다.
(ref. Wikipedia, in mathematics, the linear span (also called the linear hull or just span) of a set S of vectors (from a vector space), denoted span(S), is defined as the set of all linear combinations of the vectors in S.)
예를 들어 두 개의 벡터 v1=[2, 3], v2=[3, 2]가 있다고 가정해 보면, 두 벡터 v1, v2가 어떤 공간을 "span(포괄하다)한다"라고 했을 때, span이라는 것은 이 벡터들로 형성할 수 있는 공간입니다. v1과 v2의 선형 조합(Linear combination)을 통해 만들어지는 공간을 의미합니다.
임의의 행렬 A의 column vector들을 가지고 가능한 모든 선형 조합을 하고, 이를 통해 column space를 얻을(형성할) 수 있다면, 이를 column vector들이 column space를 "span"한다고 합니다.
- Span Definition (정의)
- 벡터 v1, v2,... vn들의 가능한 모든 선형조합(Linearcombination)으로 공간을 형성하는 것을 의미합니다. 이때 형성되는 공간은 조합되는 벡터에 따라 Rn이 될 수도, 혹은 부분공간(subspace) 이 될 수도 있습니다.
- "span"은 벡터들의 모든 가능한 선형결합(Linearcombination)에 대한 결과 벡터들을 하나의 공간에 몰아넣은 것을 의미합니다. 사용하는 벡터에 따라서는 모든 공간을 채울 수도 있고, 혹은 2차원에선 Line, 3차원 공간에선 평면(Plane)과 같이 부분적인 공간(subspace)만을 채울 수도 있는 것입니다.
- 벡터 v1, v2,... vn들의 가능한 모든 선형조합(Linearcombination)으로 공간을 형성하는 것을 의미합니다. 이때 형성되는 공간은 조합되는 벡터에 따라 Rn이 될 수도, 혹은 부분공간(subspace) 이 될 수도 있습니다.
CHAPTER 3. '기저 (Basis)'
□ Definition
임의의 벡터가 어떤 공간을 "span"하면서, 독립(Independent)인 경우, 이를 기저(basis)라고 정의합니다.
- 기저(basis)는 다음의 두 가지 속성을 가지고 있다.
- 기저벡터들은 독립(Independent)이다.
- 기저벡터들은 공간(space)을 "span"한다.
기저(basis)는 굉장히 중요한 개념이며, 독립과 span은 기저를 설명하기 위한 바탕이었습니다. 3차원 공간(space) R3를 예로 들어보겠습니다. 대표적인 독립이면서 3차원 공간 R3를 "span"하는 벡터는 단위행렬 (Identity Matrix)를 생각할 수 있습니다.
단위행렬의 벡터는 독립(Independent)입니다. v1, v2, v3에 어떤 상수들(c1, c2, c3)을 곱해서 더해도 영벡터를 만들 수 없습니다 (c1=0, c2=0, c3=0인 경우는 제외). 식 (5)는 단위행렬(Identity)이 되며, 단위행렬의 Null space는 [0, 0, 0] T 인 zero vector 하나만 해당합니다.
또한 세 벡터 v1, v2, v3를 이용해 3차원 공간 전체를 "span"할 수 있습니다. 즉 벡터의 선형조합을 통해 3차원 공간상의 어떠한 벡터도 만들어낼 수 있습니다.
따라서 위의 두 가지 사실로부터 식 (5)의 v1, v2, v3는 기저(basis)입니다. 이는 실제로 x축, y축, z 축을 나타냅니다. 특히 이러한 0과 1로만 이뤄지고, 서로 독립인 형태를 표준 기저(standard basis)라 합니다.
(ref. Wikipedia: In mathematics, the standard basis (also called natural basis or canonical basis) of a coordinate vector space is the set of vectors, each of whose components are all zero, except one that equals 1)
여기서 한 가지 중요한 사실은 식 (5)의 벡터가 3차원 공간의 유일한 기저(basis)가 아니라는 것입니다.
- 식 (6)는 두 벡터를 이용해 영벡터를 만드는 상수는 오직 zero vector 뿐이므로 독립입니다. 하지만, 식 (6)의 두 벡터만 가지고는 3차원 공간에서 어떤 평면(plane) 만을 "span"하게 되며, 3차원 공간을 span하지 못 합니다. 따라서 식 (6)은 R3의 기저가 아닙니다.
- 독립 (Independent) 관계, Basis x
- 식 (7)는 세 번째 벡터가 첫 번째, 두 번째 벡터의 합이라서, 독립이 아닙니다. 독립이 아니라는 것은 식(7)의 세 번째 벡터 [3 3 7] T는, 첫 번째 벡터와 두 번째 벡터가 이루는 평면 상에 존재하는 것입니다. 따라서 식 (7)도 R3의 기저가 아닙니다.
- 종속 (Dependent) 관계, Basis x
- 식 (8)은 세 개의 3차원 column vector로 이루어져 있고, 서로 독립입니다. 이는 3차원 공간 전체를 "span"하기에, 식 (8)은 R3의 기저입니다.
- 독립 (Independent) 관계, Basis O
□ 기저 (Basis) 확인 방법
벡터들을 어떤 행렬의 column vector로 만들어서 하나의 행렬을 만든 다음, 가우스 소거(Gauss Elimination)를 통해 echelon form 행렬을 만듭니다. 그런 뒤 이 행렬이 free variable을 갖는지, 혹은 모든 각 column vector가 pivot을 가지고 있는지를 확인하면 됩니다. 즉 행렬의 Rank를 가지고 판별합니다.
만약 N차원의 공간 Rn에 대해 n개의 벡터를 가지고 있을 때, 이들이 기저 벡터(basis vector)이기 위해서는 nxn 행렬이 역행렬이 존재(invertible) 해야 합니다. 즉 3차원 공간 R3의 기저는 3개의 3차원 크기의 벡터가 존재해야 하며, 결국 3x3 크기의 행렬의 역행렬이 존재해야 하는 것입니다. 결국 식(8)과 같이 3차원 벡터 세 개로 구성되면서 서로 독립인 어떠한 벡터도 3차원 공간 R3의 기저(basis)가 될 수 있습니다.
CHAPTER 4. '차원 (Dimension)'
□ Definition
우선 기저(basis)는 유일하지 않습니다. N차원의 공간(space)에 대해 무수히 많은 기저가 존재합니다. 일반적으로는 선(Line)을 1차원, 면(Plane)을 2차원, 입방체(cubic)를 3차원입니다. 이번에는 N차원에 대해 정의할 수 있도록 선형대수의 관점으로 차원을 살펴보겠습니다.
- 식 (6)은 R3에 대한 기저가 아닙니다. 식 (6)은 R2 차원에서 기저에 대한 조건을 충족하기 때문입니다. 식 (6)의 벡터는 독립이며, 이 벡터들의 선형 결합을 통해 형성할 수 있는 공간을 "span"하기 때문입니다. 즉 3차원 공간의 부분 공간(subspace)인 2차원 평면(plane)에 대한 기저입니다. 그러나 어떤 차원의 공간, 즉 3차원 공간에 대한 기저를 이야기할 때 식(6)은 기저라고 할 수 없습니다. 왜냐하면 이들은 3차원 공간을 표현하기엔 벡터가 부족하기 때문입니다.
- 식(7)의 경우엔 벡터의 수는 맞지만, 독립이 아니기 때문에 기저가 아닙니다.
- 반면 식(8)의 경우엔 독립이면서 벡터의 수가 차원의 수(N=3)와 같기 때문에 기저입니다. 2차원의 기저가 되려면 두 개의 벡터가, 4차원의 기저가 되려면 네 개의 벡터가, N차원의 기저가 되려면 N개의 벡터가 있어야 합니다.
column space든, Null space에 상관없이 차원에 대해서는 다음의 정의가 성립합니다.
- 차원(Dimension)
- 주어진 공간(space)들에 대한 모든 기저(basis)들은 같은 수의 벡터를 가집니다.
- 벡터의 수가 바로 그 공간의 차원(Dimension)을 의미합니다.
추가적으로 차원에 대해 이해가 필요하시면 아래 영상을 참조하기 바랍니다.
Drawing the 4th, 5th, 6th, and 7th dimension : https://www.youtube.com/watch?v=Q_B5GpsbSQw
□ Column space의 차원
식(9)의 행렬 A의 column vector들은 column space C(A)를 "span"합니다. 하지만 A의 column vector들은 독립(Independent)이 아닙니다. 왜냐하면 col4가 col1과 같고 col3은 col1+col2이기 때문에 종속(Dependent)입니다.
따라서 A의 column vector들은 A의 column space C(A)의 기저(basis)가 아닙니다.
그렇다면 A의 column space C(A)의 기저(basis)는 pivot column인 col1과 col2입니다. col1과 col2 만 놓고 봤을 때 이들은 독립이면서 column space를 "span"합니다. 하지만 col3, col4는 col1과 col2가 이루는 평면에 존재하기 때문에 새로운 차원을 정의하는데 전혀 도움을 주지 못 합니다.
결과적으로 행렬 A의 column space의 기저는 pivot column인 col1과 col2 두 개의 column vector이고, pivot column의 개수는 곧 A의 Rank입니다. 따라서 A의 rank(=2)는 column space C(A)의 차원(Dimension)과 같습니다.
어떤 행렬 A의 Rank는 행렬 A의 column space C(A)의 차원(Dimension)입니다.
(※ N차원이 아닌 행렬 A의 Column space의 차원임을 유의)
□Null space의 차원
식 (9)의 행렬 A의 free columns에 대응되는 free variable 두 개를 1과 0으로 번갈아 설정하여 두 개의 special solution을 계산하면 아래와 같습니다. 이를 계산해 보면 각각 -col1-col2+col3+0=0, -col1+0+0+col4=0이 됩니다.
두 개의 special solution 벡터의 선형 조합으로 Null space를 만들 수 있기에 기저(basis)입니다.
위의 두 벡터는 Null space에 존재하는 두 개의 해이고, 독립입니다. 또한 Null space의 차원은 free variable의 개수와 같은데, 행렬 A의 free variable은 두 개이고 서로 독립인 두 개의 Null space vector가 존재하므로 식 (10)의 두 벡터는 Null space의 기저입니다.
행렬 A의 column space C(A)의 차원(dim)은 rank의 수 r이고,
행렬 A의 Null space N(A)의 차원(dim)은 free variable의 개수입니다. 이는 전체 column의 수 n에서 pivot variable의 수인 r을 뺀 것과 같습니다. 따라서 n-r=4-2=2가 A의 Null space의 차원이 됩니다.
■ REFERENCE
YOUTUBE LECTURE: https://www.youtube.com/watch?v=yjBerM5jWsc
Free variable, basic variable: https://m.blog.naver.com/crm06217/221674223212
[Linear Algebra] Lecture 9: https://twlab.tistory.com/24
■ 마무리
"MIT 18.06 Linear Algebra, Spring 2005"의 9주차 "Independence, Basis, and Dimension"에 대해서 정리해 봤습니다.
그럼 오늘 하루도 즐거운 나날 되길 기도하겠습니다
좋아요와 댓글부탁드립니다 :)
감사합니다.
'STUDY > Linear Algebra' 카테고리의 다른 글
[MIT 18.06] Lecture 7: Solving Ax = 0: pivot variables, special solutions (0) | 2023.09.17 |
---|---|
[MIT 18.06] Lecture 6. Column Space and Null space (0) | 2023.09.02 |
[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 |
댓글