References
- Deep Learning (https://www.deeplearningbook.org/)
Contents
- Linear Dependence
- Span
\[\boldsymbol{Ax = b}\]
\(\boldsymbol{A}^{-1}\)이 존재하려면, 모든 \(\boldsymbol{b}\)에 대해 위의 식에 정확히 하나의 해가 존재해야 합니다. 일부 \(\boldsymbol{b}\) 값에 대해서는 해가 하나도 없거나 무한히 많아도 역행렬이 존재할 수는 있습니다. 그러나 특정 \(\boldsymbol{b}\)에 대해 해의 개수가 2개 이상, 혹은 무한대 미만인 경우가 있어서는 안됩니다.
\(\boldsymbol{x}\)와 \(\boldsymbol{y}\)가 둘 다 유효한 해라고 할 때, 임의의 실수 \(\alpha\)에 대해
\[\boldsymbol{z} = \alpha \boldsymbol{x} + (1 - \alpha)\boldsymbol{y}\]
또한 유효한 해입니다.
방정식의 해가 몇 개 인지 확인할 때는 \(\boldsymbol{A}\)의 열들을 원점(origin)에서부터 나아갈 수 있는 서로 다른 방향이라고 간주하고, 그 방향들로 나아가서 실제로 b에 도달하는 방법이 몇 개인지 세어보면 됩니다. 이러한 방식에서 \(\boldsymbol{x}\)의 각 성분은 해당 방향으로 얼마나 멀리 나아가야 하는지를 나타냅니다. 즉, 각 \(x_i\)는 열 i의 방향으로의 진행 거리를 나타냅니다.
\[\boldsymbol{Ax} = \sum_{i}x_i \boldsymbol{A}_{:,i}\]
일반화하면, 이런 종류의 연산을 일차결합(linear combination, 또는 선형결합)이라고 부릅니다.
공식적으로는 벡터 집합 \(\{\boldsymbol{v}^{(1)}, \cdots, \boldsymbol{v}^{(n)}\}\)의 일차결합은 아래와 같이 각 벡터에 해당 스칼라 계수를 곱하여 모두 더한 것입니다.
\[\sum_{i} c_i \boldsymbol{v}^{(i)}\]
그리고 주어진 벡터 집합의 일차결합으로 얻을 수 있는 모든 점의 집합을 그 벡터 집합의 생성공간(span)이라고 부릅니다.
연립일차방정식 \(\boldsymbol{Ax} = \boldsymbol{b}\)에 해가 있는지는 \(\boldsymbol{b}\)가 \(\boldsymbol{A}\)의 열들의 생성공간에 속하는지로 판정할 수 있습니다. 이러한 특정한 생성공간을 \(\boldsymbol{A}\)의 열공간(column space) 또는 치역(range)라고 부릅니다.
따라서, 모든 \(\boldsymbol{b} \in \mathbb{R}^m\)에 대해 일차연립방정식 \(\boldsymbol{Ax = b}\)에 하나의 해가 존재하려면, \(\boldsymbol{A}\)의 열공간이 \(\mathbb{R}^m\) 전체와 같아야 합니다. 만약 \(\mathbb{R}^m\)의 어떤 점이 그 열공간에 존재하지 않는다면, 그 점에 해당하는 \(\boldsymbol{b}\)에 대해서는 방정식의 해가 존재하지 않을 가능성이 있습니다. \(\boldsymbol{A}\)의 열공간이 \(\mathbb{R}^m\) 전체와 같아야 한다는 조건은 \(\boldsymbol{A}\)의 열이 적어도 m개여야 한다는, 즉, \(n \geq m\)이어야 한다는 조건으로 이어집니다. 만약 그렇지 않다면 열공간의 차원 수가 m보다 작을 것이기 때문입니다.
예를 들어, 3x2 행렬을 생각해봅시다. 목표(target)인 \(\boldsymbol{b}\)는 3차원이지만 \(\boldsymbol{x}\)는 2차원이므로, \(\boldsymbol{x}\)의 값을 어떻게 바꾸던 간에 \(\mathbb{R}^3\) 안의 2차원 평면에서만 해를 찾게 됩니다. 방정식의 해는 \(\boldsymbol{b}\)가 해당 평면에 있을 때에만 존재합니다(필요충분조건).
그런데 \(n \geq m\)은 모든 점에 대해 해가 있을 필요조건일 뿐, 충분조건은 아닙니다. 이는 일부 열들이 중복될 수 있기 때문입니다. 예를 들어, 2x2 행렬의 두 열이 동일하다고 가정해봅시다. 그렇다면 그 행렬의 열공간은 그냥 동일한 열 하나만 있는 2x1 행렬의 열공간과 같습니다. 다시 말하면, 행렬의 열이 두 개더라도 그 열공간은 하나의 직선일 뿐이기 때문에 \(\mathbb{R}^2\) 전체를 포괄하지 못합니다.
이러한 종류의 중복성을 일차종속(linear dependence)라고 합니다. 반대로, 일차결합 벡터가 하나도 없는 벡터 집합을 가리켜 일차독립(linear independence)라고 합니다. 일차결합 벡터를 벡터 집합에 추가해도 그 집합의 생성공간에는 아무런 점도 추가되지 않습니다. 이는 주어진 한 행렬의 열공간이 \(\mathbb{R}^m\) 전체에 해당하려면 그 행렬에는 일차독립인 열들이 m개인 집합이 적어도 하나는 있어야 한다는 의미입니다. 이 조건은
\[\boldsymbol{Ax = b}\]
모든 \(\boldsymbol{b}\) 값에 대해 위 식에 하나의 해가 있을 필요조건이자 충분조건입니다. 이 조건이 행렬에 일차독립 열이 적어도 m개는 있어야 한다라는 것이 아님에 주의해야 합니다. 일차독립인 열이 정확히 m개인 벡터 집합이 있어야 하며, 서로 일차독립인 열들이 m개를 넘는 m차원 벡터 집합이 존재해서는 안 됩니다. 그러나 열의 개수가 m개를 넘는 행렬에서 일차독립 열이 정확히 m개인 벡터 집합이 여러 개 있는 것은 괜찮습니다.
행렬에 역이 존재하려면, 모든 \(\boldsymbol{b}\)에 대해 \(\boldsymbol{Ax = b}\)의 해가 최대 하나만 존재해야 한다는 조건이 추가됩니다. 그러려면 행렬의 열이 많아야 m개이어야 합니다. 그렇지 않으면 해가 여러 개가 됩니다.
위의 내용을 정리하면 행렬은 반드시 정방 행렬(square matrix), 즉, m = n인 행렬이어야 하며 모든 열이 일차독립이어야 합니다. 정방행렬이지만 열들이 일차종속인 행렬을 특이 행렬(singular matrix)라고 부릅니다.
\(\boldsymbol{A}\)가 정방 행렬이 아니거나, 정방 행렬이지만 특이 행렬일 때도 방정식을 푸는 것이 가능할 수 있지만, 행렬의 역을 이용하는 방법으로 반드시 해를 구할 수 있다는 보장은 없습니다.
'ML & DL > Study' 카테고리의 다른 글
[선형대수] 고윳값 분해 (0) | 2022.05.13 |
---|---|
[선형대수] Norm (노름) (0) | 2022.05.13 |
AutoEncoder (3) : AE, DAE (0) | 2021.02.15 |
AutoEncoder (2) : Manifold Learning (1) | 2021.02.10 |
AutoEncoder (1) : Maximum likelihood 관점에서의 해석 (0) | 2021.02.09 |
댓글