본문 바로가기
딥러닝/선형대수

선형방정식과 선형종속, span

by be-favorite 2020. 4. 10.

❗️블로그 옮김:  https://www.taemobang.com

 

방태모

안녕하세요, 제 블로그에 오신 것을 환영합니다. 통계학을 전공으로 학부, 석사를 졸업했습니다. 현재는 가천대 길병원 G-ABC에서 Data Science를 하고있습니다. 통계학, 시계열, 통계적학습과 기계

www.taemobang.com

 

선형방정식 구조(a system of linear equations)는 다음과 같은 꼴을 말한다.

$\boldsymbol{A} \boldsymbol{x}$ = $\boldsymbol{b}$

여기서 $\boldsymbol{A} \in \mathbb{R}^{m\times n}$는 알려진 행렬이며, $\boldsymbol{b} \in \mathbb{R}^{m}$ 는 알려진 벡터이다. 그리고 $\boldsymbol{x} \in \mathbb{R}^{n}$가 우리가 풀길 원하는 미지의 변수들의 벡터이다. $\boldsymbol{A}$의 각 행과 $\boldsymbol{b}$의 각 요소는 해를 구하는것에 있어서 제약을 부여한다. 행렬-벡터의 곱 표기법은 이러한 방정식의 형태를 더 간결하게 표현할 수 있게 해준다!

 

1. 항등행렬과 역행렬

선형대수는 앞서 말한 선형방정식을 풀 수 있게 해주는 강력한 도구인 "matrix inversion"을 제공한다.

$\boldsymbol{Ax} = \boldsymbol{b}$
$\boldsymbol{A}^{-1} \boldsymbol{Ax}$ = $\boldsymbol{A}^{-1}\boldsymbol{b}$

$\boldsymbol{I_nx}$ = $\boldsymbol{A}^{-1} \boldsymbol{b}$

$\boldsymbol{x}$ = $\boldsymbol{A}^{-1} \boldsymbol{b}$

물론 이 과정은 $\boldsymbol{A}^{-1}$을 찾는것이 가능한지에 따라 달려있다. 다음 section에서 $\boldsymbol{A}^{-1}$의 존재성에 따른 상태에 대해서 이야기해보자.

 

2. 선형 종속(Linear Dependence)과 span

$\boldsymbol{A}^{-1}$가 존재하려면, 선형방정식 $\boldsymbol{Ax} = \boldsymbol{b}$는 $\boldsymbol{b}$의 모든 값에 대해 정확하게 하나의 해만 가져야만 한다. 또한 선형방정식이 해가 없거나, $\boldsymbol{b}$의 몇몇 값에 대해 무수히 많은 해를 가지는것도 가능하다. 그러나 특정한 벡터 $\boldsymbol{b}$에 대해 하나 이상의 해를 가지는 것은 불가능하다; 만약 $\boldsymbol{x}$와 $\boldsymbol{y}$ 둘 다 해라면, 

$\boldsymbol{z}$ = $\alpha \boldsymbol{x}$ + $\left(1-\alpha \right) \boldsymbol{y}$

또한 어떤 실수 $\alpha$에 대해 해가 된다.

 

방정식이 얼마나 많은 해를 가지는지 분석하기위해 $\boldsymbol{A}$의 열들이 원점(origin)으로부터 갈 수 있는 다른 방향들을 나타내는것으로 생각하고, 그다음 $\boldsymbol{b}$에 도달하는 방법이 얼마나 많은지 알아내라. 이 관점에 따르면, $\boldsymbol{x}$의 각 요소는 $i$열의 방향으로 얼마나 멀리 이동해야 하는지를 뜻한다.(예를 들면, $\boldsymbol{A}$의 첫번째 열의 성분들은 모두 $x_1$에 곱해지기때문에) 즉, $\boldsymbol{x}_i$는 $\boldsymbol{A}$의 $i$열의 방향으로 얼마나 멀리 이동해야 하는지를 명시한다.

$\boldsymbol{Ax} = \sum_ix_i\boldsymbol{A}_{:, i}$

일반적으로, 이런 연산을 "선형 결합(linear combination)"이라고 한다. 형식적으로는 벡터 집합 $\left\{ \boldsymbol{v}^{(1)}, \cdots, \boldsymbol{v}^{(n)} \right\}$의 선형결합은 각각의 벡터 $\boldsymbol{v}^{(i)}$에 스칼라 계수를 곱하고 이들을 더해준것으로 정의된다:

$\sum_ic_i\boldsymbol{v}^{(i)}$

