선형대수는 벡터, 행렬, 선형 변환을 다루는 수학 분야로, 머신러닝과 데이터 과학의 핵심 기초입니다.
2.1.1. 선형대수가 중요한 이유¶
데이터 표현: 데이터를 벡터와 행렬로 표현
머신러닝: 모델 파라미터, 가중치가 벡터/행렬
차원 축소: PCA, SVD 등
최적화: 경사하강법의 수학적 기초
2.1.2. Python에서의 선형대수¶
# Python 3.13
import numpy as np
from scipy import linalg
# NumPy 기본
a = np.array([1, 2, 3])
A = np.array([[1, 2], [3, 4]])
# 기본 연산
print(a + 5) # 벡터 + 스칼라
print(A @ A) # 행렬 곱
print(np.linalg.inv(A)) # 역행렬2.1.3. R에서의 선형대수¶
# R 4.25.4
# 벡터
a <- c(1, 2, 3)
# 행렬
A <- matrix(c(1, 2, 3, 4), nrow=2, ncol=2)
# 기본 연산
A + 5 # 행렬 + 스칼라
A %*% A # 행렬 곱
solve(A) # 역행렬2.1.4. 주요 개념¶
벡터: 크기와 방향을 가진 양
행렬: 2차원 배열
선형 변환: 벡터를 다른 벡터로 매핑
고유값/고유벡터: 행렬의 특성을 나타내는 값