모두의 AI
머신러닝AI논문
로딩 중…

배우기

🏅내 업적

Ch.03

행렬과 데이터 묶음: 여러 벡터를 한 장에 담는 법

챕터별 수학 도식화

챕터를 선택하면 아래 도식이 해당 챕터 내용으로 바뀌어요. 중급 수학 흐름을 한눈에 보세요.

스칼라11벡터51732-299행렬11058299-834783차원 텐서2차원 묶음11058299-8347811058299-8347811058299-834784차원 텐서3차원 묶음5차원 텐서4차원 묶음
보라색 열이 차례로 강조됩니다. 각 열은 같은 길이를 가진 벡터이고, 세 열을 나란히 붙이면 한 장의 행렬이 됩니다. 오른쪽 패널에서는 m×nm\times nm×n의 의미와 어떤 열을 보고 있는지를 함께 표시합니다. 행을 기준으로 읽으면 샘플별 한 줄이 됩니다(데이터 표의 흔한 관례와 연결).
행렬(Matrix)은 숫자를 가로와 세로로 가지런히 정리해 둔 '마법의 엑셀 표'와 같습니다. 머신러닝에서는 이 표의 가로 한 줄(행)을 '한 사람의 데이터(샘플)'로, 세로 한 줄(열)을 '키, 몸무게 같은 특징(피처)'으로 읽는 경우가 많습니다. 이번 장에서는 앞서 배운 한 줄짜리 벡터(Ch.01)와 내적(Ch.02)이 어떻게 여러 개로 묶여 한 장의 거대한 행렬이 되는지 알아보고, 딥러닝의 핵심인 행렬 곱과 선형층(Ch.04)으로 자연스럽게 넘어갈 준비를 합니다.

행렬과 데이터 묶음: 여러 벡터를 한 장에 담는 법

