데이터분석데브코스 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 등의 개념은 데이터의 구조를 요약하고 복잡도를 줄이는 핵심 수단