지난 포스팅의 [PML intro] Ch6 Information Theory (Sec.6.3 Mutual Information - 8)에서는 Fano의 부등식 (Fano's Inequality)에 알아보았습니다. 오늘은 새로운 주제로 넘어가서 선형대수(Linear Algebra)의 기초적인 내용을 다루어보도록 하겠습니다. 선형대수학의 더 자세한 내용은 제 블로그 포스팅들을 참고해주시면 감사하겠습니다. 오늘은 기본적인 표기법(Notation)들을 알아보도록 하겠습니다.
1. 벡터 (Vectors)
벡터 $\mathbf{x} \in \mathbb{R}^{n}$은 $n$개의 숫자를 나열한 것으로 보통은 다음과 같이 열벡터(column vector)의 형태로 많이 사용합니다.
$$\mathbf{x} = \begin{pmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{pmatrix}$$
이때, 벡터 내의 모든 원소 $x_{i}$들이 1이라면 $\mathbf{1}$로 표시하고 0이라면 $\mathbf{0}$으로 표시합니다. 그리고 중요한 개념 중 하나인 단위벡터 (unit vector) $\mathbf{e}_{i}$는 모든 원소가 0이지만 $i$번째 원소만 1인 벡터를 의미합니다. 이는 딥 러닝의 학습에서도 많이 불리는 원-핫 벡터 (one-hot vector)라고도 불리죠.
2. 행렬 (Matrices)
행렬 $\mathbf{A} \in \mathbb{R}^{m \times n}$은 $m$개의 행(row)과 $n$개의 열(column)을 가지는 2차원 배열이며 다음과 같이 많이 사용합니다.
$$\mathbf{A} = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}$$
여기서 행의 개수와 열의 개수가 같은 경우, 즉 $m = n$이라면 이를 정사각행렬(square matrix)라고 부릅니다. 그리고 $\mathbf{A}_{ij}$ 또는 $\mathbf{A}_{i, j}$는 $i$행 $j$번째 원소를 의미합니다. $\mathbf{A}_{i, :}$와 $\mathbf{A}_{:, j}$는 각각 $i$번째 행 전체와 $j$번째 열 전체를 의미합니다. 기본적으로 모든 벡터는 열벡터로 취급하여 행렬을 열벡터를 가로로 쌓은 것으로 다음과 같이 표현할 수도 있습니다.
$$\mathbf{A} = \begin{pmatrix} \mathbf{A}_{:, 1} & \mathbf{A}_{:, 2} & \cdots & \mathbf{A}_{:, n} \end{pmatrix}$$
또는 행벡터를 세로로 쌓은 것이라고 보고 다음과 같이 쓸수도 있죠.
$$\mathbf{A} = \begin{pmatrix} \mathbf{A}_{1, :}; & \mathbf{A}_{2, :}; & \cdots; & \mathbf{A}_{n, :} \end{pmatrix}$$
여기서 세미콜론 ;은 세로로 이어붙힌다는 것을 의미합니다. 또한, 행렬에는 다양한 연산이 존재합니다. 그중에서도 행렬의 전치는 행과 열을 뒤집는 연산으로 $\mathbf{A} \in \mathbb{R}^{m \times n}$의 전치 $\mathbf{A}^{T} \in \mathbb{R}^{n \times m}$은 $(\mathbf{A}^{T})_{ij} = A_{ji}$로 정의되며 다음과 같은 성질들을 만족합니다.
$$\begin{cases} &(\mathbf{A}^{T})^{T} = \mathbf{A} \\ &(\mathbf{A}\mathbf{B})^{T} = \mathbf{B}^{T}\mathbf{A}^{T} \\ &(\mathbf{A} + \mathbf{B})^{T} = \mathbf{A}^{T} + \mathbf{B}^{T} \end{cases}$$
이때, $\mathbf{A}$가 정사각행렬이고 $\mathbf{A} = \mathbf{A}^{T}$라면 이를 대칭행렬(Symmetric Matrix)라고 부릅니다. 그리고 특별히 $n$의 크기를 가지는 대칭행렬들을 집합을 $\mathbb{S}^{n}$으로 표기합니다.
3. 텐서 (Tensor)

텐서는 그림 7.1과 같이 2차원 배열인 행렬을 3차원 이상으로 일반화한 것을 의미합니다. 예를 들어 3차원 텐서의 원소는 $A_{ijk}$로 표기합니다. 텐서의 차원의 개수는 텐서의 차수(order) 또는 랭크(rank)라고 부릅니다. 이때, 고급선형대수에서는 행렬을 선형사상(linear transform)으로 해석하면서 텐서를 다중선형사상(multi-linear transform)으로도 해석하게 되는데 이러한 내용까지는 필요하지는 않습니다.
텐서에서도 몇 가지 중요한 연산이 존재합니다. 대표적으로 vec연산은 행렬을 벡터로 펼치는 것으로 시작합니다. 이는 열들을 위에서 아래로 쌓는 것으로 다음과 같이 쓸 수 있습니다.
$$\mathbf{vec}(\mathbf{A}) = \begin{pmatrix} \mathbf{A}_{:, 1}; & \cdots; & \mathbf{A}_{:, n} \end{pmatrix} \in \mathbb{R}^{mn \times 1}$$

반대로 벡터를 행렬로 다시 reshape하는 방법에는 두가지가 있습니다. 각각 row-major order와 column-major order가 존재합니다. row-major order는 Python, C++ 등에서 주로 사용되는 방식이고 column-major order는 Julia, Matlab, R, Fortran 등에서 주로 사용되는 기법입니다. 이 둘의 차이는 그림 7.2를 참고해주세요.
'인공지능 > Probabilistic Machine Learning (intro)' 카테고리의 다른 글
| [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] Ch6 Information Theory (Sec.6.3 Mutual Information - 8) (0) | 2025.12.08 |
| [PML intro] Ch6 Information Theory (Sec.6.3 Mutual Information - 7) (0) | 2025.12.08 |
| [PML intro] Ch6 Information Theory (Sec.6.3 Mutual Information - 6) (0) | 2025.12.05 |