대학원 일기

행렬(Matrix) 본문

AI/인공지능 기초

행렬(Matrix)

대학원생(노예) 2022. 1. 26. 08:30

행렬(Matrix)

행렬의 개념과 연산, 그리고 벡터공간에서 가지는 의미를 설명합니다.

연립방정식 풀기와 선형회귀분석에 응용하는 방법을 소개합니다.

 

벡터의 확장된 개념인 행렬은 행(row)벡터를 원소로 가지는 2차원 배열로 벡터와 다르게 계산되는 연산들에 주의하셔야 합니다.

 

행렬연산은 딥러닝에서 가장 핵심적인 연산이라고 볼 수 있을만큼 중요하고, 자주 사용되기 때문에 행렬 연산의 메커니즘,그리고 이 때 가지는 기하학적 의미와 머신러닝에서 어떻게 사용되는지를 충분히 이해하고 넘어가시기 바랍니다.

 

행렬(Matrix)이란?

행렬(Matrix)

- 행렬(matrix)은 벡터를 원소를 가지는 2차원 배열이다.

3개의 행벡터로 이루어짐

- 행렬은 행벡터를 원소로 가지는 2차원 배열이다.

n개의 행, m개의 열

- 행렬은 행(row)과 열(column)이라는 인덱스(index)를 가진다.

- 행렬을 표기할 때는 위 사진처럼, $X = (x_{ij})$ 로도 표현한다.

- 행렬의 특정 행(열)을 고정하면 행(열)벡터라고 부른다.

 

전치행렬

- 전치행렬(transposematrix)은 행과 열의 인덱스가 바뀐 행렬을 말한다.

 

행렬(Matrix)과 벡터(Vector)의 차이

- 벡터가 공간에서 한점은 의미한다면 행렬은 여러 점들을 의미한다.

- 행렬의 행벡터 $x_{i}$는 $i$번째 데이터를 의미한다.

- 행렬의 $x_{ij}$는 $i$번째 데이터의 $j$번째 변수의 값을 의미한다.

 

행렬의 연산

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

- 행렬은 벡터를 원소로 가지는 2차원 배열로 행렬끼리 같은 모양을 가지면 덧셈, 뺄셈, 성분곱, 스칼라곱을 계산할 수 있다.



 

행렬 곱셈

- 행렬곱셈(matrixmultiplication)은 $i$번째 행벡터와 $j$번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산한다.

- 행렬 곱은 $X$의 열의 개수와 $Y$의 행의 개수가 같아야 한다.

 

행렬 내적

- 넘파이의 np.inner는 $i$번째 행벡터와 $j$번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산한다.

 

행렬 이해

- 행렬은 벡터 공간에서 사용되는 연산자(operator)로 이해한다.

- 행렬곱을 통해 벡터를 다른 차원의 공간으로 보낼 수 있다.

- 행렬곱을 통해 패턴을 추출할 수 있고, 데이터를 압축할 수도 있다.

- 모든 선형변환(linear transform)은 행렬곱으로 계산할 수 있다.

 

역행렬(inverse matrix)

- 어떤 행렬 $A$의 연산을 거꾸로 되돌리는 행렬을 역행렬(inversematrix)이라고 부르고 $A^{-1}$라고 표기한다.

- 역행렬은 행과 열 숫자가 같고, 행렬식(determinant)이 0이 아닌 경우에만 계산할 수 있다.

- 역행렬 연산은 $n=m$일 때만 가능하고, 행렬 $A$의 행렬식이 0이 되면 안된다.

- numpy.linalg.inv 사용

code in python

- 만약, 역행렬을 계산할 수 없다면 유사 역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penrose) 역행렬$A^{+}$을 이용한다.

- numpy.linalg.pinv 사용

code in python

 

연립 방정식

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

 

선형회귀분석

- np.linalg.pinv를 이용하면 데이터를 선형모델(linearmodel)로 해석하는 선형회귀식을 찾을 수 있다.

code in python

 

'AI > 인공지능 기초' 카테고리의 다른 글

경사하강법(Gradient descent)(2)  (0) 2022.01.29
경사하강법(Gradient descent)  (0) 2022.01.27
벡터(Vector)  (0) 2022.01.26
Numerical Python - Numpy  (0) 2022.01.25
[DL] Deep Learning, Historical Review  (0) 2022.01.07
Comments