벡터 집합의 "span"이란, 해당 집합의 벡터들의 선형결합으로 얻을 수 있는 모든 점들의 집합을 말한다. 그러므로 $\boldsymbol{Ax} = \boldsymbol{b}$가 오직 하나의 해를 가지는지를 보는것은 $\boldsymbol{b}$가 $\boldsymbol{A}$의 열들의 span에 존재하는지 확인하는것과 같다($\boldsymbol{v}^{(i)}$를 $\boldsymbol{A}$의 각 열로 생각하고, $c_i$들을 $\boldsymbol{x}$의 각 성분이라고 생각하면된다). 이러한 span을 특히 "column space", 또는 $\boldsymbol{A}$의 "range"라고 부른다.

즉 선형방정식 시스템 $\boldsymbol{Ax} = \boldsymbol{b}$가 $\boldsymbol{b}\in \mathbb{R}^m$의 모든 값에 대해 하나의 해를 가지기위해서는, $\boldsymbol{A}$는 $\mathbb{R}^m$ 공간의 모든점을 가지는 column space가 필요하다. 만약 column space가 $\mathbb{R}^m$상의 점을 하나라도 갖지못한다면, 그 점은 잠재적으로 $\boldsymbol{b}$의 해가 없는 점이 된다. $\boldsymbol{A}$는 $\mathbb{R}^m$ 공간의 모든점을 가지는 column space여야 한다는 조건은 $\boldsymbol{A}_{m\times n}$은 최소 $m$개의 열들을 가져야함을 의미한다(즉, $n\geq m$). 이 조건을 만족하지 못하면, column space의 공간은 $m$보단 작게될 것이다. 예를 들어, $3\times 2$ 행렬을 고려해보자. 그럼 $\boldsymbol{b}$는 3-D이지만, $\boldsymbol{x}$는 2-D가 되므로 기껏해야 $\mathbb{R}^3$내의 2-D 평면을 찾는것이다. 방정식이 해를 가지기위한 필요충분조건은 $\boldsymbol{b}$가 해당 평면에 놓여있는것이다.

 

$n \geq m$이란 조건은 모든점이 하나의 해를 가질 때의 필요조건일뿐이다. 예를들어 두 열이 동일한 $2\times 2$ 행렬을 생각해보자. 이 경우 $2\times 1$ 행렬과 같은 column space를 가지게된다. 즉, 2개의 열이 존재하더라도 column space는 여전히 선에 불과하며 $\mathbb{R}^2$의 모든 점을 포함할 수 없게된다. 이런 불필요한 중복을 "선형 종속(linear dependence)"이라고 한다. 벡터 집합의 임의의 한 벡터를 동일한 집합의 다른 벡터들의 선형결합으로 표현할 수 없는경우에, 이러한 벡터 집합을 선형적으로 독립(linearly independent)이라고 한다. 만약 집합의 다른 벡터들의 선형결합을 통해 새로운 벡터를 집합에 추가하면,  새로운 벡터는 집합의 span에서 어떠한 점도 추가하지 않는다. 즉 이는 행렬의 column space가 $\mathbb{R}^m$의 모든 점을 포함하기 위해서는 최소 $m$개의 독립인 열들이 존재해야함을 의미한다. 이 조건이 $\boldsymbol{Ax} = \boldsymbol{b}$가 하나의 해를 가지기위한 필요충분조건이다.

 

역행렬을 가지는 행렬에 대해서는, $\boldsymbol{Ax} = \boldsymbol{b}$가 $\boldsymbol{b}$의 각 값에 대해 최대 하나의 솔루션이 있는지 추가적으로 확인해야 한다. 이를 위해 행렬이 최대 $m$개의 열을 가지고 있는지 확인할 필요가 잇다. 그렇지 않으면, 각 해를 parameterizing하는 하나이상의 방법이 존재하게 된다. 이는 행렬이 정사각형(square) 이여야만 한다는 것을 말하며 즉, $m=n$이고 모든 열들은 선형적으로 독립이여야한다(참고로, 선형 종속인 열들을 가지는 정사각 행렬(square matrix)을 singular라고 한다). 여기서 말하고자하는 바는 $\boldsymbol{A}$가 정사각 행렬이 아니거나 또는 singular matrix인 경우에도, 선형방정식 $\boldsymbol{Ax} = \boldsymbol{b}$를 푸는 것은 가능하나 역행렬을 이용해 해를 찾을 수는 없다.

 

 

참고 도서
Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep Learning. The MIT Press, 2016

'딥러닝 > 선형대수' 카테고리의 다른 글

특별한 종류의 행렬과 벡터  (0) 2020.04.10
norms  (0) 2020.04.10
행렬과 벡터의 곱연산  (0) 2020.04.10
행렬의 전치와 브로드캐스팅  (0) 2020.04.10
선형대수의 여러 객체 소개  (0) 2020.04.10

댓글