어쩌다데싸
데이터 사이언티스트를 위한 선형대수 정리 (2) - 선형 변환 본문

행렬은 선형대수에서 단순히 숫자 배열 모음이 아니라 공간을 바꾸는 함수로 작용한다. 지난 글에서 행렬을 통해 연립방정식을 표현할 수 있다는 것을 살펴봤고, 역행렬과 행렬식을 통해 해가 유일한지 등을 구할 수 있었다. 행렬을 계산의 관점에서 살펴봤다면 이번 글에서는 '변환'의 관점에서 행렬을 다뤄보려고 한다.
선형 변환(Linear Transformation)
0. 선형 변환은 왜 중요할까?
AI에서 자주 사용하는 선형 회귀, PCA, 차원 축소, 임베딩, 신경망 등 대부분의 기술들은 행렬 연산을 기반으로 작동한다. 하지만 행렬을 단순히 계산을 위한 도구라고 이해하기보단 어떻게 동작하는지를 이해해야 모델에 대해 더 깊게 이해할 수 있다.
여기서 선형 변환이 중요한 이유는 행렬 연산을 '공간의 변화'로 해석할 수 있게 해주기 때문이다. 예를 들어, PCA는 데이터가 가장 많이 퍼져 있는 방향으로 좌표계를 다시 잡는 선형 변환의 과정이다. 선형 회귀는 입력 공간을 특정 방향으로 투영(projection)하는 변환으로 이해할 수 있다. 신경망의 각 레이어도 마찬가지로, 이전 레이어의 표현 공간을 다음 표현 공간으로 옮기는 선형 변환과 비선형 변환의 조합이다.
따라서 선형 변환을 이해함으로써 행렬을 계산 대상이 아니라 공간을 바꾸는 함수로 바라보며 모델을 보다 깊게 이해할 수 있는 관점을 익힐 수 있게 된다.
1. 행렬과 연립방정식

Ax = b에 대해 A는 계수 행렬, x는 미지수, b는 상수 벡터를 의미한다. 우리는 x를 구하기 위해 Ax = b 식을 세우는 거죠. 여기서 관점을 살짝 바꿔보면 'x라는 벡터에 A라는 규칙을 적용했더니 b가 되었다'라고도 이해할 수 있다. 여기서 A는 벡터를 입력으로 받아 다른 벡터로 변환, 출력해주는 함수 역할을 한다.