앞서 배운 벡터가 숫자를 가로나 세로로 한 줄만 적은 '기차'라면, 행렬은 이런 기차들을 여러 대 나란히 세워둔 '거대한 주차장(직사각형 표)'입니다. 크기가 m×nm\times nm×n이라고 하면, 대략 "mmm개의 가로줄(행)과 nnn개의 세로줄(열)이 만나는 격자"라고 읽습니다. 수학이나 AI를 공부할 때 이 '모양(차원)을 먼저 확인하는 습관'은 실수를 줄이는 가장 중요한 비법입니다!
가장 쉬운 비유는 우리가 흔히 쓰는 엑셀 스프레드시트입니다. 표 안의 각 칸은 하나의 숫자를 담고 있습니다. 표를 세로(열)로 쭉 읽어 내리면 "모든 사람의 키 데이터 묶음"이라는 하나의 특징 벡터가 되고, 표를 가로(행)로 쭉 읽으면 "A라는 사람의 키, 몸무게, 나이 기록"이라는 한 사람의 샘플 벡터가 됩니다. 즉, 같은 표라도 어느 방향으로 읽느냐에 따라 데이터의 의미가 완전히 달라집니다.
핵심 수학 규칙은 다음과 같습니다.
1. 크기(모양): 행렬 AAA가 m×nm\times nm×n이라는 것은 mmm개의 행(가로줄)과 nnn개의 열(세로줄)을 가졌다는 뜻입니다.
2. 원소의 주소: iii번째 가로줄, jjj번째 세로줄에 있는 숫자는 aija_{ij}aij​라고 부릅니다. (예: 2층 3호실)
3. 전치(Transpose): 행렬의 가로와 세로를 휙 뒤집는 연산입니다. 기호로는 ATA^{\mathsf T}AT라고 쓰며, m×nm\times nm×n 행렬을 n×mn\times mn×m 모양으로 바꿉니다. ((AT)ji=aij(A^{\mathsf T})_{ji}=a_{ij}(AT)ji​=aij​)
4. 벡터와의 관계: 열 벡터 aj\mathbf{a}_jaj​들을 나란히 이어 붙이면 A=[a1 ⋯ an]A=[\mathbf{a}_1\ \cdots\ \mathbf{a}_n]A=[a1​ ⋯ an​] 형태의 표가 됩니다.
5. 덧셈과 스칼라배: 벡터와 마찬가지로 모양이 완벽히 같은 행렬끼리만 계산할 수 있으며, 같은 위치의 숫자끼리 더하거나 모든 숫자에 동일하게 곱해줍니다.
딥러닝에서는 AI가 생각하는 뇌 구조(가중치)가 바로 이 행렬로 이루어져 있습니다. 수만 장의 고양이와 강아지 사진을 학습할 때, 이 사진들을 하나하나 계산하지 않고 커다란 행렬로 묶어서 한 번에 곱해버립니다(배치 학습). 머신러닝에서 흔히 등장하는 설계행렬(Design Matrix) 역시, 수많은 데이터 특징들을 행이나 열로 겹겹이 쌓아 만든 튼튼한 데이터 묶음입니다.
한 줄 요약: 행렬은 여러 개의 벡터를 한 장에 예쁘게 묶어 놓은 거대한 표입니다. 어느 방향(가로/세로)으로 읽느냐에 따라 샘플이 되기도 하고 특징이 되기도 합니다. 표를 휙 뒤집는 전치(Transpose)는 데이터의 짝(차원)을 맞출 때 사용하는 필수 도구이며, 이 개념들을 단단히 다져두면 다음 장의 행렬 곱과 선형 변환을 아주 매끄럽게 소화할 수 있습니다.
Ch.01에서 벡터, Ch.02에서 내적을 배웠다면 Ch.03은 이 둘을 실전 규모로 확장하는 핵심 관문입니다. 중요한 포인트는 "계산식을 외우는 것"이 아니라 연산 단위를 벡터 1개에서 행렬 전체로 올리는 사고 전환입니다. AxA\mathbf{x}Ax를 이해하면 "행마다 내적이 한 번씩 일어나 결과 벡터가 만들어진다"는 구조가 보이고, 이 구조는 다음 장의 행렬곱, 선형층, 역전파까지 그대로 이어집니다. 즉, 행렬은 단순한 표가 아니라 딥러닝 계산 그래프의 기본 문장입니다.
현실 데이터는 거의 항상 여러 축을 동시에 가집니다. 기본은 샘플 수 ×\times× 특징 수(행렬)이고, 여기에 배치·시간·채널 축이 추가되면 곧바로 텐서가 됩니다. 예를 들어 영상 데이터는 `(배치, 시간, 높이, 너비, 채널)`처럼 5차원 텐서로 다루지만, 내부에서는 특정 축을 합치거나 펼쳐 2차원 행렬 연산으로 처리한 뒤 다시 원래 축 구조로 복원합니다. 그래서 행렬을 정확히 이해하는 사람은 텐서도 빠르게 이해합니다. 반대로 이 감각이 없으면 shape mismatch, 브로드캐스팅 오해, 축 순서 실수 같은 오류가 반복됩니다.
머신러닝 파이프라인에서는 대부분의 입력이 설계 행렬 X∈Rm×nX\in\mathbb{R}^{m\times n}X∈Rm×n로 시작합니다. 전처리(표준화/결측치 처리)도 열 단위로 적용되고, 학습은 XwX\mathbf{w}Xw 같은 행렬-벡터 연산으로 진행됩니다. 추천 시스템은 사용자-아이템 행렬의 빈칸을 채우는 문제로, NLP/비전은 임베딩을 행렬 또는 텐서로 쌓아 유사도/점수를 계산하는 문제로 귀결됩니다. 핵심은 도메인이 달라도 계산의 뼈대는 같다는 점입니다: 쌓고, 곱하고, 축을 맞춥니다.
선형대수/기하 관점에서는 행렬이 "공간을 어떻게 바꾸는지"를 설명합니다. 회전, 스케일, 축 혼합, 투영이 모두 행렬로 표현됩니다. 텐서는 이런 변환을 여러 축에서 동시에 수행하는 확장판입니다. 예를 들어 배치가 64개인 입력 텐서에 같은 선형층을 적용한다는 말은, 사실상 같은 행렬 변환을 64번 병렬 적용한다는 뜻입니다. 따라서 "텐서가 어렵다"고 느껴질 때 가장 효과적인 접근은 텐서를 행렬 블록으로 분해해 읽는 것입니다. 이 습관이 생기면 모델 구조를 해석하고 디버깅하는 속도가 크게 빨라집니다.
아래 표에는 문제 풀이에 필요한 기호와 차원 규칙을 요약했습니다. 풀이 예시는 대표 유형별로 단계를 적어 두었습니다.
  • 기호m×nm\times nm×n
  • 의미mmm행 nnn열(행이 mmm개, 열이 nnn개)
  • 기호aija_{ij}aij​
  • 의미iii행 jjj열 원소
  • 기호ATA^{\mathsf T}AT
  • 의미전치: (AT)ji=aij(A^{\mathsf T})_{ji}=a_{ij}(AT)ji​=aij​
  • 기호열 벡터 aj\mathbf{a}_jaj​
  • 의미AAA의 jjj번째 열을 벡터로 본 것
  • 기호같은 모양
  • 의미A+BA+BA+B는 AAA와 BBB의 모양이 같을 때만
  • 기호AuA\mathbf{u}Au (예고)
  • 의미각 행과 u\mathbf{u}u의 내적들로 이루어진 벡터
기호의미
m×nm\times nm×nmmm행 nnn열(행이 mmm개, 열이 nnn개)
aija_{ij}aij​iii행 jjj열 원소
ATA^{\mathsf T}AT전치: (AT)ji=aij(A^{\mathsf T})_{ji}=a_{ij}(AT)ji​=aij​
열 벡터 aj\mathbf{a}_jaj​AAA의 jjj번째 열을 벡터로 본 것
같은 모양A+BA+BA+B는 AAA와 BBB의 모양이 같을 때만
AuA\mathbf{u}Au (예고)각 행과 u\mathbf{u}u의 내적들로 이루어진 벡터
항목별 자세한 설명
① 모양 행렬곱·덧셈에서 가장 먼저 확인할 것은 차원(모양)입니다.
② 전치 데이터 파이프라인에서 특징 축과 샘플 축을 바꿔 맞출 때 자주 씁니다.
③ 열/행 관점 같은 AAA라도 ‘열을 특징으로 볼지, 행을 샘플로 볼지’는 문제 설정에 따릅니다.
④ Ch.02 연결 행 벡터와 열 벡터의 내적이 곧 행렬·벡터 곱의 한 줄입니다.

연습 문제

영행렬의 성질로 옳은 것은?
1 / 10