이번에는 벡터들간의 Independence와 Span 더 나아가 Basis라는 개념까지 공부하려고 한다. 조금 헛깔릴 수도 있다. 다른 포스팅들도 마찬가지이지만, 절대 이 포스팅 하나만으로 모든 것을 알려고 하지 말기를 바란다. 포스팅은 언제까지나 참고자료일 뿐, 본인이 직접 써보면서 연구하고, 구글링도 좀 해보고, 책도 좀 찾아보고 해봐야 된다. 


자 우선, Independence부터 알아보자. 두 개의 벡터가 Independent하다고 말하는데 그것이 무슨 의미인지를 공부해보는 것이다. 우선 정의를 먼저 살펴보자.


0과의 Combination을 제외하고 Vector X1, X2, ..., Xn의 Linear Combination이 Zero Vector를 만들지 못 하면, Vector X1, X2, ..., Xn은 independent하다.


내가 썼지만 진짜 짜증나게 써놨다. 읽기 싫어진다. 조금 더 설명해보자.

vector a와 vector b는 dependent하다.(independent 하지 않다) 왜냐하면, (1,2)와 (2,4)의 Linear Combination이 (0,0)을 만드는 것이 0*(1,2) + 0*(2,4)이외에 다른 조합이 있기 때문이다. -2*(1,2) + 1*(2,4)은 (0,0)을 만든다. 그 외에도 무수히 많다)


하나 더 보자.

역시 두 vector는 dependent하다. 0*(1,2) + c*(0,0)에서 c에 어느 숫자가 들어와도 zero vector를 만들 수 있다. 0*(1,2) + -1*(0,0)도 zero vector를 만들고, 0*(1,2) + 100*(0,0)도 zero vector를 만든다.


이제는 independent한 예를 만들어보자.

자 위의 두 vector는 0*(0,1) + 0*(1,0)을 빼고는 죽었다 깨어나도 (0,0)을 만들 수 없다. 이런 경우는 우리가 두 vector는 independent하다고 하다.


이제 span의 개념을 살펴볼 시간이다. 영어로 span은 무슨 뜻이지? (특정 범위 또는 기간에) 걸치다. 라는 뜻이다. 여기서는 범위에 걸치다가 더 맞겠지. 정의는 이러하다.


vector V1, V2, V3, ..., Vn의 Linear Combination이 space A에 속하면, vector V1, V2, V3, ..., Vn은 space A를 span한다. 다른 말로, space A가 vector V1, V2, V3, ..., Vn의 Linear Combination이면, vector V1, V2, V3, ..., Vn는 space A를 span한다고 한다.


예를 들어서 위에서 independent한 예로 설명한 v1 = (1,0)과 v2 = (0,1)을 예로 들면 어떨까? v1과 v2의 Linear Combination은 (a,b) 모든 vector를 만들 수 있다. 따라서, XY 평면 전체를 아우르게 된다. Linear Algebra에서 이 말을 "v1과 v2는 XY평면을 span한다"고 한다.


independent와 span를 합친 개념이 basis이다.

vector v1, v2, ... vn이 한 space A의 basis라 함은 그 vector v1, v2, ... vn은 

1. 서로 independent하고

2. space A를 span한다

는 말이다.


여기서 중요한 정의 하나를 말하려 한다. 여기서부터 조금 헷깔릴 수 있으니 위의 개념들을 다시 한번 읽어보시길 바란다.


모든 invertible한 nxn matrix의 column은 space Rn의 basis이다.


뭐래냐-_- basis의 개념은 independent와 span를 만족해야 한다고 했다. 그러면 위의 정의를 아래와 같이 바꿔보자.


모든 invertible한 nxn matrix의 column은

1. independent하고

2. space Rn을 span한다.


첫번째 말부터 검증해보자. 모든 invertible한 nxn matrix A의 column space는 independent한가? 즉, Ax = 0을 만족하는 x가 zero vector 밖에 없는지를 보면 된다. A가 invertible하다는 말은 A의 역행렬이 존재한다는 말이다. 따라서 Ax = 0의 양변에 A의 역행렬을 곱해주면, x = (A의 역행렬)0 이 된다. x = 0이 될 수 밖에 없다. 따라서 x는 zero vector이며 A의 column space는 independent하다.


두번째 말을 검증해보자. space Rn을 span한다. Ax = b가 있을 때, b는 A의 Column Space에 대한 Linear Combination이다. 그리고 A가 invertible하기 때문에 x = (A의 역행렬)b로 항상 solution이 존재한다. 따라서 모든 b는 A의 Column Space의 Linear Combination이며 이 말은 Rn을 span한다는 말이 된다. (b가 n개의 component를 가지고 있으니까)


차근차근 Dimension의 개념으로 넘어가보자. 우리는 지금까지 예를 들어서 XY는 2-Dimension이라고 했다. 왜냐면... 음... X 하나, Y 둘 그래서 2 Dimension이라고 했다. 지금부터는 조금 더 수학적으로 Dimension을 정의해보려고 한다. Dimension의 정의는 아래와 같다. 


모든 vector v1, v2, ..., vn과 vector v1, v2, ..., vm가 하나의 같은 space에 대한 basis라면, m과 n은 같다. 다른 말로, 하나의 space는 같은 개수의 basis를 가지고 있다는 것이다.


솔직히 말해서, 빨간 글씨로 된 마지막 두 줄은 잘 이해가 안 간다. 아무튼 책에는 이렇게 나와있다.ㅠㅠ 


아무튼 위와 같은 원리로, m과 n은 같고 그 숫자를 수학에서는 Dimension이라고 한다. 따라서 아래와 같이 다시 정의해보자.


하나의 Space에 대하여 Dimension은 그 space의 basis가 가지고 있는 vector의 개수이다.


예를 들어, v = (1,5,2)가 있다. 이것을 1x3 행렬로 표시했을 때, column 2와 column 3은 Free variable이다. 따라서 pivot column의 개수는 1이다. 다른 말로 rank = 1이다. 그렇다면, null space는 

1. column 2가 1이고 column 3이 0일 때

2. column 2가 0이고 column 3이 1일 때

각각 하나 씩의 solution을 갖는다. X1 = (-5,1,0), X2 = (-2,0,1) 이렇게 두 개의 solution을 갖는다. 이 두 개는 null space의 basis이다. 따라서 Dimension은 2이다.


막막 헷깔리고 그럴 것이다. 지금 내가 포스팅을 하고 있으면서도 내가 제대로 알고 있나 싶다. 나 컴퓨터하는 사람인데 선형대수 왜하지? 그런 생각이 들수도 것이다. 그래도 참고 참고 공부해보자. 그래야 나중에 data mining 공부할 때 편하덴다-_- 


Posted by 빛나유
,