행렬
숫자를 직사각형 배열로 나타낸 것
m x n 행렬
m개의 행(row)과 n개의 열(column)로 구성
정방행렬
행과 열의 수가 같은 행렬
대각행렬
주대각선(왼쪽 위에서 오른쪽 아래 방향) 외의 원소가 모두 0인 행렬
단위행렬
주대각선의 원소가 1이고, 나머지 원소가 0인 특별한 대각행렬
대칭행렬
전치행렬과 자신이 같은 행렬
(A = Aᵀ)
행렬 연산
덧셈과 뺄셈
같은 크기의 행렬에서 원소별로 수행
스칼라 곱
행렬의 모든 원소에 스칼라(숫자)를 곱함
행렬 곱셈
(m x n) 행렬과 (n x p) 행렬의 곱은 (m x p) 행렬
전치
행과 열을 바꾸는 연산
머신러닝에서의 활용
선형 회귀 (Linear Regression)
입력 데이터 (X)와 가중치 행렬 (W)의 곱을 통해 예측 (Y)을 수행
Y = X•W
합성곱 신경망 (CNN)
이미지 처리에서 입력 이미지와 필터의 합성곱 연산은 행렬 곱셈으로 표현
필터 행렬과 특징 맵 간의 연산
순환 신경망 (RNN)
Hidden state의 변환은 행렬 곱을 사용
NumPy를 사용하여 행렬 곱셈과 전치 연산을 수행하는 방법
import numpy as np
# 행렬 생성
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
# 행렬 곱셈
result_dot = np.dot(A, B)
print("행렬 곱:", result_dot)
# 전치 연산
transpose_A = A.T
print("전치 행렬:", transpose_A)
벡터화(Vectorization)
많은 머신러닝 라이브러리는 행렬 연산을 최적화하여 벡터화를 지원, 반복문을 사용하지 않고도 대규모 연산을 빠르게 수행할 수 있게 함
희소 행렬(Sparse Matrix)
데이터가 희소한 경우(대부분의 값이 0), 효율적인 저장과 연산을 위해 희소 행렬 표현을 활용
NumPy 외 라이브러리
• TensorFlow 및 PyTorch: 대규모 데이터와 신경망 연산에 적합한 행렬 연산 지원
• SciPy: 고급 선형 대수 연산 및 희소 행렬 연산
'인공지능을 위한 선형대수학 기초' 카테고리의 다른 글
선형 변환 (0) | 2025.01.06 |
---|---|
행렬식과 역행렬 (2) | 2025.01.03 |
벡터 공간과 기저 (5) | 2024.12.24 |
벡터(vector) (8) | 2024.12.11 |
스칼라(scalar) (0) | 2024.12.10 |