x가 n차원 공간의 벡터일 때, 행렬 A는 x를 m차원 공간의 벡터로 보내는 규칙이다. 여기서 선형 변환 개념이 등장한다.
2. 기본 개념
선형 변환이란 어떤 벡터 공간에서 다른 벡터공간으로 구조를 유지한 채 변환하는 것을 의미한다. 공간을 늘리거나 줄이고, 회전하거나 반사, 투영 등 직선성(Linearity)이 유지된 채로 변환이 이루어지면 선형 변환이다.
수식으로는 아래 두 조건을 만족할 때 선형 변환이라 한다.
- T(u) + T(v) = T(u+v) → 덧셈에 대한 보존
- T(cv)=cT(v) →스칼라곱에 대한 보존
이때, 공간의 구조를 유지한다는 것은 다음과 같다.
- 원점은 원점으로 간다.
- 직선은 직선으로 유지된다.
- 벡터 사이의 비율 관계가 보존된다.
그래서 회전, 확대 및 축소, 반사 같은 변환은 선형 변환이지만 모든 점을 일정 방향으로 옮기는 이동이나 공간을 비트는 왜곡 등은 선형 변환이 아니다.
3. 선형 변환 표기 방식
선형 변환은 보통 다음과 같은 형태로 표현한다.
$T : V → W$
변환 T는 벡터 공간 V에 속한 벡터를 받아 벡터 공간 W에 속한 벡터로 보낸다는 의미다.
이 선형 변환이 하나의 규칙이라고 한다면, 이건 특정 벡터에만 작용하는 게 아니라 공간 V에 속한 모든 벡터들에 대해 적용된다. 선형 변환T를 좌표계 위에서 표현한 것이 행렬 A이기 때문에 T(x) = Ax가 된다. 모든 선형 변환은 행렬로 표현할 수 있고, 모든 행렬 곱은 하나의 선형 변환이라고 이해하자.
4. 기저 벡터와 선형 결합
선형 변환이 공간 V에 속한 모든 벡터에 대해 정의되어 있다고 해서, 모든 벡터의 변환 결과를 하나하나 알아야 하는 것은 아니다.
우리가 좌표를 표현할 때 몇 개의 방향을 기준으로 삼듯이, 공간의 모든 벡터는 몇 개의 기본 방향을 조합해서 표현할 수 있다. 선형 변환은 이 조합 관계를 그대로 유지하기 때문에, 이 기본 방향들이 변환 후 어디로 가는지만 알면 나머지 모든 벡터의 변환 결과는 자동으로 결정된다.
이렇게 공간을 설명하는 데 사용되는 기본 방향을 선형대수에서는 '기저 벡터(basis vector)'라고 부른다. 기저 벡터는 공간을 구성하는 최소한의 방향 집합으로, 이 벡터들을 적절히 조합하면 해당 공간에 존재하는 모든 벡터를 표현할 수 있다.
예를 들어 2차원 공간에서는 보통 두 개의 기저 벡터를 사용한다.
- $e_1 = (1, 0) : x축 방향$
- $e_2 = (0, 1) : y축 방향$
만약 (2, 3)이라는 벡터를 표현한다면 $2e_1 + 3e_2$로 표현할 수 있다. 즉, 개별 벡터는 하나하나 독립적으로 존재하는 것이 아니라 기저 벡터들의 조합으로 이루어지는 결과라고 볼 수 있다.
다시 선형 변환으로 돌아가면, 어떤 벡터 x가 기저 벡터들의 조합으로 표현된다고 하자.
$x = ae_1 + be_2$로 표현할 수 있을 것이다.
앞서 선형 변환 T는 덧셈과 스칼라곱에 대해 보존된다고 언급했으므로 다음이 항상 성립한다.
$T(x) = aT(e_1) + bT(e_2)$
이 식은 선형 변환이 벡터 하나하나를 따로 처리하는 것이 아니라 '기본 방향들이 어떻게 이동하는지' 규칙을 정하고, 나머지 벡터들은 그 규칙대로 따라가게 한다는 것을 의미한다.
5. 행렬과 선형 변환
기본 방향들이 어떻게 이동하는 지에 대한 규칙이 바로 행렬 A이다. 행렬 A의 열들은 n차원의 공간에서의 각 기저 벡터들에 선형 변환 T가 적용된 것과 같다.
2차원의 공간에 대해 행렬 A는 다음과 같다.

그래서 어떤 벡터 x에 대해 Ax를 계산한다는 것은 그 벡터를 구성하는 기저 방향의 비율을 그대로 유지한 채 변환된 새로운 방향으로 다시 조합하는 과정이다.
'행렬 하나로 공간 전체를 어떻게 설명할 수 있을까?'에 대한 대답은 다음으로 정리할 수 있다.
- 모든 벡터는 기저 벡터들의 조합이다.
- 선형 변환은 그 조합 구조를 보존한다.
- 행렬은 기저 벡터의 변환 결과를 담고 있다.
즉, 행렬 하나는 단순한 숫자 배열이 아니라 공간 전체를 어떻게 바꾸는지에 대한 설계도라고 이해할 수 있다.
지금까지는 선형 변환을 통해 공간의 방향들이 어떻게 바뀌는지를 살펴봤다. 이 과정에서 눈여겨볼 점은 변환 후에도 서로 다른 방향으로 남아 있는 벡터들이 있는 반면, 어떤 방향들은 서로 겹쳐 하나의 방향처럼 행동하기도 한다는 것이다.
다음 글에서는 이와 관련한 차원(dimension)과 랭크(rank) 개념을 선형 변환의 관점에서 정리해보려 한다.
'Data&AI' 카테고리의 다른 글
| 데이터 사이언티스트를 위한 선형대수 정리 (1) - 행렬과 방정식 (0) | 2025.11.23 |
|---|---|
| AI 모델에게 현실세계 알려주기 - Feature와 Embedding (5) | 2025.02.02 |