[ Basic AI Math ] Matrix
Updated:
행렬
\[\mathbf{X} = \begin{bmatrix} x_{11} & x_{12} & ... & x_{1m} \\ ... \\ x_{n1} & x_{n2} & ... & x_{xm} \end{bmatrix}\]- 벡터를 원소로 가지는 (2차원) 배열
- $\begin{bmatrix} x_{11} & x_{12} & … & x_{1m} \end{bmatrix}, \; \begin{bmatrix} x_{n1} & x_{n2} & … & x_{nm} \end{bmatrix}$은 각각 row vector이다.
- 다차원 공간에서의 여러 점
- row major
- transpose($T,’$) : row ↔️ column
- 벡터 공간에서 사용되는 operator
-
벡터를 다른 차원의 공간으로 보낸다. (linear transformation)
\[\mathbf{M}\mathbf{r}=\mathbf{R} \\ \begin{pmatrix} a&b\\c&d \end{pmatrix} \begin{pmatrix} x\\y \end{pmatrix} = \begin{pmatrix} X\\Y \end{pmatrix}\]
-
행렬 연산
스칼라곱, 덧셈, 뺄셈, 성분 곱
- 행렬은 벡터의 집합이다.
- 즉, 벡터 연산과 동일하다.
- 성분 곱 (Hadamard Product)
- 각 인덱스 위치끼리 곱한다.
곱셈
\[\mathbf{X} ∈ \mathbb{R}^{k*m}, \; \mathbf{Y} ∈ \mathbb{R}^{m*n} → \mathbf{X} \cdot \mathbf{Y} ∈ \mathbb{R}^{k*n}\] \[\mathbf{X} = \begin{bmatrix} 1&2&3 \\ 4&5&6 \\ 7&8&9 \end{bmatrix},\; \mathbf{Y} = \begin{bmatrix} 9&8&7 \\ 6&5&4 \\ 3&2&1 \end{bmatrix}\][번외] 행렬곱 vs. 내적
- 개념상 차이
- 행렬 곱 결과의 각 원소 값은 벡터의 내적을 표현한 것
- 행렬 곱은 내적의 집합
- vector (1st order tensor)의 경우
- 행렬곱 = 내적
- tensor (at least 2nd order tensor)의 경우
- 행렬곱 ≠ 내적
역행렬
- 전제조건
- square matrix
- determinant ≠ 0
- $AA^{-1}=A^{-1}A=I$
determinant
- minor
- 아래 첨자로 지정한 행,열 빼고 나머지
- cofactor
- determinant
- 예시
- 1st row 기준으로 계산하였다.
역행렬 계산
\[A_{ij}^{-1}=\frac{cof(A_{ji})}{det(A)}\]-
예시
\[A = \begin{bmatrix} 1&-5&2\\7&3&4\\2&1&5 \end{bmatrix},\;det(A)=148 \\ \, \\ A^{-1} = \frac{1}{148} \begin{bmatrix} 11&27&-26\\-27&1&10\\1&-11&38 \end{bmatrix}\]
Moore-Penrose 역행렬
\[\begin{align*} & A ∈\mathbb{R}^{n*m} \\ & A^\dagger = \begin{cases} (A^T A)^{-1} A^T \;(n \ge m) → A^{\dagger}A=I \\ A^T (A A^T)^{-1} \;(n \le m) → AA^{\dagger}=I \end{cases} \end{align*}\]- 일반화된 역행렬
- 역행렬의 기본적인 전제조건이 성립되지 않아도 역행렬을 구할 수 있는 방법