이번 포스팅에서는 Orthogonality에 대해서 공부해보려고 한다.


우선 Orthogonality를 공부하기 전에 이것을 왜 공부하는지부터 알아보도록 하자. 

위와 같이 세 개의 점이 있다고 해보자. 위의 세 개의 점은 한 직선 상에 있지 않다. 따라서 위의 세 점을 지나는 하나의 선은 없다. 아래의 식을 보자.

그렇다면 그냥 포기할까? 아니다! 우리는 위의 식에서 가장 가까운 해를 구할 것이다. 그것을 알기 위해서 가장 먼저 공부해야 하는 개념이 Orthogonality이다. 직각이라는 말이다.


자 이제 위의 그래프는 조금 나중에 생각해보고 본격적으로 Orthogonality를 공부해보자. 보통 두 개의 vector가 Orthogonal하다는 말은 두 vector가 90도를 이룬다는 말이다. 두 개의 vector가 Orthogonal하면 두 vector의 dot product은 0이 된다. 이 orthogonality를 subspace에 적용하여 말해보면 아래와 같은 정의를 내릴 수 있다.

두 개의 subspace V와 W가 Orthogonal이면 V에 있는 모든 vector v와 W에 있는 모든 vector w는 Orthogonal이다. 따라서 v · w = 0 이다. 이를 행렬로 표현하면 (V Transpose)W = 0 이라는 말이 된다.


이제는 우리가 이전 포스팅에서 공부했던 Four Subspace에서 어떤 subspace들이 서로 Orthogonal한지 알아보자. 결론부터 말하면, A라는 matrix에 대해서, row space of A와 null space of A가 Orthogonal하고, column space of A와 null space of A Transpose가 Orthogonal하다.


두 정리 중 하나만 증명을 해보자. "row space of A와 null space of A가 Orthogonal하다"를 증명해보도록 하자. 이 말은 다시 말하면, null space of A에 있는 모든 vector x는 A의 모든 row space와 Orthogonal하다는 말이다.


나머지 하나의 정리 역시 거의 똑같은 방법으로 증명이 가능하다.


이번 포스팅은 조금 짧게 끝내자. 오늘 공부한 이 개념을 이용해서 projection을 다음 포스팅에서 공부해보려고 한다.


Posted by 빛나유

댓글을 달아 주세요

이번 포스팅에서는 Four Fundamental Subspaces에 대해서 이야기해보려고 한다. 이 네 개의 Subspace를 잘 이해하면 Linear Algebra의 상당부분을 이해한 것이라고 봐도 된다고 하드라. (그래서 내가 아직 잘 Linear Algebra를 모르고 있는 것 같다-_-)


아무튼 Four Fundamental Subspace가 무엇인지 알아보자. 우리가 하나의 Matrix A가 있을 때, 이 Matrix의 Four Fundamental Subspace를 아래와 같이 이야기 한다.

1. Column Space of A

2. Null space of A

3. Column space of A Transpose

4. Null space of A Transpose


이 네개의 space에 대하여 basis와 dimension을 구해볼 생각이다. 자, Column space of A부터 생각해보자. (단 A는 mxn matrix)


1. Column space of A

1.1 basis : pivot column

Column space of A의 basis는 우선 쉽게 생각해보면 모든 Column들의 Linear Combination이다. 그래 맞는 말이긴 하다. 그런데 이 답에서 조금 불필요한 부분을 빼보려고 한다. Column space of A의 basis는 pivot column들이다.


pivot column들이 basis임을 증명하기 위해서는 pivot column들이 independent한지와 pivot column들이 Column space of A를 span하는지를 보면 된다.

1.1.1 Are pivot columns of A independent? YES

이것을 보이기 위해서 pivot column들의 linear combination이 0이 되는 것이 zero vector 밖에 없다는 것을 보이면 된다.


1.1.2 Does pivot Column span Column space of A? YES

1.1.1과 1.1.2에 의해서 Column space of A의 basis가 pivot column임을 보였다.


1.2 Dimension : r

이건 굳이 설명할 필요가 없다. dimension의 정의가 "한 space에서의 basis를 이루는 Vector의 개수"이기 때문이다. Column space of A의 basis는 pivot column인데, 하나의 Column space of A에 pivot column 개수는 몇 개인가? r 개이다. 


