인공지능을 위한 선형대수학 기초

행렬식과 역행렬

최 수빈 2025. 1. 3. 22:25

 

행렬식과 역행렬

 

행렬식 계산 방법

행렬식(Determinant)은 정방행렬에 대해 정의되는 스칼라 값, 행렬의 중요한 특성을 나타냄

  • 선형 변환의 부피 변화율
    기하학적으로 행렬식은 해당 행렬이 나타내는 선형 변환에서 변환된 공간의 부피 변화를 나타냄
    예 ) 2x2행렬의 행렬식이 2라면, 변환 후 부피는 변환 전 부피의 2배가 됨
  • 2x2 행렬 A = [[a, b], [c, d]]의 행렬식은 ad - bc
  • 더 큰 행렬의 경우 여인자 전개나 가우스 소거법을 통해 계산

행렬식이 0이 아닌 경우에만 해당 행렬의 역행렬이 존재함

( == 역행렬의 존재 조건 : 행렬식이 0인 경우 행렬은 비가역적(Singular)이며, 역행렬이 존재하지 않음)

 

 

역행렬 개념과 계산

 

역행렬(Inverse Matrix)  A⁻¹은 원래 행렬 A와 곱했을 때 단위행렬이 되는 행렬

  • A * A⁻¹ = A⁻¹ * A = I (단위행렬)
  • 역행렬은 선형 방정식을 풀거나 행렬 방정식을 변형할 때 사용 됨
  • 2x2 행렬의 역행렬은 직접 공식으로 계산할 수 있지만, 더 큰 행렬의 경우 가우스-조던 소거법(Gauss-Jordan Elimination) 또는 LU 분해 등의 알고리즘을 사용

 

다양한 수학적, 과학적, 공학적 문제에서 사용되는 행렬식과 역행렬

 

머신러닝 및 데이터 분석

 

선형 판별 분석(LDA)

공분산 행렬의 역행렬을 사용하여 클래스 간 분리를 최대화하는 방향을 계산

→공분산 : 두 변수 간의 관계(선형적 상관 관계)를 측정하는 값

→공분산 행렬 : 여러 변수 간 공분산을 행렬 형태로 정리한 것

 

가우시안 프로세스(GP)

커널 행렬의 역행렬을 계산하여 데이터 점 간 관계를 모델링

→커널 행렬 : n개의 데이터 포인트에 대해 커널 함수를 계산하여 구성한 대칭 행렬

→커널 함수 :
두 벡터 x와 y간의 유사도를 측정하는 함수
저차원 데이터에서 고차원 특징 공간으로 매핑하지 않고도 고차원 공간에서의 내적 값을 계산할 수 있도록 설계

 

 

신경망 및 딥러닝

 

역전파 알고리즘

야코비안 행렬(Jacobian Matrix)의 역행렬을 사용, 그래디언트를 효율적으로 계산

 

가중치 초기화

직교 행렬(Orthogonal Matrix)을 생성, 안정적인 학습 보장

 

 

NumPy를 사용한 계산

import numpy as np

# 행렬 정의
A = np.array([[1, 2], [3, 4]])

# 행렬식 계산
det = np.linalg.det(A)
print("행렬식:", det)

# 역행렬 계산
if det != 0:
    inv = np.linalg.inv(A)
    print("역행렬:\n", inv)
else:
    print("역행렬이 존재하지 않습니다.")
  • 행렬식이 0인 경우 비가역적이므로 역행렬 계산 불가능
  • NumPy는 내부적으로 고효율 알고리즘을 사용, 대규모 행렬에 대한 계산도 빠르게 수행

'인공지능을 위한 선형대수학 기초' 카테고리의 다른 글

고유값과 고유벡터  (4) 2025.01.07
선형 변환  (0) 2025.01.06
행렬과 행렬 연산  (1) 2025.01.03
벡터 공간과 기저  (5) 2024.12.24
벡터(vector)  (8) 2024.12.11