27.25 대칭 행렬(Symmetric Matrix)과 반대칭 행렬(Skew-Symmetric Matrix)
1. 대칭 행렬의 정의
정사각 행렬 \mathbf{A} \in \mathbb{R}^{n \times n}이 대칭 행렬(symmetric matrix)이라 함은 전치 행렬과 자기 자신이 동일한 것을 의미한다.
\mathbf{A}^\top = \mathbf{A}
원소 단위로 표현하면, 모든 i, j에 대하여 a_{ij} = a_{ji}이다. 이는 주대각선을 기준으로 원소가 대칭적으로 배치됨을 의미한다. 3 \times 3 대칭 행렬의 일반적 형태는 다음과 같다.
\mathbf{A} = \begin{pmatrix} a & b & c \\ b & d & e \\ c & e & f \end{pmatrix}
n \times n 대칭 행렬은 주대각선 원소 n개와 상삼각 부분의 원소 n(n-1)/2개, 총 n(n+1)/2개의 독립적인 원소로 결정된다. 이는 일반 정사각 행렬의 n^2개에 비해 약 절반의 저장 공간만 필요하다는 것을 의미한다.
2. 대칭 행렬의 대수적 성질
대칭 행렬은 다음과 같은 중요한 대수적 성질을 가진다.
덧셈에 대한 닫힘: 두 대칭 행렬 \mathbf{A}, \mathbf{B}에 대하여 (\mathbf{A} + \mathbf{B})^\top = \mathbf{A}^\top + \mathbf{B}^\top = \mathbf{A} + \mathbf{B}이므로 \mathbf{A} + \mathbf{B}도 대칭 행렬이다.
스칼라 곱에 대한 닫힘: 스칼라 c에 대하여 (c\mathbf{A})^\top = c\mathbf{A}^\top = c\mathbf{A}이므로 c\mathbf{A}도 대칭 행렬이다.
따라서 n \times n 대칭 행렬의 집합은 \mathbb{R}^{n \times n}의 부분 공간을 형성하며, 그 차원은 n(n+1)/2이다.
곱셈에 대한 비닫힘: 두 대칭 행렬의 곱은 일반적으로 대칭이 아니다. (\mathbf{A}\mathbf{B})^\top = \mathbf{B}^\top \mathbf{A}^\top = \mathbf{B}\mathbf{A}이므로, \mathbf{A}\mathbf{B}가 대칭이려면 \mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A}, 즉 두 행렬이 교환 가능(commute)해야 한다.
\mathbf{A}^\top\mathbf{A}의 대칭성: 임의의 행렬 \mathbf{A} \in \mathbb{R}^{m \times n}에 대하여 \mathbf{A}^\top\mathbf{A} \in \mathbb{R}^{n \times n}은 항상 대칭이다. (\mathbf{A}^\top\mathbf{A})^\top = \mathbf{A}^\top(\mathbf{A}^\top)^\top = \mathbf{A}^\top\mathbf{A}이기 때문이다. 더 나아가 \mathbf{A}^\top\mathbf{A}는 양의 준정부호(positive semidefinite)이다. 임의의 벡터 \mathbf{x}에 대하여 \mathbf{x}^\top(\mathbf{A}^\top\mathbf{A})\mathbf{x} = (\mathbf{A}\mathbf{x})^\top(\mathbf{A}\mathbf{x}) = \|\mathbf{A}\mathbf{x}\|^2 \geq 0이다.
3. 실수 대칭 행렬의 스펙트럼 정리
실수 대칭 행렬에 관한 가장 중요한 결과는 스펙트럼 정리(spectral theorem)이다.
정리: 실수 대칭 행렬 \mathbf{A} \in \mathbb{R}^{n \times n}에 대하여 다음이 성립한다.
- \mathbf{A}의 모든 고유값은 실수이다.
- 서로 다른 고유값에 대응하는 고유벡터는 직교한다.
- \mathbf{A}는 직교 행렬 \mathbf{Q}에 의하여 대각화 가능하다. 즉, \mathbf{A} = \mathbf{Q}\boldsymbol{\Lambda}\mathbf{Q}^\top이 성립하는 직교 행렬 \mathbf{Q}와 대각 행렬 \boldsymbol{\Lambda}가 존재한다.
여기서 \mathbf{Q}의 열벡터는 정규 직교 고유벡터이고, \boldsymbol{\Lambda} = \text{diag}(\lambda_1, \ldots, \lambda_n)은 대응하는 고유값으로 이루어진 대각 행렬이다. 이 분해를 스펙트럼 분해(spectral decomposition)라 하며, 외적(outer product) 형태로 표현하면 다음과 같다.
\mathbf{A} = \sum_{i=1}^{n} \lambda_i \mathbf{q}_i \mathbf{q}_i^\top
여기서 \mathbf{q}_i는 \mathbf{Q}의 i번째 열벡터이다. 각 항 \lambda_i \mathbf{q}_i \mathbf{q}_i^\top은 고유벡터 방향으로의 사영(projection)에 고유값을 곱한 것으로, 해당 방향으로의 변환 크기를 나타낸다.
고유값이 모두 실수임을 증명하자. \mathbf{A}\mathbf{x} = \lambda\mathbf{x}에서 양변에 \bar{\mathbf{x}}^\top을 왼쪽에 곱하면 \bar{\mathbf{x}}^\top\mathbf{A}\mathbf{x} = \lambda\bar{\mathbf{x}}^\top\mathbf{x} = \lambda\|\mathbf{x}\|^2이다. 켤레 전치를 취하면 \bar{\mathbf{x}}^\top\mathbf{A}^\top\mathbf{x} = \bar{\lambda}\|\mathbf{x}\|^2이고, \mathbf{A}^\top = \mathbf{A}이므로 \lambda\|\mathbf{x}\|^2 = \bar{\lambda}\|\mathbf{x}\|^2이다. \mathbf{x} \neq \mathbf{0}이면 \lambda = \bar{\lambda}, 즉 \lambda는 실수이다.
4. 반대칭 행렬의 정의와 성질
정사각 행렬 \mathbf{A} \in \mathbb{R}^{n \times n}이 반대칭 행렬(skew-symmetric matrix 또는 antisymmetric matrix)이라 함은 다음 조건을 만족하는 것이다.
\mathbf{A}^\top = -\mathbf{A}
원소 단위로 a_{ij} = -a_{ji}이다. 특히 i = j이면 a_{ii} = -a_{ii}이므로 a_{ii} = 0이다. 즉, 반대칭 행렬의 주대각선 원소는 모두 0이다. 3 \times 3 반대칭 행렬의 일반적 형태는 다음과 같다.
\mathbf{A} = \begin{pmatrix} 0 & a & b \\ -a & 0 & c \\ -b & -c & 0 \end{pmatrix}
독립적인 원소의 수는 n(n-1)/2개이다.
반대칭 행렬의 주요 성질은 다음과 같다.
고유값: 실수 반대칭 행렬의 고유값은 순허수(purely imaginary) 또는 0이다. \mathbf{A}\mathbf{x} = \lambda\mathbf{x}에서 대칭 행렬과 유사한 방법으로 \lambda = -\bar{\lambda}가 도출되며, 이는 \lambda의 실수부가 0임을 의미한다.
행렬식: 홀수 차원의 반대칭 행렬의 행렬식은 항상 0이다. \det(\mathbf{A}) = \det(\mathbf{A}^\top) = \det(-\mathbf{A}) = (-1)^n \det(\mathbf{A})에서 n이 홀수이면 \det(\mathbf{A}) = -\det(\mathbf{A})이므로 \det(\mathbf{A}) = 0이다.
트레이스: 주대각선 원소가 모두 0이므로 \text{tr}(\mathbf{A}) = 0이다.
지수 함수: 반대칭 행렬 \mathbf{A}의 행렬 지수함수 \exp(\mathbf{A})는 직교 행렬이다. \exp(\mathbf{A})^\top = \exp(\mathbf{A}^\top) = \exp(-\mathbf{A}) = [\exp(\mathbf{A})]^{-1}이기 때문이다. 이 성질은 로봇 공학과 컴퓨터 비전에서 회전 행렬의 매개변수화에 활용된다.
5. 대칭-반대칭 분해
임의의 정사각 행렬 \mathbf{A}는 대칭 부분과 반대칭 부분의 합으로 유일하게 분해된다.
\mathbf{A} = \underbrace{\frac{\mathbf{A} + \mathbf{A}^\top}{2}}_{\text{대칭 부분 } \mathbf{S}} + \underbrace{\frac{\mathbf{A} - \mathbf{A}^\top}{2}}_{\text{반대칭 부분 } \mathbf{K}}
\mathbf{S}^\top = \mathbf{S}이고 \mathbf{K}^\top = -\mathbf{K}임을 쉽게 확인할 수 있다. 이 분해는 벡터 공간으로서의 직합(direct sum) \mathbb{R}^{n \times n} = \text{Sym}_n \oplus \text{Skew}_n에 대응한다. 이차형식(quadratic form) \mathbf{x}^\top\mathbf{A}\mathbf{x}에서 반대칭 부분의 기여는 항상 0이다. \mathbf{x}^\top\mathbf{K}\mathbf{x} = (\mathbf{x}^\top\mathbf{K}\mathbf{x})^\top = \mathbf{x}^\top\mathbf{K}^\top\mathbf{x} = -\mathbf{x}^\top\mathbf{K}\mathbf{x}에서 \mathbf{x}^\top\mathbf{K}\mathbf{x} = 0이 도출되기 때문이다. 따라서 \mathbf{x}^\top\mathbf{A}\mathbf{x} = \mathbf{x}^\top\mathbf{S}\mathbf{x}이며, 이차형식의 분석에서는 대칭 부분만 고려하면 충분하다.
6. 딥러닝에서의 대칭 행렬
딥러닝에서 대칭 행렬은 여러 핵심 개념에서 자연스럽게 등장한다.
공분산 행렬: 데이터의 공분산 행렬 \boldsymbol{\Sigma} = \frac{1}{N}\sum_{i=1}^{N}(\mathbf{x}_i - \boldsymbol{\mu})(\mathbf{x}_i - \boldsymbol{\mu})^\top은 항상 대칭이며 양의 준정부호이다. 주성분 분석(PCA)은 공분산 행렬의 스펙트럼 분해를 통해 데이터의 주요 변동 방향을 추출하는 기법이다.
헤시안 행렬: 손실 함수 \mathcal{L}(\boldsymbol{\theta})의 2차 편미분으로 구성된 헤시안 행렬 \mathbf{H}_{ij} = \frac{\partial^2 \mathcal{L}}{\partial \theta_i \partial \theta_j}은 충분히 매끄러운 함수에 대하여 대칭이다(슈바르츠 정리에 의하여). 헤시안의 고유값은 손실 지형(loss landscape)의 곡률을 나타내며, 양의 고유값은 위로 볼록한 방향을, 음의 고유값은 아래로 볼록한 방향을 의미한다.
그람 행렬(Gram Matrix): 특징 벡터들의 내적으로 구성된 그람 행렬 \mathbf{G} = \mathbf{X}^\top\mathbf{X}는 대칭이며 양의 준정부호이다. 스타일 전이(style transfer)에서 그람 행렬은 특징 맵의 통계적 구조를 포착하는 데 사용되며, 커널 방법(kernel method)에서는 커널 행렬이 대칭 양의 준정부호 조건을 만족해야 유효한 커널 함수가 된다.
피셔 정보 행렬: 모델 매개변수에 대한 피셔 정보 행렬 \mathbf{F} = \mathbb{E}\left[\nabla \log p(\mathbf{x};\boldsymbol{\theta})\,\nabla \log p(\mathbf{x};\boldsymbol{\theta})^\top\right]은 대칭이며 양의 준정부호이다. 자연 기울기(natural gradient) 방법에서는 이 행렬의 역행렬을 기울기에 곱하여 매개변수 공간의 기하학적 구조를 반영한 갱신을 수행한다.