꺼내먹는지식 준
행렬 간단 정리 본문
숫자를 가지는 1차원 배열: 벡터
벡터를 원소로 가지는 2차원 배열: 행렬
1) 행렬을 이해하는 방법 1
행렬은 행 벡터를 원소로 가지는 2차원 배열이다.
주로 벡터는 소문자 x, 행렬은 대문자 X 로 표현된다.
n 개의 벡터로 이루어진 행렬 X
n개의 행과 m개의 열
index는 (행,열) 순 $x_{ij}$
전치 행렬은 행과 열의 위치를 바꿔준 것, 행렬의 연산에서 많이 사용된다. $x_{ji}$
벡터가 공간에서 한 점을 의미한다면, 행렬은 여러 점을 의미한다.
즉,행렬을 데이터들의 모임이라 할 때, 행렬의 행벡터 x_{i}는 i 번째 데이터를 의미한다.
각 포인트는 $x_{i}$
ex) i 번째 데이터의 j 번 째 변수 뽑기
행렬의 성분 곱은 벡터의 성분 곱과 같다.
행렬의 곱셈은 벡터의 곱셈과 다르다.
matrix multiplication은 i 번째 행벡터와 j 번째 열벡터 사이의 내적을 성분으로 가지는 행렬이다. (내적: elementwise multiplication 후 덧셈)
교환 법칙은 성립 되지 않는다.
X, Y의 전치행렬의 matrix multiplication
2) 행렬을 이해하는 방법 2
행렬은 벡터공간에서 사용되는 연산자로 이해될 수 있다.
1) 행렬 곱을 통해 벡터를 다른 차원의 공간으로 보낼 수 있다.
2) 즉, 서로 다른 차원에 있는 점을 연결 시켜주는 역할을 할 수 있다.
행렬곱을 이용하여 주어진 데이터에서 패턴을 추출할 수도 있고, 주어진 데이터를 압축 할 수도 있다.
모든 선형 변환은 행렬 곱으로 표현될 수 있다.
딥러닝은 선형 변환과 비선형의 합성이기 때문에, 행렵 곱의 연산을 먼저 이해하는 것이 필수이다.
3) 역행렬
행렬 $A$ 의 연산을 거꾸로 되돌리는 행렬을 역행렬이라 하고, $A^{-1}$ 라 표기한다.
역행렬은 행과 열의 숫자가 같고, 행렬식(determinant)가 0이 아닌 경우에만 성립한다.
$AA^{-1} = A^{-1}A = I$
만약 역행렬을 계산할 수 없다면, 유사 역행렬 혹은 무어 펜로즈 역행렬 $A^{+}$ 을 이용해야 한다.
\[ \left\{ \begin{array}{rl} if \,n \geq m & \mbox{if $A^{+} = (A^{T}A)^{-1}A^{T}$},\\if \,n \leq m & \mbox{if $A^{+} = A^{T}(AA^{T})^{-1}$}\\ \end{array} \right. \]
각 경우만 성립한다.
$n \geq m: A^{+}A = I$
$n \leq m: AA^{+} = I$
유사 역행렬은 행과 열의 숫자가 달라도 계산해볼 수 있다. 이때 기호는 -가 아니라 + 를 사용한다.
행이 더 많을 때, 열이 더 많을 때 계산하는 방법이 다르다.
n과 m 의 개수가 같지 않을 때,
$Ax = b$
$x = A^{+}b = A^{T}(AA^{T})^{-1}b $
1) 변수의 개수가 식의 개수보다 많은 경우: 연립 방정식을 풀 수 있다.
2) 변수의 개수보다 식의 개수가 많은 경우(변수보다 데이터가 더 많은 경우): 선형 회귀에서 많이 보는 상황.유사 역행렬을 사용해서 데이터를 표현하는 선형 모델을 해석했을 때 선형 모델에 해당하는 선형 회귀식을 찾을 수 있다.
$X\beta = \hat{y} \sim y$
$\beta = X^{+}y = (X^{T}X)^{-1}X^{T}y$
'AI > 딥러닝 기초' 카테고리의 다른 글
딥러닝 역사, 기본 및 용어 (0) | 2022.02.07 |
---|---|
Multi_GPU, 분산 학습, 데이터 병렬화, 파라미터서버 (0) | 2022.01.28 |
딥러닝 학습모델 간단 정리 (0) | 2022.01.23 |
경사하강법 간단정리 (0) | 2022.01.20 |
벡터 간단 정리 (0) | 2022.01.19 |