27.33 연립 일차방정식의 행렬 표현과 해의 존재 조건
1. 연립 일차방정식의 행렬 표현
m개의 방정식과 n개의 미지수로 이루어진 연립 일차방정식은 다음과 같다.
\begin{aligned} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n &= b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n &= b_2 \\ &\vdots \\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n &= b_m \end{aligned}
이를 행렬과 벡터를 사용하여 간결하게 표현하면 \mathbf{A}\mathbf{x} = \mathbf{b}이다.
\underbrace{\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}}_{\mathbf{A} \in \mathbb{R}^{m \times n}} \underbrace{\begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix}}_{\mathbf{x} \in \mathbb{R}^n} = \underbrace{\begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix}}_{\mathbf{b} \in \mathbb{R}^m}
여기서 \mathbf{A}는 계수 행렬(coefficient matrix), \mathbf{x}는 미지수 벡터, \mathbf{b}는 상수 벡터이다.
이 표현은 두 가지 관점에서 해석할 수 있다.
열 관점(Column Picture): \mathbf{A}\mathbf{x} = x_1\mathbf{a}_1 + x_2\mathbf{a}_2 + \cdots + x_n\mathbf{a}_n = \mathbf{b}이므로, 해를 구하는 것은 \mathbf{A}의 열벡터들의 선형 결합으로 \mathbf{b}를 표현하는 계수를 찾는 것이다. 해가 존재하려면 \mathbf{b}가 \mathbf{A}의 열 공간에 속해야 한다.
행 관점(Row Picture): 각 방정식 \mathbf{r}_i^\top\mathbf{x} = b_i는 \mathbb{R}^n에서의 초평면(hyperplane)을 나타낸다. 연립방정식의 해는 이 m개 초평면들의 교집합이다. \mathbb{R}^2에서는 직선들의 교점, \mathbb{R}^3에서는 평면들의 교선 또는 교점이 된다.
2. 확대 행렬과 로셰-카펠리 정리
확대 행렬(augmented matrix)은 계수 행렬에 상수 벡터를 열로 추가한 행렬이다.
[\mathbf{A} \mid \mathbf{b}] = \begin{pmatrix} a_{11} & \cdots & a_{1n} & b_1 \\ a_{21} & \cdots & a_{2n} & b_2 \\ \vdots & \ddots & \vdots & \vdots \\ a_{m1} & \cdots & a_{mn} & b_m \end{pmatrix}
로셰-카펠리 정리(Rouche-Capelli Theorem): 연립방정식 \mathbf{A}\mathbf{x} = \mathbf{b}가 해를 가지기 위한 필요충분조건은 다음과 같다.
\text{rank}(\mathbf{A}) = \text{rank}([\mathbf{A} \mid \mathbf{b}])
이 조건의 의미를 열 관점에서 해석하면, \mathbf{b}가 \mathbf{A}의 열 공간에 속하면 \mathbf{b}를 열로 추가해도 계수가 증가하지 않는다. \mathbf{b}가 열 공간 밖에 있으면 \text{rank}([\mathbf{A} \mid \mathbf{b}]) = \text{rank}(\mathbf{A}) + 1이 되어 해가 존재하지 않는다.
3. 해의 존재성과 유일성 분류
\mathbf{A} \in \mathbb{R}^{m \times n}에 대하여 r = \text{rank}(\mathbf{A})로 놓으면, 연립방정식 \mathbf{A}\mathbf{x} = \mathbf{b}의 해는 다음과 같이 분류된다.
경우 1: 해 없음. \text{rank}(\mathbf{A}) < \text{rank}([\mathbf{A} \mid \mathbf{b}])이면, \mathbf{b} \notin \text{Col}(\mathbf{A})이므로 해가 존재하지 않는다. 이를 불능(inconsistent)이라 한다.
경우 2: 유일한 해. \text{rank}(\mathbf{A}) = \text{rank}([\mathbf{A} \mid \mathbf{b}]) = n이면, 자유 변수가 없으므로 해가 유일하다. 이 경우 \text{nullity}(\mathbf{A}) = 0이다.
경우 3: 무한히 많은 해. \text{rank}(\mathbf{A}) = \text{rank}([\mathbf{A} \mid \mathbf{b}]) = r < n이면, n - r개의 자유 변수가 존재하고 해는 n - r차원 아핀 부분 공간을 이룬다.
이를 정리하면 다음과 같다.
| r vs m | r vs n | 해의 상태 |
|---|---|---|
| r = m | r = n | m = n: 유일한 해 (모든 \mathbf{b}에 대해) |
| r = m | r < n | 무한히 많은 해 (모든 \mathbf{b}에 대해) |
| r < m | r = n | 해가 없거나 유일한 해 (\mathbf{b}에 따라) |
| r < m | r < n | 해가 없거나 무한히 많은 해 (\mathbf{b}에 따라) |
4. 정사각 행렬 시스템
\mathbf{A}가 n \times n 정사각 행렬인 경우, 시스템은 n개의 방정식과 n개의 미지수를 가진다.
\det(\mathbf{A}) \neq 0이면 \mathbf{A}는 가역이고, 모든 \mathbf{b} \in \mathbb{R}^n에 대하여 유일한 해 \mathbf{x} = \mathbf{A}^{-1}\mathbf{b}가 존재한다. 이는 \text{rank}(\mathbf{A}) = n인 경우이다.
\det(\mathbf{A}) = 0이면 \mathbf{A}는 특이하고, \mathbf{b}에 따라 해가 없거나 무한히 많다. 동차 방정식 \mathbf{A}\mathbf{x} = \mathbf{0}은 항상 비자명해(nontrivial solution)를 가진다.
5. 과결정 시스템과 미결정 시스템
과결정 시스템(Overdetermined System): m > n인 경우로, 방정식의 수가 미지수의 수보다 많다. 일반적으로 모든 방정식을 동시에 만족하는 해가 존재하지 않으며, 이 경우 최소 제곱법으로 잔차 \|\mathbf{A}\mathbf{x} - \mathbf{b}\|^2를 최소화하는 근사해를 구한다.
미결정 시스템(Underdetermined System): m < n인 경우로, 미지수의 수가 방정식의 수보다 많다. 해가 존재하면 무한히 많으며, 추가 조건(예: 최소 노름)을 부과하여 유일한 해를 선택한다.
6. 동차 연립방정식의 특수 성질
\mathbf{b} = \mathbf{0}인 동차 방정식 \mathbf{A}\mathbf{x} = \mathbf{0}은 항상 자명해(trivial solution) \mathbf{x} = \mathbf{0}을 가진다. 비자명해가 존재하기 위한 필요충분조건은 \text{rank}(\mathbf{A}) < n, 즉 \det(\mathbf{A}) = 0 (n \times n 행렬의 경우)이다.
동차 방정식에서 m < n이면, 즉 방정식 수가 미지수 수보다 적으면, \text{rank}(\mathbf{A}) \leq m < n이므로 반드시 비자명해가 존재한다. 이는 “방정식보다 미지수가 많으면 자유도가 남는다“는 직관과 부합한다.
7. 딥러닝에서의 연립방정식
딥러닝의 핵심 문제들은 연립방정식의 관점에서 이해할 수 있다.
선형 회귀: 데이터 행렬 \mathbf{X} \in \mathbb{R}^{N \times d}와 목표 벡터 \mathbf{y} \in \mathbb{R}^N에 대하여, \mathbf{X}\mathbf{w} = \mathbf{y}를 만족하는 가중치 벡터 \mathbf{w} \in \mathbb{R}^d를 구하는 것이 목표이다. 일반적으로 N > d인 과결정 시스템이므로 정확한 해는 존재하지 않으며, 정규 방정식 \mathbf{X}^\top\mathbf{X}\mathbf{w} = \mathbf{X}^\top\mathbf{y}의 해인 최소 제곱 해 \hat{\mathbf{w}} = (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}를 구한다.
과매개변수화 신경망: 현대 딥러닝 모델에서는 매개변수 수 p가 학습 데이터 수 N보다 훨씬 크다 (p \gg N). 이는 미결정 시스템에 해당하며, 학습 데이터에 대한 완전한 적합(zero training loss)이 가능한 해가 무한히 많다. 경사 하강법이 이 무한한 해 중에서 특정 해로 수렴하며, 암묵적 정규화(implicit regularization)에 의해 일반화 성능이 좋은 해가 선택되는 것으로 알려져 있다.
선형 방정식과 역전파: 역전파에서 각 계층의 기울기 계산은 선형 방정식의 형태를 띤다. 출력 기울기 \frac{\partial \mathcal{L}}{\partial \mathbf{h}_\ell}로부터 이전 계층의 기울기 \frac{\partial \mathcal{L}}{\partial \mathbf{h}_{\ell-1}}을 구하는 과정은 \frac{\partial \mathcal{L}}{\partial \mathbf{h}_{\ell-1}} = \mathbf{W}_\ell^\top \frac{\partial \mathcal{L}}{\partial \mathbf{h}_\ell}로 표현되며, 이는 행렬-벡터 곱이라는 선형 연산이다. 가중치에 대한 기울기 \frac{\partial \mathcal{L}}{\partial \mathbf{W}_\ell} = \frac{\partial \mathcal{L}}{\partial \mathbf{h}_\ell}\mathbf{h}_{\ell-1}^\top도 마찬가지이다. 이처럼 비선형 신경망의 학습이라 하더라도, 각 단계의 기울기 전파는 선형 방정식 체계를 통해 이루어진다.