brunch

매거진 Math for AI

You can make anything
by writing

C.S.Lewis

by 코딩하는 수학쌤 Apr 29. 2023

[MML] 2.4.2 Vector Space

Mathematics for machine Learning(머신러닝수학)

https://youtu.be/L_yKD_LOPLI

(요즘 업데이트가 너무 늦습니다. 제 상황이..ㅠ)


이번 글 Vector Space에 대한 강의 영상입니다. 내용 글은 아래에 이어집니다. 

유튜브 '코딩하는 수학쌤' 검색해주시고 구독, 좋아요, 부탁드립니다!


 

group에서는 하나의 연산에 대해서만 정의를 합니다. 즉 G의 원소에만 적용하는 연산을 inner operation이라고 한다면 이번 시간에는 G 외의 집합의 원소에 대해서도 적용할 수 있는 outer operation에 대해서도 살펴볼 예정입니다. (이는 벡터의 내적, 외적과는 다른 용어입니다) 




[정의] Vector Space

벡터 공간은 아래의 4가지 조건을 만족할 때, 두 연산에 대해 정의된 벡터라고 이야기합니다.

Mathematics for Machine Learning (Marc Peter Deisenroth) - 37p

이 집합에 속해있는 원소 x를 가리켜서 벡터(vector)라고 합니다. 


 특히 vector addition(벡터 덧셈)에 대해서 [0, 0, ..., 0]으로 되어있는 벡터를 zero vector라고 하고, 벡터에 곱하는 실수를 scalar라고 하며 scalar와 vector의 곱을 multiplication by scalars(스칼라에 의한 곱)이라고 합니다. (scalar product와는 좀 다른데 이는 3.2에서 다룰 예정입니다. 이 책에서는 scalar product = inner product, 내적으로 같이 쓰고 있습니다.)


참고로 vector multiplication은 정의되지 않습니다. 이론적으로는 각 원소끼리 곱하는 곱을 정의할 수는 있습니다. 이러한 'array multiplication'은 컴퓨터 언어에서는 많이 쓰이지만, 수학에서는 행렬의 곱 외에는 따로 사용하지 않습니다. (합성곱이나 외적은 여기에서 따로 다루지 않아요~)


자, 그럼 vector space의 예시를 한 번 살펴볼께요.


Mathematics for Machine Learning (Marc Peter Deisenroth) - 38p

- n차원의 실수 tuple 집합은, 성분끼리 합하고, 실수배를 각 성분마다 해주는 vector space을 형성합니다.

- m×n 행렬에서는 각 성분의 덧셈, 그리고 각 성분에 실수배를 하는 vector space을 형성합니다. 

- 복소수도 덧셈과 실수배로 vector space를 형성합니다.





Vector Subspaces : 벡터 부분 공간


여기에서는 vector subspace에 대하여 다루어보려고 합니다. 직관적으로 이 vector subspace는 원래의 vector space에 포함이 되어있습니다. 그런데 vector space에 정의된 연산을 vector subspace에 적용을 시켜보면 그 연산의 결과가 절대로 vector subspace를 벗어나지 않게 됩니다. 예를 들어 전체 vector space를 정수, 스칼라 또한 정수로 주었다고 가정하겠습니다. 이 때 짝수들의 집합 (음수 포함)은 vector subspace가 되는데, 이 짝수들끼리 더하고 빼고 정수배를 하더라도 계속 짝수에 머무르게 됩니다. 이러한 의미에서 vector subspace는 'closed(닫혀있다)'라고 이야기를 합니다.


 이러한 vector subspace는 머신 러닝에서 key idea가 됩니다. 예를 들어 10장에서는 이러한 vector subspace를 사용해서 차원 축소(dimensionality reduction)를 하는 것을 볼 수 있습니다.




[정의] Vector subspace

V=(V, +, ·)를 vector space라고 하고, 공집합이 아닌 부분집합 U가 있다고 할 때, 다음을 만족하면 U를 V의  vector subspace라고 합니다.

 - U 또한 V의 두 연산 +, ·에 대하여 vector space가 됩니다. 즉 + : U×U (이항연산),  · : R×U (실수와 U에 대한 스칼라의 곱)


