지난 포스팅의 [PML intro] Ch7 Linear Algebra (Sec.7.1 Introduction - 4)에서는 행렬을 몇 가지 중요한 성질들에 대해서 알아보았습니다. 오늘은 기계학습 및 심층학습에서 자주 나오는 특별한 형태의 행렬들에 대해서 알아보도록 하겠습니다.
1. 대각행렬 (Diagocal Matrix)
대각 행렬은 대각선 원소를 제외한 나머지 원소가 전부 0인 행렬을 의미합니다. 보통 $\mathbf{D} = \text{diag} (d_{1}, d_{2}, \dots, d_{n})$의 형태로 많이 사용하고 이를 행렬로 풀어서 쓰면 다음과 같습니다.
$$\mathbf{D} = \begin{pmatrix} d_{1} & 0 & \cdots & 0 \\ 0 & d_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_{n} \end{pmatrix}$$
특히 중요한 예시가 단위 행렬(identity matrix) $\mathbf{I} \in \mathbb{R}^{n \times n}$입니다. 이는 모든 대각 성분들이 1인 대각행렬의 특별한 형태로 $\mathbf{I} = \text{diag} (1, 1, \dots, 1)$이죠. 그리고 모든 $\mathbf{A} \in \mathbb{R}^{n \times n}$에 대해서 $\mathbf{A}\mathbf{I} = \mathbf{A} = \mathbf{I}\mathbf{A}$를 만족합니다.
이를 조금 더 일반화한 형태가 블록 대각 행렬(Block Diagonal Matrix)와 띠 대각 행렬 (Band-Diagonal Matrix)입니다. 먼저, 블록 대각 행렬는 대각 위치에 작은 행렬들을 블록처럼 넣고 나머지는 전부 0인 행렬로 다음과 같습니다.
$$\begin{pmatrix} \mathbf{A} & \mathbf{0} \\ \mathbf{0} & \mathbf{B} \end{pmatrix}$$
그리고 띠 대각 행렬은 대각선과 그 주변 몇 줄만 0이 아니고 나머지는 전부 0인 행렬입니다. 이때, 대각성분을 기준으로 $k$칸을 허용한다면 띠간격(bandwidth)가 $k$라고 부릅니다. 예를 들어, 삼대각 (tridiagonal) $6 \times 6$ 행렬은 다음과 같이 생겼습니다.
$$\begin{pmatrix} A_{11} & A_{12} & 0 & \cdots & \cdots & 0 \\ A_{21} & A_{22} & A_{23} & \ddots & \ddots & \vdots \\ 0 & A_{32} & A_{33} & A_{34} & \ddots & \vdots \\ \vdots & \ddots & A_{43} & A_{44} & A_{45} & 0 \\ \vdots & \ddots & \ddots & A_{54} & A_{55} & A_{56} \\ 0 & \cdots & \cdots & 0 & A_{65} & A_{66} \end{pmatrix}$$
2. 삼각 행렬 (Triangular matrices)
삼각행렬은 두 가지로 나뉩니다. 대각성분을 기준으로 아래부분이 모두 0이라면 상삼각행렬 (Upper Triangular Matrix) 이고 윗부분이 모두 0이라면 하삼각행렬 (Lower Triangular Matrix)라고 부릅니다. 삼각행렬에는 필수적으로 알아야하는 성질이 한가지 있습니다. 바로 대각 원소들이 곧 고윳값(Eigenvalue)라는 것이죠. 따라서, 행렬식은 그 곱으로 $\text{det} (\mathbf{A}) = \prod_{i} A_{ii}$가 됩니다. 이 성질로 인해 춀레스키 분해 및 LU 분해 등에서 삼각 행렬이 엄청 많이 등장합니다.
3. 양의 정부호 행렬 (Positive definite matrices)
정사각행렬 $\mathbf{A} \in \mathbb{R}^{n \times n}$과 벡터 $\mathbf{x} \in \mathbb{R}^{n}$에 대해서 스칼라 $\mathbf{x}^{T}\mathbf{A}\mathbf{x}$를 이차형식(Quadratic Form)이라고 부릅니다. 이를 펼쳐서 쓰면 다음과 같이 두 가지의 형태로 쓸 수 있습니다.
$$\mathbf{x}^{T}\mathbf{A}\mathbf{x} = \begin{cases} &\sum_{i = 1}^{n} \sum_{j = 1}^{n} A_{ji}x_{i}x_{j} \\ &(\mathbf{x}^{T}\mathbf{A}\mathbf{x})^{T} = \mathbf{x}^{T}\mathbf{A}^{T}\mathbf{x} = \mathbf{x}^{T} (\frac{1}{2}\mathbf{A} + \frac{1}{2}\mathbf{A}^{T})\mathbf{x} \end{cases}$$
위 결과로 미루어보아 이차 형식을 다룰 때는 보통 행렬 $\mathbf{A}$가 대칭행렬(Symmetric Matrix)라고 가정하는 것이 훨씬 편하고 자연스러울 것으로 예상할 수 있습니다. 따라서, 양의 정부호행렬을 정의할 때는 대칭행렬을 기반으로 정의하게 됩니다. 대칭 행렬 $\mathbf{A} \in \mathbb{S}^{n}$에 대해서 모든 0이 아닌 $\mathbf{x} \in \mathbb{R}^{n}$에 대해 $\mathbf{x}^{T}\mathbf{A}\mathbf{x} > 0$이라면 $\mathbf{A}$를 양의 정부호(Positive Definite)라고 정의합니다. 다만 $\mathbf{x}^{T}\mathbf{A}\mathbf{x} \ge 0$라면 0이 되는 $\mathbf{x} \neq 0$이 존재할 수 있다면 이를 양의 준정부호행렬 (Positive Semidefinite matrices) 이라고 정의하며 양의 준정부호행렬 전체의 집합을 $\mathbb{S}^{n}_{++}$이라고 표기합니다.
이때, 반대로 행렬 $\mathbf{A} \in \mathbb{S}^{n}$이 음의 정부호(Negative Definite)라고 하는 것은 모든 0이 아닌 $\mathbf{x} \in \mathbb{R}^{n}$에 대해 $\mathbf{x}^{T}\mathbf{A}\mathbf{x} < 0$인 경우를 말합니다. 마찬가지로 $\le$라면 음의 준정부호라고 부르죠. 반면, 양 또는 음의 준정부호 그 무엇도 아니라면 행렬 $\mathbf{A}$를 부정부호(indefinite)이라고 부릅니다.
이때, 양/음의 정부호 행렬을 항상 역행렬이 존재한다는 특성이 있습니다. 그리고 대칭행렬이 양의 정부호인 것과 고유값이 전부 양수인 것은 동치가 됩니다. 또한, 심층학습에서 자주 보이는 양의 준정부호 행렬로 그람 행렬 (Gram Matrix) $\mathbf{G} = \mathbf{A}^{T}\mathbf{A}$가 있습니다. 만약, $m \ge n$이고 행렬 $\mathbf{A}$가 풀랭크라면 $\mathbf{G}$는 양의 정부호 행렬이 됩니다.
4. 직교 행렬 (Orthogonal matrices)
두 벡터 $\mathbf{x}, \mathbf{y} \in \mathbb{R}^{n}$이 직교(orthogonal)하다는 것은 $\mathbf{x}^{T}\mathbf{y} = 0$이라는 것입니다. 특히, 벡터 $\mathbf{x}$가 $||\mathbf{x}||_{2} = 1$이라면 정규화(normalized)되었다고 이야기하죠. 이때, 여러 벡터가 서로 직교하면서 각각 정규화되어 있다면 이를 직교정규(orthonormal)하다고 합니다.
정사각행렬 $\mathbf{U} \in \mathbb{R}^{n \times n}$의 열벡터들이 직교정규하다면 행렬 $\mathbf{U}$를 직교 행렬이라고 부릅니다. 만약, 정사각행렬 $\mathbf{U}$가 복소공간 $\mathbf{C}$에서 정의된다면 유니터리 행렬(Unitary Matrix)이라고 부릅니다. 따라서, 직교행렬은 기본적으로 $\mathbf{U}\mathbf{U}^{T} = \mathbf{U}^{T}\mathbf{U} = \mathbf{I}$라는 성질을 만족합니다. 이는 자연스럽게 직교행렬의 역행렬은 전치행렬이라는 결론을 얻을 수 있습니다. 즉, $\mathbf{U}^{-1} = \mathbf{U}^{T}$가 되죠.
만약, $\mathbf{U} \in \mathbb{R}^{n \times m}$으로 $m > n$이면서 열벡터들이 여전히 직교정규하다면 $\mathbf{U}^{T}\mathbf{U} = \mathbf{I}$이지만 $\mathbf{U}\mathbf{U}^{T} \neq \mathbf{I}$입니다. 보통 직교행렬이라는 말은 정사각행렬인 경우에만 사용합니다. 만약 직사각행렬이라면 "직교정규 열벡터들을 가진 행렬" 정도로만 이야기를 합니다.
'인공지능 > Probabilistic Machine Learning (intro)' 카테고리의 다른 글
| [PML intro] Ch7 Linear Algebra (Sec.7.1 Introduction - 4) (0) | 2025.12.12 |
|---|---|
| [PML intro] Ch7 Linear Algebra (Sec.7.1 Introduction - 3) (0) | 2025.12.11 |
| [PML intro] Ch7 Linear Algebra (Sec.7.1 Introduction - 2) (0) | 2025.12.10 |
| [PML intro] Ch7 Linear Algebra (Sec.7.1 Introduction - 1) (0) | 2025.12.09 |
| [PML intro] Ch6 Information Theory (Sec.6.3 Mutual Information - 8) (0) | 2025.12.08 |