dimension의 정의를 "한 space에서의 basis를 이루는 Vector의 개수"라고 수학적으로 설명했었는데, 이제 조금 더 직관적으로 이해가 되는 것 같기도 하다. 우리는 지금까지 예를 들어, 3차원이면 X Y Z 축 세 개가 있으니까 3차원이라고 이야기해왔다. 그런데 X, Y, Z를 각각 말해보면 (1,0,0), (0,1,0), (0,0,1)이며 이는 서로 independent하고 R3를 span한다. 즉, 하나의 공간을 모두 표현할 수 있는 벡터의 개수가 dimension이라는 말인 것 같다.


2. Null space of A

2.1 basis : All linear combination of free columns

Ax = 0의 special solution을 구해보면 금방 안다.


위에서 볼 수 있듯이, special solution이라함은 free column에서의 각각의 element를 하나만 1로 놓고 나머지는 0으로 놓았을 때의 답이다. 그 1이 된 free variable은 Null space of A내에서 Identity matrix를 이룬다. 따라서 자연스럽게 free variable이 basis가 될 수밖에 없다.


2.2 dimension : n-r

이 역시 그리 어렵지 않게 생각해볼 수 있다. Column space에는 n개의 element가 있다. 그 중에 r개가 pivot column이고 n-r개가 free column일 것이다. free column으로 special solution을 만들면 당연히 n-r개의 special solution이 나올 것이고 이는 basis를 이룰 것이며, 따라서 n-r dimension이다.


3. Column space of A Transpose

3.1 basis : First r column space of A Transpose

A Transpose는 Matrix A의 행과 열을 바꾼 것이다. 즉 A Transpose의 Column space는 A의 row space이다. 그래 앞으로는 row space라고 말하련다. row space의 basis는 무엇이 될까? 간단하다. 일반적으로 A가 row reduced echelon form인 R이 되려면 어떻게 해야하는가? A의 row에 대하여 곱하고 더하고 빼는 등의 계산을 해야한다. 즉, A의 rowspace와 R의 row space는 같은 공간이다. 그런데 R에서 보면, 마지막 m-r개의 행은 분명 0으로 이루어진 행들일 것이다. 따라서, 처음 r개의 행이 R의 basis를 이루며, 이 말은 A의 basis 또한 처음 r개의 행이라는 것이다. 조금 복잡할 수도 있으므로 아래의 예를 통해 보자.


3.2 dimension : r

이것 또한 당연하다. 처음 r개의 row가 basis였으므로 r이 dimension이다.


4 Nullspace of A Transpose

4.1 basis : m-r rows from the last row of matrix

조금 조금씩 이해해보니까 당연할 수 밖에 없다는 생각이 막 든다. 좋은 현상이다.


4.2 dimension : m-r

굳이 설명 안 해도 된다. basis가 마지막 m-r이므로 dimension 역시 m-r 이다.


눈치상 봐서 알겠지만 우리는 basis를 알면 dimension은 정말 쉽게 구하게 된다. basis를 이루는 vector들의 개수가 dimension이니까. 


휴, Four Fundamental Subspace 이제 설명 마쳤다. 여기서 가장 어려웠던 내용은 column space of A의 basis가 pivot column이라는 내용이었다. 이해하는데도 하루 종일이 걸렸고, 이해했다고 생각하여 포스팅을 쓰는데도 조금씩 햇깔려서 저부분 쓰는데만 3시간 걸린듯 하다. 이렇게 하나 이해하고 나니까 나머지는 술술 풀리드라. 아마도 column space of A의 basis를 이해하는 과정에서 나의 이해도도 많이 좋아져서 그런 듯 하다.


(이제 다시 강의를 듣자. 빨리 Eigenvector와 Eigenvalue 부분을 공부해야 되는딩...)

Posted by 빛나유

댓글을 달아 주세요

  1. jh 2015.10.20 08:08  댓글주소  수정/삭제  댓글쓰기

    글 잘봤습니다 많이 배우고갑니다

  2. 학생 2016.04.17 08:46  댓글주소  수정/삭제  댓글쓰기

    Eigenvector, Eigenvalue 아닐까요??
    잘보고갑니다!

이번에는 벡터들간의 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 빛나유

댓글을 달아 주세요

  1. dd 2016.05.10 07:27  댓글주소  수정/삭제  댓글쓰기

    도움이 됐습니다

  2. 감사합니다 2016.10.21 16:47  댓글주소  수정/삭제  댓글쓰기

    감사합니다~ 포스트들이 아주 알차네요 ㅡ.ㅡ 저도 비슷한 교재로 공부하고있는것같습니다 교재가 영어라서 이해못한부분들을 잘 짚어주시네요 감사합니다