데이터분석데브코스 8/이론
8주차 5. 머신러닝에 필요한 선형대수
DataJ
2025. 5. 21. 15:43
🔰 1. 선형대수란?
- 정의: 수(숫자)의 집합을 다루는 수학의 한 분야로, 특히 이 수들이 벡터, 행렬, 텐서와 같은 구조로 표현되는 것을 다룸
- 목적: 데이터를 표현·변환·압축·해석하기 위한 수학적 도구
- 응용 분야: 컴퓨터 그래픽스, 물리학, 데이터 과학, 머신러닝, AI 등
- 머신러닝과의 관계:
- 입력 데이터를 벡터·행렬로 표현
- 모델이 데이터를 처리하는 과정은 대부분 선형대수 연산으로 구성됨
🧱 2. 기본 용어 정리
용어설명
스칼라 (Scalar) | 단일 숫자 (예: 5) |
벡터 (Vector) | 1차원 배열, 방향 + 크기 정보 포함 |
행렬 (Matrix) | 2차원 숫자 배열, 벡터의 집합 |
텐서 (Tensor) | 3차원 이상의 데이터 구조 (벡터·행렬의 일반화) |
📌 예: 학급 친구들의 키, 시험점수 등을 하나의 벡터로 만들고, 여러 명을 모으면 행렬이 됨
➕ 3. 행렬 연산의 기본
✔️ 덧셈/뺄셈 (Element-wise)
- 같은 크기의 행렬끼리 각 원소를 위치별로 더하거나 뺌
- A + B 가능 조건: A.shape == B.shape
✔️ 행렬 곱 (Matrix Multiplication)
- A (m×n)과 B (n×k) → 결과는 (m×k)
- 내적(dot product) 기반으로 연산
- 중요한 특성:
- 비가환성: AB ≠ BA
- AB^T ≠ (BA)^T
✔️ Hadamard Product
- 같은 위치의 원소끼리 곱하는 방식
- Element-wise 곱이라고도 하며, A ∘ B로 표기
✔️ 전치행렬 (Transpose)
- 행과 열을 바꿈 → A^T
- A = [[a, b], [c, d]] → A^T = [[a, c], [b, d]]
✔️ 역행렬 (Inverse)
- AB = I 를 만족할 때 B는 A의 역행렬
- 모든 행렬이 역행렬을 갖는 것은 아님 (det(A) ≠ 0 필요)
🔄 4. 선형변환과 고유벡터/고유값
✔️ 선형변환
- 행렬 곱은 벡터의 방향과 크기를 회전·스케일 시키는 변환
- 시각적으로는 벡터의 좌표를 회전시키거나 크기를 변경하는 것
✔️ 고유벡터(Eigenvector), 고유값(Eigenvalue)
- A * v = λ * v 형태를 만족하는 v와 λ
- v: 방향은 그대로이고 크기만 변하는 벡터
- λ: 그 변환의 스케일 (얼마만큼 늘어나거나 줄었는지)
✅ 데이터가 가장 많이 퍼져 있는 방향이 고유벡터이며, 고유값은 그 분산 정도를 나타냄
🎯 PCA(주성분 분석)와 차원 축소에서 핵심적으로 사용됨
🔍 5. 특이값 분해 (SVD: Singular Value Decomposition)
- 정의: 어떤 복잡한 행렬 A를 UΣV^T 세 개의 행렬로 분해하는 기법
- U: A의 행 정보 기반 특이벡터
- V: A의 열 정보 기반 특이벡터
- Σ: A의 특이값 (정보의 중요도 순으로 정렬됨)
SVD vs 고유값분해
구분고유값 분해SVD
적용 대상 | 정사각 행렬만 | 직사각 행렬 포함 가능 |
구성 요소 | A = PΛP⁻¹ | A = UΣV^T |
일반성 | 제한적 | 보다 일반적 |
💡 SVD는 추천 시스템, 문서 요약, 이미지 압축, 차원 축소 등 다양한 머신러닝 모델에서 필수적
📌 요약
- 선형대수는 데이터를 벡터와 행렬로 표현하고 조작하는 기반 도구
- 머신러닝에서는 입력값 처리, 특성 추출, 모델 학습 등 거의 모든 과정에 필수
- 고유값/고유벡터, SVD 등의 개념은 데이터의 구조를 요약하고 복잡도를 줄이는 핵심 수단