AI/머신러닝

[머신러닝 시작 전] 행렬과 벡터

upstack 2026. 7. 16. 17:48

머신러닝을 공부하다 보면 수많은 데이터와 수식에 압도당하기 쉽습니다. 하지만 이 복잡한 데이터를 단순하고 강력하게 다루는 마법 같은 도구가 있습니다. 오늘은 선형대수학의 핵심이자 머신러닝의 기본 언어인 '행렬'과 '벡터'에 대해 가장 실용적인 관점에서 정리해 보겠습니다.

1. 행렬은 왜 필요할까?

수만 개의 데이터를 하나씩 계산한다면 컴퓨터조차도 오랜 시간이 걸립니다. 행렬은 복잡한 데이터와 연산을 단순화하고, 현실 세계의 문제를 수학적으로 모델링하여 한 번에 해결할 수 있게 해주는 가장 강력한 도구입니다.

2. 개념 정의

선형대수학에서 데이터를 담는 그릇의 형태와 특수한 역할을 하는 행렬들을 표로 정리했습니다.

용어 표기법 핵심 개념
행렬 (Matrix) 대문자 (예: $A$) 수 또는 다항식을 직사각형 모양으로 배열한 것 (예: 3 X 4 또는 4 X 2 형태)
벡터 (Vector) 소문자 (예: $a$) 1개의 열(열벡터)이나 1개의 행(행벡터)으로 이루어진 특수한 형태의 행렬
전치행렬 (Transposed) $A^T$ 기존 행렬의 행과 열을 맞바꾼 행렬
단위행렬 (Identity) $I$ 대각 성분이 1이고 나머지가 0인 행렬. 실수 연산에서 숫자 '1'과 같은 역할을 함
역행렬 (Inverse) $A^{-1}$ 원래 행렬과 곱했을 때 단위행렬($I$)이 되는 행렬. 실수 연산에서 '역수'와 같은 역할을 함

3. 시각화 및 예제 (Implementation/Example)

행렬을 다룰 때는 몇 가지 엄격한 연산 규칙이 존재합니다. 이 규칙들이 머신러닝 알고리즘의 뼈대가 됩니다.

  • 행렬의 덧셈: 두 행렬은 반드시 차원(Dimension)이 같아야만 더할 수 있습니다.
  • 스칼라 곱: 행렬의 모든 성분에 단일 숫자(스칼라)를 곱하여 크기를 조절합니다.
  • 행렬의 곱셈(내적): 앞 행렬의 열 개수와 뒤 행렬의 행 개수가 일치해야만 계산이 성립합니다.

[행렬이 제공하는 강력한 이점 3가지]

  1. 복잡한 데이터 표현: 방대한 다차원 데이터를 간결한 형태의 묶음으로 표현할 수 있습니다.
  2. 효율적인 해법 도출: 수많은 선형 방정식을 행렬식 하나로 묶어 연산 속도를 극대화합니다.
  3. 선형 변환 표현: 2D/3D 벡터 공간에서 객체를 회전, 이동, 확대/축소하는 작업을 단순한 행렬 곱셈으로 처리합니다.

4. 실무 적용 (Application)

가장 직관적인 실무 적용 사례로 '아파트 가격 예측 시스템'을 들 수 있습니다. 집값을 결정하는 수많은 요소가 곱하기와 더하기로 이어진 것을 '선형 시스템'이라고 부릅니다.

[아파트 가격 예측 선형 시스템]

집값 = (크기 $\times a_1$) + (지하철 역 거리 $\times a_2$) + (층수 $\times a_3$)

아무리 복잡하고 변수가 많은 선형 시스템일지라도, 데이터(크기, 거리, 층수)를 묶은 행렬과 가중치($a_1, a_2, a_3$)를 묶은 벡터의 곱셈으로 치환하면 단 한 줄의 수식으로 완벽하게 표현하고 계산할 수 있습니다.

5. 요약 및 회고 (Summary & Takeaway)

  • 행렬과 벡터는 복잡한 다차원 데이터를 간결하게 표현하는 머신러닝의 기본 자료구조입니다.
  • 행렬 연산(덧셈, 내적 등)을 활용하면 거대한 선형 방정식을 매우 효율적으로 처리할 수 있습니다.
  • 선형대수학은 현실 세계의 복잡한 문제(예: 집값 예측)를 컴퓨터가 가장 빠르게 풀 수 있는 형태(선형 시스템)로 모델링하는 강력한 무기입니다.