본문 바로가기
  • Deep dive into Learning
  • Deep dive into Optimization
  • Deep dive into Deep Learning
Deep dive into Deep learning

Deep dive into Deep Learning Part 4. - Updated

by Sapiens_Nam 2023. 3. 9.

*** 모바일 앱 환경에서는 latex 수식이 깨져서 나타나므로, 가급적 웹 환경에서 읽어주시길 바랍니다 :) ***

 

"Linear algebra, Probability and Statistics, Calculus review"

 

이번 포스팅에서는 선형대수학 2번째 글을 올리도록 하겠습니다.

딥러닝을 위한 선형대수학 복습 첫 번째 글은 아래 링크를 참조하시기 바랍니다.

https://kyteris0624.tistory.com/14

 

Deep dive into Deep Learning Part 3. 딥러닝 기초수학

*** 모바일 앱 환경에서는 latex 수식이 깨져서 나타나므로, 가급적 웹 환경에서 읽어주시길 바랍니다 :) *** "Linear algebra, Probability and Statistics, Calculus review" 앞으로 3개의 포스팅에서는 선형대수학,

kyteris0624.tistory.com

 

이번 글에서는 

1. $Ax = b$ 에서 유일한 해로 결정되는 경우, 즉 $x = A^{-1}b$로 결정되는 경우 (= $A$의 역행렬이 존재하는 경우)는 언제인가?

를 진행하고자 한다.

 

우선 언제 $A^{-1}$가 존재할까?

 

정답을 우선 이야기하고 가면 $A \in \mathbb{R}^{n \times n}$의 모든 열벡터 (행벡터)가 선형독립일때 역행렬이 존재한다.

그렇다면 선형독립 (linearly independent)이란 무엇인가?

행렬 A를 다음과 같이 표현할 수 있다.

 

* Linearly independent (선형독립)

위 이미지에서 $A$를 열벡터들의 배열로 표현하였다. 각각의 열벡터가 $a_i \in \mathbb{R}^n$이다.

 

행렬 ($A$)과 벡터 ($x \in \mathbb{R}^n$)의 곱셈은 행렬의 열벡터의 선형결합 (linear combination)이라 하였고, 위 식은 $Ax= 0$ 방정식이다.

자, $A$의 열벡터가 선형독립인 경우는, 위 방정식을 만족하는 해가 오직 영벡터인 경우, 즉 모든 $x_i$가 0일 때만 위 방정식을 만족하면, 우리는 $A$의 열벡터가 linearly independent 라고 이야기한다.

그리고 이 경우에만 $A$의 역행렬이 존재한다.

 

선형 종속 (linearly dependent)은 정확히 선형독립과 정반대로 영벡터가 아닌 해가 존재한다면 $A$의 열벡터는 선형 종속이다.

즉, 적어도 하나의 $x_i$가 0이 아닌 해가 존재한다면, 그것이 선형종속이다.

 

자, 그렇다면 $A$의 열벡터가 모두 선형독립이면 왜 역행렬이 존재하는 것일까?

 

이를 위해선 벡터공간 (vector space), 기저 (basis), 차원 (dimension)이란 개념을 알아야 한다.

 

* 벡터공간 (Vector space), 기저 (basis), 차원(dimension)

위 선형결합을 보자. 선형 결합의 결과 나오는 연산은 하나의 벡터이다. ($Ax = 0$)에서 $0$도 숫자가 아니라 영벡터이다.

각 x는 스칼라, 각 a는 벡터이다

 

한 가지 가정만 하고 넘어가자, 위 연산에서 벡터 $a_1, \cdots, a_n$은 '선형독립'이라고 하자.

 

그렇다면 여기서 $a_1, \cdots, a_n$은 나한테 주어진 n개의 벡터이고, $x_1, \cdots, x_n$은 임의의 스칼라라면,

위 연산의 결과로 나올 수 있는 벡터는 무수히 많을 것이다.

그리고 그 결과로 나올 수 있는 모든 벡터들의 집합, 즉, linear combination의 집합을 우리는 'Span'이라고 부른다.

 

정리하면 $n$개의 선형독립인 벡터들의 선형결합으로 나올 수 있는 벡터들의 집합이 있고, 역으로 벡터 공간의 재료 역할을 한 그 $n$개의 벡터들, 그 집합을 우리는 '기저' (basis)벡터라 한다.

모든 벡터 공간은 basis vector가 존재하며, 그 수가 무수히 많을 수도 있다. 즉, 하나의 벡터 공간이라도 basis vector는 무수히 많을 수 있다. ($\mathbb{R}^2$의 경우를 생각해보라.)

단, 변하지 않는 것이 하나 있는데, 기저 벡터의 원소의 개수이다. 이 불변량을 수학에서는 '차원'이라 정의한다.

차원 (dimension)은 기저 벡터 집합의 원소의 개수이다. 

 

즉 위 예시에서 벡터 공간의 차원은 $n$-dimension이다.

즉, n개의 벡터가 선형독립이고, 이들의 linear combination으로 모든 벡터를 표현할 수 있는 것이다.

 

