#wannabeeeeeee the best DataScientist
기계학습에 필요한 선형 대수 본문
728x90
Ⅰ. 벡터(Vector)
💡 기초 개념
- 스칼라 (Scalar): 숫자 하나 (예: 5, -3.2)
- 벡터 (Vector): 숫자들의 모임으로, 크기와 방향을 가진다.
- 행렬 (Matrix): 여러 개의 벡터가 모인 것.
- 텐서 (Tensor): 행렬보다 더 고차원의 숫자 배열.
정리하면:
스칼라 = 0차 텐서
벡터 = 1차 텐서
행렬 = 2차 텐서
3차원 이상 = 고차원 텐서
📍 벡터의 개념
- 특징 벡터(feature vector): 데이터를 수치 벡터로 표현한 것. (예: 이미지, 텍스트 등)
- 벡터의 크기(norm): 벡터의 길이, 보통 유클리디언 놈(2-놈) 사용
- 단위 벡터: 크기가 1인 벡터. → x / ||x||
📍 벡터 연산
- 내적 (dot product): aᵀb = bᵀa
→ 두 벡터의 방향과 크기 정보를 함께 고려 - 벡터의 선형독립 / 종속:
여러 벡터들의 선형결합이 0이 되는 유일한 경우가 모든 계수 = 0 이면 선형독립, 그렇지 않으면 선형종속 - 기저 벡터 (basis): 벡터 공간을 생성하는 독립된 벡터들의 집합
- 코사인 유사도: 단위벡터 내적을 사용하여 두 벡터 간 방향 유사성을 측정
Ⅱ. 행렬(Matrix)
💡 기본 정의
- 여러 원소들을 행(row)과 열(column)로 구성된 2차원 배열
- 예: m × n 행렬 → m개의 행, n개의 열로 구성됨
📍 자주 사용되는 행렬들
- 영벡터: 모든 원소가 0인 벡터
- 일벡터: 모든 원소가 1인 벡터
- 단위행렬 (I): 대각 원소만 1이고 나머지는 0
- 대칭행렬: Aᵀ = A
- 대각행렬: 대각 원소 외 모두 0
📍 행렬 연산
- 전치 (Transpose): 행과 열을 바꿈 → Aᵀ
- 덧셈/스칼라 곱: 차원이 같은 행렬끼리 덧셈, 스칼라는 원소별 곱
- 곱셈: A(m×p) × B(p×n) = C(m×n)
→ 교환법칙 성립하지 않음
→ (AB)ᵀ = BᵀAᵀ
📍 행렬식 (Determinant)
- 정방행렬(정사각형)의 실수값
→ 역행렬의 존재 여부 판단
→ |AB| = |A||B|
→ |A| = 0이면 역행렬 존재 ❌
📍 역행렬 & 정칙행렬
- A⁻¹이 존재하면 A는 정칙 행렬(nonsingular)
→ 조건: |A| ≠ 0 - A⁻¹ = Aᵀ이면 A는 직교행렬(orthogonal matrix)
→ 각 열벡터는 단위벡터이면서 서로 직교 (정규직교)
Ⅲ. 고유값 & 고유벡터 (Eigenvalues & Eigenvectors)
💡 핵심 개념
- 선형변환 A에 대해, 벡터 x의 방향은 유지되며 크기만 λ배 되는 경우:
- Ax = λx
- 고유값 λ, 고유벡터 x
→ 해가 존재하려면 다음이 성립해야 함: - |A - λI| = 0 (특성방정식)
⚠ 고유값이 0이면?
- A는 비정칙행렬(singular)
→ 역행렬 존재하지 않음
Ⅳ. 스펙트럼 분해 & 특이값 분해
📍 스펙트럼 분해 (Spectral Decomposition)
- 대칭행렬을 고유값과 고유벡터로 분해하는 방법
→ A = QΛQᵀ
→ Q: 고유벡터 행렬 (직교), Λ: 고유값을 대각선으로 나열한 대각행렬
📍 특이값 분해 (SVD, Singular Value Decomposition)
- 모든 형태의 행렬에 적용 가능
- A(m×n) = UΣVᵀ
→ U: 왼쪽 특이벡터,
→ Σ: 특이값(대각행렬),
→ V: 오른쪽 특이벡터
→ 차원 축소, 문서 유사도 계산, 이미지 압축 등에 활용
728x90
'Master's degree > 머신러닝Ⅰ' 카테고리의 다른 글
2장. 기계 학습 (0) | 2025.05.09 |
---|---|
3장. 다층 퍼셉트론 (0) | 2025.05.09 |
1장. 소개 (0) | 2025.04.04 |