1. 행렬#
1-1. 행렬의 요소#
- 행(row)과 열(column)로 구성
- 스칼라(scalar): 행렬을 구성하는 요소인 각 숫자, $a_{ij}$ ($i$: 행 번호, $j$: 열 번호)
- 벡터(vector): 스칼라의 집합, 크기와 방향을 모두 가짐, 행벡터 또는 열벡터로 표시
- 행렬(matrix): 행벡터의 집합 (또는 열벡터의 집합)
- 텐서(tensor): 2차원으로 구성된 행렬이 아닌 n차원으로 일반화한 행렬
1-2. 행렬의 종류#
- 대각 행렬(diagonal matrix): 대각 원소 이외의 모든 성분이 0인 행렬
- 단위 행렬(identity matrix): 주 대각선의 원소가 모두 1이며 나머지는 0인 정사각 행렬
- 행렬을 대각 행렬($D$)이나 단위 행렬($I$)로 변환 시 연산량을 크게 줄이는 효과
- 전치 행렬(transposed matrix): 기존 행렬의 행과 열을 바꾸는 행렬, $a_{ij} \rightarrow a_{ji}$
1-3. 행렬의 연산#
- 행렬의 덧셈, 뺄셈: 연산 대상이 되는 행렬의 행 번호와 열 번호가 일치하는 원소끼리 계산
- 행렬의 스칼라곱: 행렬을 구성하는 모든 원소에 스칼라를 곱함
- 행렬곱: $AB_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+…+a_{ir}b_{rj}$, 행렬 $A$의 열 크기와 행렬 $B$의 행 크기가 같아야 가능
- 행렬의 원소곱: 차원이 동일한 두 행렬의 동일 위치 원소를 서로 곱함, 딥러닝 최적화 관련 알고리즘에 자주 사용
- 행렬식(determinant): 행렬의 특성을 하나의 숫자로 표현, 행렬을 구성하고 있는 벡터로 만들 수 있는 도형의 부피를 계산
- 역행렬(inverse matrix): 행렬 $A$에 대해서 $AB=I$를 만족하는 행렬 $B$ ($A^{-1}$로 표기)
2. 내적#
- $<u,v>=uㆍv=u_1v_1+u_2v_2+…+u_nv_n$
- 각 벡터의 요소를 서로 곱한 후 더함
- 벡터의 길이(norm)를 구하거나 벡터 사이의 관계를 파악할 수 있음
- 내적을 통해 두 벡터 사이의 각도를 추정 가능 (내적이 양수면 예각, 내적이 음수면 둔각)
2-1. 벡터의 길이#
- 벡터 $u$의 길이는 $||u||$로 표기
- $u=(u_1,u_2,⋯,u_n)$일 때, $||u||=\sqrt{u_1^2+u_2^2+⋯+u_n^2}$
- 위 식은 피타고라스의 정리를 일반화한 것
- 벡터의 길이를 통해 $x$ 좌표를 $||u||\cos(\theta)$, $y$ 좌표를 $||u||\sin(\theta)$로 표시
- 내적값 $uㆍv=||u||||v||\cos(\theta)$
- 벡터 $u$를 벡터 $v$에 정사영한 벡터의 길이 $||proj_vu||=||u||\cos(\theta)$
- $uㆍv=||u||||v||\cos(\theta)=(||v||)\times(||u||\cos(\theta))$
3. 선형 변환#
- 두 벡터 공간 사이의 함수
- 좌표 평면 상 벡터를 확대, 축소, 회전, 반사하는 것은 모두 변환
4. 랭크, 차원#
4-1. 벡터 공간, 기저#
- 벡터 공간(vector space): 벡터 집합이 존재할 때, 해당 벡터들로 구성할 수 있는 공간
- 기저(basis): 벡터 공간을 생성하는 선형 독립인 벡터들
- 부분 공간(subspace): 벡터 공간의 일부분, 전체 벡터 집합의 부분 집합
- 2개의 기저 벡터 집합 $S$에 속하는 부분 공간을 $W$라 할 때, $W=span(S)$ 의 관계를 가짐
4-2. 랭크와 차원#
- 차원(dimension): 기저 벡터의 개수, 벡터 공간을 구성하는데 필요한 최소한의 벡터 개수
- 랭크(rank): 열벡터에 의해 span된 벡터 공간의 차원
- 영공간(numm space): 행렬 $A$가 주어질 때 $Ax=0$을 만족하는 모든 벡터 $x$의 집합
4-3. 직교 행렬#
- 직교 행렬(orthogonal matrix): 어떤 행렬의 행벡터와 열벡터가 유클리드 공간의 정규 직교 기저를 이루는 행렬
- $AA^T=A^TA=I$
- 직교 행렬 $A$의 역행렬은 자신의 전치 행렬, $A^T=A^{-1}$