Search
Duplicate

행렬 (Matrix)

생성자
분류
인공지능
생성일
2023/02/16 14:02

행렬 (Matrix)

mai_02.pdf
3539.3KB
행렬(matrix) 은 벡터를 원소로 가지는 2차원 배열이다
행렬은 행과 열 이라는 인덱스를 가진다
행렬의 특정 행(열)을 고정하면 행(열)벡터라 부른다

행렬을 이해하는 방법

벡터가 공간에서 한 점을 의미한다면, 행렬은 여러점들을 나타낸다
행렬의 행 벡터 xix_i 는 i 번째 데이터를 의미한다
행렬의 xijx_{ij} 는 i 번째 데이터의 j 번째 변수의 값을 말한다

행렬의 덧셈, 뺄셈, 성분곱, 스칼라곱

행렬은 벡터를 원소로 가지는 2차원 배열이다
행렬끼리 같은 모양을 가지면 덧셈, 뺄셈을 계산할 수 있다
성분곱은 벡터와 같다
스칼라곱도 벡터와 차이가 없다
행렬 곱셈
행렬 곱셈은 i 번째 행벡터와 j 번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산

행렬에도 내적이 있을까?

넘파이의 np.inner 는 i 번째 행벡터와 j 번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산한다
수학에서 말하는 내적과는 다르므로 주의!

행렬을 이해하는 방법 2

행렬은 벡터공간에서 사용되는 연산자(operator) 로 이해한다
행렬곱을 통해 벡터를 다른 차원의 공간으로 보낼 수 있다
행렬곱을 통해 패턴을 추출할 수 있고, 데이터를 압축할 수도 있다

역행렬 이해하기

어떤 행렬 A 의 연산을 거꾸로 되돌리는 행렬을 역행렬(inverse matrix) 이라 부르고 A1A^{-1} 라 표기한다
역행렬은 행과 열 숫자가 같고 행렬식이 0이 아닌 경우에만 계산할 수 있다
만일 역행렬을 계산할 수 없다면 유사역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penrose) 역행렬 A+A^+ 을 이용한다

응용: 연립방정식 풀기

np.linalg.pinv 이용하면 연립방정식의 해 구할 수 있다

응용: 선형회귀분석

np.linalg.pinv 를 이용하면 데이터를 선형모델 (linear model) 로 해석하는 선형회귀식을 찾을 수 있다
sklearn 의 LinearRegression 과 같은 결과를 가져올 수 있다