선형대수를 오랜만에 복습할 겸 정리를 하려고 한다.
https://youtu.be/k_yto_vDRF0?list=PL7SDcmtbDTTzQ69rNQ85LyA2WAx438pxz
선형대수학 핵심 개념 정리: Span, Basis, Rank, Null Space
Span과 Basis
Span은 주어진 벡터들의 선형 결합으로 만들 수 있는 모든 점들의 집합이다. 쉽게 말해 그 벡터들로 "커버할 수 있는 공간 전체"다. 예를 들어 동쪽 방향 벡터와 북쪽 방향 벡터가 있다면, 이 둘을 얼마든지 조합해서 평면 위 어디든 갈 수 있다. 이때 span은 2차원 평면 전체가 된다.
Basis(기저)는 그 공간을 빠짐없이, 중복 없이 커버하는 최소한의 벡터 집합이다. 동쪽과 북쪽 벡터에 북동쪽 벡터를 추가해도 갈 수 있는 곳은 늘어나지 않는다. 북동쪽은 동쪽과 북쪽의 조합으로 이미 표현 가능하기 때문이다. 따라서 동쪽과 북쪽 두 개만이 이 공간의 basis다. Basis가 되려면 벡터들이 서로 선형 독립이어야 한다.
선형 독립과 선형 종속
선형 독립은 벡터들 사이에 중복 관계가 없는 상태다. 어떤 벡터도 나머지 벡터들의 선형 결합으로 표현되지 않을 때 독립이라고 한다. 반대로 한 벡터가 다른 벡터들의 조합으로 표현된다면 선형 종속이다.
선형 독립 여부를 판단하는 핵심 질문은 하나다. "0이 아닌 계수 조합으로 0을 만들 수 있는가?" 만들 수 있으면 종속, 없으면 독립이다. 0이 이 기준이 되는 이유는, 두 벡터가 종속이면 a = 2b처럼 등호 관계가 성립하고, 이항하면 a - 2b = 0이 자동으로 만들어지기 때문이다. 0은 종속 관계의 흔적이다.
선형 독립을 확인하는 방법은 세 가지다.
Ax = 0 (Null Space 방법): 선형 결합의 계수를 x로 묶어 행렬식으로 표현하면 Ax = 0이 된다. 이 방정식의 해가 x = 0뿐이면 독립, 0이 아닌 해가 존재하면 종속이다.
Determinant: det(A) ≠ 0이면 독립, det(A) = 0이면 종속이다. 행렬식은 기하학적으로 벡터들이 만드는 평행사변형의 넓이를 의미한다. 넓이가 0이라는 것은 두 벡터가 같은 방향으로 찌그러졌다는 뜻이다. 단, 정사각 행렬에만 사용 가능하다.
Row Reduction: 가우스 소거법으로 행렬을 줄여나갈 때 살아남는 Pivot의 개수를 센다. Pivot 수 = Rank이며, Pivot이 열의 수와 같으면 독립이다.
Rank
Rank는 행렬이 실질적으로 표현하는 독립적인 방향의 수다. 행렬의 크기가 차원을 보장하지 않는다. 3×3 행렬이라도 세 열벡터 중 하나가 나머지 둘의 선형 결합이라면 Rank는 2이고, 실제 표현 가능한 공간은 3차원이 아니라 2차원 평면에 불과하다.
Rank가 중요한 이유는 세 가지다. 첫째, 연립방정식 Ax = b가 풀리는지 미리 판단할 수 있다. Rank = n(full rank)이면 역행렬이 존재하고 해가 유일하다. Rank가 낮으면 해가 없거나 무한히 많다. 둘째, 데이터의 실질적인 정보량을 파악할 수 있다. 1000×1000 행렬이라도 Rank가 5라면 실질 독립 정보는 5차원뿐이다. 셋째, 역행렬의 존재 여부를 결정한다.
Null Space
Null Space는 Ax = 0을 만족하는 모든 벡터 x의 집합이다. 행렬이 어떤 벡터를 0으로 보내버린다는 것은 그 방향의 정보가 변환 과정에서 완전히 소실된다는 뜻이다.
벡터들이 선형 독립이면 Null Space에는 오직 영벡터만 존재한다. 종속 관계가 있을수록 Null Space는 커진다. Null Space와 Column Space(행렬이 표현 가능한 공간)는 서로 보완 관계다. 이 둘의 차원을 더하면 항상 입력 공간의 차원과 같아진다.
Rank + Null Space의 차원 = 전체 열의 수
Matrix as Linear Operator
행렬을 단순한 숫자 묶음이 아니라 "공간을 변환하는 함수"로 볼 때 선형대수학의 진짜 의미가 드러난다. Ax = b에서 A는 x라는 벡터를 받아 공간을 뒤틀어 b로 보내는 변환기다.
행렬의 각 열은 기저 벡터(축)가 변환 이후 어디로 이동하는지를 나타낸다. 회전 행렬이 대표적인 예다. "x축을 θ만큼 돌리면 (cosθ, sinθ)로 가고, y축을 θ만큼 돌리면 (-sinθ, cosθ)로 간다"는 조건을 먼저 정하고, 그 값을 열에 채워넣으면 회전 행렬이 만들어진다.
행렬 곱은 변환의 합성이다. R(α) · R(β) = R(α+β)가 성립하는 것이 그 예다. α만큼 회전하고 β만큼 회전한 결과는 α+β만큼 한 번에 회전한 것과 동일하다. 이 성질 덕분에 삼각함수 덧셈 공식도 회전 행렬의 곱으로 증명할 수 있다.
딥러닝과의 연결: Wx + b
이 모든 개념은 딥러닝의 핵심 연산 Wx + b로 이어진다. W는 입력 공간을 뒤트는 선형 변환이고, b는 공간 전체를 평행이동시킨다. 레이어를 한 번 통과할 때마다 공간은 한 번 변환된다. 레이어를 여러 개 쌓는 것은 이 변환을 반복해서 뒤섞인 데이터를 점점 분리 가능한 공간으로 재배치하는 과정이다.
단, Wx + b만으로는 아무리 반복해도 결국 선형 변환에 불과하다. ReLU, Sigmoid 같은 비선형 활성화 함수가 더해져야 공간이 구부러지고 접혀서 복잡한 경계를 분리할 수 있게 된다.
결국 딥러닝의 학습이란 각 레이어의 W와 b를 조정해 데이터를 가장 잘 분리할 수 있는 변환의 조합을 찾아가는 과정이다. Rank, 선형 독립, Null Space는 모두 한 가지 핵심을 측정한다. 행렬이 수행하는 변환이 얼마나 많은 정보를 보존하는가.
'ML & AI' 카테고리의 다른 글
| 딥러닝을 이용한 자연어 처리 모음 과정 복습 (NLP) (0) | 2026.04.28 |
|---|---|
| [딥러닝, 인공지능] - P1_Ch4 : 파이토치(PyTorch) (1) (1) | 2025.12.28 |