근데 만약 위 방정식을 $Ax$꼴로 본다면? 결국 $A$ 열벡터들의 선형 결합의 집합이다. 이를 우리는 행렬 A의 '열공간' (column space)라 하고, 이것이 지금 이야기의 핵심이다.

 

다시 원래 이야기로 돌아와 $A$의 열벡터가 모두 선형독립이면 역행렬이 존재한다고 하였다.

이는 바꿔 말하면 $Ax = b$의 해가 유일하게 존재하는 것이다. 그런데 $x \in \mathbb{R}^n$이므로, $b \in \mathbb{R}^n$이다.

그런데 $A$의 열공간 차원이 $n$-dimension이므로 결국 $b$벡터도 그 벡터 공간의 한 원소일 수밖에 없다.

 

1. $Ax = b$의 해가 유일하게 존재한다. (해가 $x = A^{-1}b$이다.)

2. $A$의 역행렬이 존재한다.

3. $A$의 열벡터 (또는 행벡터)가 모두 선형독립이다.

4. $A$의 열공간의 차원이 n이다. = 즉 $b$벡터가 열공간의 한 원소이다.

5. $A$의 랭크가 n이다.

 

모두 정확히 동치인 명제이다. 하나가 참이면 나머지 4개가 참이다.

여기서 랭크 (rank)란 선형독립인 열벡터 (또는 행벡터)의 개수이다.

 

이제 '해가 유일하게 존재한다'와 관련된 기본적이면서 중요한 개념들을 정리해보았다.

 

그렇다면, '해가 없는 경우' 우리는 어떻게 근사적인 해라도 구할 수 있을까?

'해가 없는 경우'는 다음과 같다.

 

1. $Ax = b$의 해가 없다.

2. $A$의 역행렬이 존재하지 않는다.

3. $A$의 열벡터가 선형 종속이다.

4. $A$의 열공간의 차원이 n보다 작다. = 즉 $b$벡터가 열공간의 원소가 아니다. (열공간에 포함되지 않는다)

5. $A$의 랭크가 n보다 작다.

 

자, 그렇다면 우리가 원하는 것은 '근사해' (approximated solution)이므로 가장 좋은 근사해를 판단하는 기준이 있어야 하고,

이는 결국 '오차'가 작은 것을 의미한다.

즉 $\lVert Ax-b \rVert^2$가 최소화되게 하는 $x$가 가장 괜찮은 해이다.

 

이는 결국 $b$벡터와 $A$ 행렬 열공간 사이의 '거리'가 최소화되어야 한다는 의미와도 같다.

 

위 그림에서 $Col(A)$가 A의 열공간 (Column space)를 의미한다.

$b$ 벡터가 A의 열공간 바깥에 있고, $A \hat{x}$와 $b$ 사이의 거리의 최소는 수직 거리이기 때문에 '수직'표시가 들어가 있다.

즉, $A \hat{x}$와 $A \hat{x} - b$ 두 벡터가 서로 직교한다는 이야기이다.

$x$가 아니라 $\hat{x}$로 표현한 이유는 정확한 해가 아니라 근사적인 해를 구하는 것이라서 바꿔 표기하였다.

직교하면 '내적값 = 0'이고 이를 식으로 표현하여 계산을 진행하면 다음과 같은 결과가 나온다.

 

 

물론 여기서도 한 가지 전제조건이 필요하다. $(A^T A)$의 역행렬이 존재한다는 것이다.

만약 존재한다면 우리는 위와 같은 $\hat{x}$를 구할 수 있을 것이다.

4번째 줄에서 5번째 줄은 영벡터가 아닌 $\hat{x}$가 의미가 있을 것이기 때문에 $\hat{x}$가 영벡터가 아니라는 전제 하에 넘어간 것이다.

 

여기서 한 가지 선형대수학에서 중요한 행렬이 등장하는데 $A^T A$이다.

 

1. $A$가 어떤 모양을 가지고 있든 (즉, 정방행렬이든 아니든) 항상 정방행렬이 된다.

2. 항상 대칭행렬이다. 즉, $(A^T A)^T = A^T A$ 이다.

3. 만약 $A$의 열벡터가 서로 선형독립이면 (정방행렬이든 아니든) $A^T A$는 항상 positive-definite matrix이다. 

4. 만약 $(A^T A)^{-1}$이 존재한다면, $A$의 열벡터는 선형독립이다. (정방행렬이든 아니든)

5. $A^T A$의 고윳값 (eigenvalue)는 0 이상이다.

6. 만약 $A$가 직교 행렬이면, $A^T$는 $A$의 역행렬이므로, $A^T A = I$이다.

 

여기서 positive-definite matrix, eigenvalue가 등장하였는데 이는 우리의 두 번쨰 목표 방정식인

$Ax = \lambda x$와 관련있다.

 

이에 대해서는 다음 포스팅으로 미루어야 하겠다. (너무 내용이 길어질 것 같아서..)

728x90

댓글