만약 U가 V의 부분집합이 되면 자연적으로 U는 V의 많은 성질(properties)들을 그대로 받게 됩니다. 예를 들어서 abelian group의 성질, 분배법칙, 결합법칙, 항등원 등을 모두 포함합니다. 따라서 U가 V의 부분집합일 때 vector subspace가 되는지 아닌지를 확인하기 위해서는 2개만 확인하면 됩니다.


Mathematics for Machine Learning (Marc Peter Deisenroth) - 39p



 1. U는 공집합이 아니며, 0은 U의 원소이다.

 2. U의 closure

  - 스칼라의 곱에 대해서도, 벡터의 덧셈에 대해서도 닫혀있다.


아래에서 Vector subspace의 예시를 살펴보겠습니다.


Mathematics for Machine Learning (Marc Peter Deisenroth) - 39p



- Vector space V에 대해서 V 자신도 vectur subspace가 됩니다. 또한 {0}도 vectur subspace가 됩니다.   (위에서 언급한 closure 생각!!)

- A,B,C,D의 그림 중에서 D만 R2(좌표평면)의 vector subspace가 됩니다. A,C는 closure의 성질을 만족하지 않고, B는 0을 포함하고 있지 않습니다.

- Ax=0을 만족하는 해의 집합은 Rn의 subspace가 됩니다.

- Ax=b (b≠0)의 해들은 subspace가 되지 않습니다. 일단 0이 포함되어 있지 않으니까요.

- subspace들의 임의의 교집합에 의한 결과도 subspace가 됩니다.





내용이 많이 딱딱하죠? 힘 내시라는 의미에서..


 이 책에서 매우 딱딱하고 건조한 분야를 지금 힘내서 통과하고 있는 중입니다. 수학과나 수학교육과의 입장에서는 위의 내용이 매우 자명하고 익숙한 내용이지만 정의를 하나하나 곱씹어야 하는 비전공자의 입장에서는 어렵고 낯설기만한 내용입니다. (나중에 유튜브로 강의를 하게 되면 글로만 보는 이 딱딱함이 좀 사라질텐데요.. 대수학에 한 번 빠져들면 정말 그 매력에서 벗어나기 힘듭니다..  ㅋ)


 제가 수학뿐만 아니라 컴퓨터 언어를 비롯한 새로운 내용을 처음 배울 때도 이런 딱딱한 내용을 만나면 이 내용이 말랑해질 때까지, 건조하다면 촉촉하게 다가올 때까지 반복해서 자주 보면서 돌파합니다. 처음엔 낯설고 이해가 안되지만 자주 보면서 조금씩 익숙해지면 머리속에 자연스럽게 자리를 잡게 되더라구요. 그래서 점점 지겨워지시는 분들이 많으실텐데 힘내셨으면 좋겠습니다. ^^ 마치 수학과 학생이 처음으로 컴퓨터 언어를 배울 때 느끼는 답답함과 비슷합니다. 많이 쓰면 익숙해지겠죠? ㅎ


 이 복잡해보이는 vector space이지만 사실은 몇 개의 벡터를 통해서 표현할 수 있다는 개념을 다음 시간에 다룰 예정입니다. 광활한 좌표평면이 사실은 (1,0)과 (0,1)의 조합을 통해 

  (a,b)=a(1,0)+b(0,1)

로 표현할 수 있잖아요? 그런 (1,0), (0,1) (고등학교 기하 시간에서는 '단위벡터'라고 소개됩니다.) 에 해당하는 basis의 개념, 그 basis가 되기 위해서 만족해야 하는 2가지 성질 등에 대해서 배울 예정입니다. vector space는 이 basis만 잘 다루어도 사실은 끝이 나는 거죠. 이 basis는 유일하게 하나만 존재하는 것이 아닙니다. 그럼 basis간에 어떤 관계가 또 있을까요? 그 관계를 설명하는 것이 이 ch2의 뒷부분에 나오는 linear transformation 입니다. 즉 이 basis로 vector space를 설명할 수 있고, 그러면 우리가 다루고 있는 행렬을 포함한 연립일차방정식을 더 큰 vector space의 세계에서 선형대수학의 기법으로 마음껏 요리할 수 있게 됩니다.

 

다음 글 : 2.5 Linear Independent (일차 독립)이 이어집니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari