[MML]
MML로 배우는 선형대수 1: 벡터 공간과 부분공간
선형대수를 처음 배울 때는 벡터를 "화살표", 행렬을 "숫자 표" 정도로 이해하고 넘어갑니다. 하지만 머신러닝에서 데이터·가중치·임베딩을 다루다 보면, 이 대상들이 왜 하나의 공간 안에서 자유롭게 더하고 곱해도 되는지에 대한 근본적인 약속이 필요해집니다. 그 약속이 바로 벡터 공간(Vector Space) 입니다.
이 글은 머신러닝 수학의 표준 교재인 Mathematics for Machine Learning (Deisenroth, Faisal, Ong) 2장 Linear Algebra, 2.4 Vector Spaces를 기반으로 정리했습니다.
이번 글에서 배우는 것#
- 군(Group) — 집합과 연산이 만족해야 할 최소 규칙
- 벡터 공간의 정의 — 두 연산과 8가지 공리
- 벡터가 화살표만이 아닌 이유 — 다항식·행렬·함수도 벡터
- 부분공간(Vector Subspace) — 공간 안의 공간, 그리고 왜 항상 원점을 포함하는가
- 선형 결합(Linear Combination) 과 생성(Span)
왜 "벡터 공간"이라는 추상화가 필요한가#
의 화살표든, 3차 다항식이든, 이미지든, 우리는 이들을 더하고(덧셈), 상수배 하는(스칼라 곱) 연산을 똑같은 방식으로 사용합니다.
수학은 이 공통점을 뽑아내 "이런 두 연산이 이런 규칙을 만족하는 집합"을 벡터 공간이라고 이름 붙입니다. 한 번 규칙을 정해두면, 화살표에서 증명한 정리가 다항식·행렬·함수에도 그대로 적용됩니다. 추상화의 이점이 바로 이것입니다.
군 (Group) — 벡터 공간의 뼈대#
벡터 공간을 정의하려면 먼저 군을 알아야 합니다. 집합 와 연산 가 다음 네 가지를 만족하면 군 이라고 부릅니다.
| 공리 | 내용 |
|---|---|
| 닫힘성(Closure) | |
| 결합법칙(Associativity) | |
| 항등원(Identity) | |
| 역원(Inverse) |
여기에 교환법칙 까지 성립하면 아벨 군(Abelian Group) 이라고 합니다.
핵심: 정수 덧셈 은 아벨 군이지만, 정수 곱셈 은 역원이 없어(예: 2의 역원 이 정수가 아님) 군이 아닙니다.
벡터 공간의 정의#
벡터 공간 는 두 개의 연산을 가진 집합입니다.
- 벡터 덧셈
- 스칼라 곱
그리고 가 아벨 군이면서, 스칼라 곱에 대해 다음 규칙들을 만족해야 합니다. 정리하면 총 8가지 공리입니다.
| 구분 | 공리 |
|---|---|
| 덧셈 (아벨 군) | 닫힘성, 결합법칙, 항등원(영벡터 ), 역원(), 교환법칙 |
| 분배법칙 1 | |
| 분배법칙 2 | |
| 스칼라 결합 | |
| 스칼라 항등원 |
이 공리들을 만족하는 원소 를 벡터라고 부릅니다.
가장 익숙한 벡터 공간은 차원 실수 공간 이고, 여기서 벡터는 우리가 아는 열 벡터입니다.
주의: 두 벡터의 덧셈과 스칼라 곱은 결과가 반드시 다시 안에 있어야 합니다(닫힘성). 하지만 벡터끼리의 "곱셈"()은 벡터 공간의 정의에 포함되지 않습니다.
벡터는 화살표만이 아니다#
벡터 공간의 공리만 만족하면 무엇이든 "벡터"입니다. 화살표는 그중 한 예시일 뿐입니다.
| 집합 | 벡터의 정체 | 영벡터 |
|---|---|---|
| 좌표 개짜리 열 벡터 | ||
| 차수 다항식 | 상수함수 | |
| 행렬 | 행렬 전체 | 영행렬 |
| 실함수 | 함수 자체 |
예를 들어 두 다항식을 더하거나 상수배 해도 여전히 다항식이고, 8가지 공리를 모두 만족합니다.
그래서 다항식의 집합도 어엿한 벡터 공간입니다.
실무에서는? 딥러닝에서 이미지 한 장은 행렬이자 784차원 벡터입니다.
이렇게 데이터를 벡터 공간의 원소로 보기 때문에, 행렬 연산 하나로 수천 장의 이미지를 동시에 변환할 수 있습니다.
부분공간 (Vector Subspace)#
벡터 공간 의 부분집합 가 그 자체로 다시 벡터 공간이 되면, 를 의 부분공간이라고 합니다.
부분집합 가 부분공간인지 확인하려면 세 가지만 보면 됩니다.
- , 특히 영벡터
- 덧셈에 닫혀 있음:
- 스칼라 곱에 닫혀 있음:
핵심은 부분공간은 반드시 원점을 지난다는 점입니다. 을 대입하면 이기 때문입니다.
원점을 지나는 직선은 의 부분공간입니다. 반면 원점을 지나지 않는 직선(예: )은 을 포함하지 않으므로 부분공간이 아닙니다.
핵심: "원점을 지나는가?"가 부분공간을 가르는 첫 번째 관문입니다. 이 조건을 완화해 원점을 벗어난 평면·직선까지 다루는 것이 다음에 이어질 아핀 공간(Affine Space) 입니다.
선형 결합과 생성 (Linear Combination & Span)#
벡터 와 스칼라 에 대해, 다음 형태의 벡터를 선형 결합이라고 합니다.
어떤 벡터 집합 로 만들 수 있는 모든 선형 결합의 집합을 그 집합의 생성(Span) 이라고 하며, 로 씁니다.
생성은 그 자체로 항상 의 부분공간이 됩니다. 예를 들어 에서 서로 다른 두 벡터의 생성은 원점을 지나는 평면입니다.
실무에서는? "이 특성들의 조합으로 표현 가능한 데이터의 범위"가 바로 생성입니다.
생성이 원래 공간 전체를 덮지 못하면, 아무리 학습해도 표현할 수 없는 방향이 남는다는 뜻이 됩니다.
머신러닝에서의 벡터 공간#
지금까지의 추상적 정의가 실제 ML에서 어떻게 쓰이는지 정리하면 이렇습니다.
| 개념 | 머신러닝에서의 등장 |
|---|---|
| 벡터 공간 | 특성 공간(feature space) — 데이터 1개 = 벡터 1개 |
| 벡터 덧셈·스칼라 곱 | 임베딩 벡터 연산 (예: king - man + woman ≈ queen) |
| 부분공간 | PCA에서 데이터를 사영(projection)하는 저차원 공간 |
| 생성(Span) | 모델이 표현할 수 있는 출력의 범위 |
즉, 머신러닝 모델이 다루는 데이터와 파라미터는 전부 어떤 벡터 공간의 원소이고, 학습이란 이 공간 안에서 좋은 벡터(가중치)를 찾는 과정입니다.
핵심 정리#
| 개념 | 설명 |
|---|---|
| 군(Group) | 닫힘성·결합법칙·항등원·역원을 만족하는 집합+연산 |
| 아벨 군 | 교환법칙까지 만족하는 군 |
| 벡터 공간 | 가 아벨 군 + 스칼라 곱 공리 (총 8가지) |
| 벡터 | 벡터 공간의 원소 (화살표뿐 아니라 다항식·행렬·함수) |
| 부분공간 | 그 자체로 벡터 공간인 부분집합, 반드시 포함 |
| 선형 결합 | 형태의 벡터 |
| 생성(Span) | 만들 수 있는 모든 선형 결합의 집합 (항상 부분공간) |
퀴즈#
Q1. (자연수와 덧셈)은 군일까요? 아니라면 어떤 공리가 깨지나요?
정답 보기
군이 아닙니다. 닫힘성·결합법칙·항등원(, 자연수에 0을 포함하는 정의라면)은 만족하지만, 역원이 없습니다. 예를 들어 의 덧셈 역원은 인데 이는 자연수가 아니므로 역원 공리가 깨집니다.
Q2. 에서 집합 은 부분공간일까요?
정답 보기
부분공간이 아닙니다. 일 때 이므로 이 직선은 원점 을 지나지 않습니다. 영벡터를 포함하지 않으므로 부분공간이 될 수 없습니다. (원점을 지나는 직선 이었다면 부분공간입니다.)
Q3. 벡터 , 의 생성 은 무엇인가요?
정답 보기
가 모든 실수를 취할 수 있으므로, 생성은 전체입니다.
Q4. 차수 인 다항식의 집합이 벡터 공간일 때, 이 공간의 영벡터는 무엇인가요?
정답 보기
모든 계수가 인 다항식, 즉 상수함수 입니다. 어떤 다항식 에 더해도 이므로 덧셈 항등원 역할을 합니다.
다음 글에서는 벡터 공간을 이루는 벡터들이 서로 얼마나 겹치는지를 다룹니다. 선형 독립(Linear Independence), 기저(Basis), 차원(Dimension), 그리고 랭크(Rank) 로 이어질 예정입니다.