주재걸 교수님의 <인공지능을 위한 선형대수 - 대각화> 수업의 내용과 다른 교재들을 참고하여 정리한 글입니다.
Diagonalization (대각화)
코딩더매트릭스 책에서 설명하는 대각행렬의 정의는 다음과 같다.
정의역 D에 대해, D X D 행렬 M은 r ≠ c 인 모든 쌍 r,c ∈ D에 대해 M[r,c] = 0 이면 대각행렬이다.
대각화는 주어진 행렬을 대각행렬로 만드는 것이다. 𝐴 행렬의 양쪽에 𝑉 역행렬과 𝑉 를 곱하여, 𝐴 행렬을 𝐷 라는 새로운 행렬을 만드는 과정을 설명하고자 한다.
대각화가 가능한 조건
대각행렬(diagonal matrix)* 을 이루는 𝐴 행렬은 정사각행렬(square matrix)이여야 한다. 𝑉 또한 정사각행렬이여야 하며, 역행렬이 존재(invertible matrix) 해야한다.
(* 대각행렬은 대각선을 제외한 스칼라 값이 모두 '0'이 되어야 한다.)
위 조건을 만족할 수 있는 𝑉를 찾을 수 있으면 𝐴의 대각화가 가능(diagonalizable)하며, 𝐷 가 대각행렬이 됐을 때 이를 '대각화(diagonalization)'이라고 한다.
Finding 𝑉 and 𝐷
𝐷 = 𝑉^(−1)𝐴𝑉 ⟹ 𝑉𝐷 = 𝐴𝑉
⟹ : 왼쪽의 식이 존재한다면 오른쪽 식 ( 𝑉𝐷 = 𝐴𝑉 )이 존재할 수 있다.
그러나, 오른쪽에서 왼쪽으로 변환하기 위해서는 𝑉 행렬이 역행렬이 존재한다는 조건이 필요하다.
위 식이 있이 존재하는 경우, 식에 대한 의미를 살펴보자. 𝑉 는 v 컬럼이 n개 있는 행렬이며, 𝐷 는 대각 행렬이다.
- 𝐴𝑉는 𝐴 행렬을 재료벡터로 활용하여 𝐯1, 𝐯2, ... 𝐯n 컬럼을 linear combination coefficent 를 하면 [𝐴𝐯1, 𝐴𝐯2, .. 𝐴𝐯n] 식이 된다.
- 𝑉𝐷는 주어진 컬럼벡터 [𝐯1, 𝐯2, ... , 𝐯n]와 대각행렬은 곱한 값이다. 먼저, 컬럼벡터 𝐯1과 linear combinatino coefficent 하면 되지만, 대각화행렬이기 때문에 𝜆1을 제외한 값은 모두 '0'이다. 따라서, 총 n개의 벡터가 있지만 첫번째 벡터의 𝜆1 값만 사용하면 된다. 결과적으로 [𝜆1𝐯2, 𝜆1𝐯2, ... , 𝜆n𝐯n,] 식이 된다.
- 𝑉𝐷 = 𝐴𝑉 두 행렬이 같다는 것은 요소(elements)와 각각의 컬럼도 같다는 뜻이다. 따라서, 아래와 같은 총 n개의 등식이 만들어진다.
𝐯1, 𝐯2, ... , 𝐯n은 고유벡터(eigenvector)가 되며, 𝜆1, 𝜆2, ..., 𝜆n은 고유값(eigenvalue)이 된다. 따라서 대각화(digonalization)은 고유벡터, 고유값과 연결이 된다.
결과적으로 우리가 구하고자 하는 값은 𝐷 (대각행렬)이다. 𝐷 를 구할 수 있는지 살펴보자.
𝑉𝐷 = 𝐴𝑉 ⟹ 𝐷 = 𝑉^(-1)𝐴𝑉
𝑉는 역행렬이 존재해야 한다. 그러나 정사각행렬이 아닌 경우에는 역행렬이 존재할 수 없다. 𝑉 행렬은 각각의 컬럼들이 고유벡터가 되어야 하며, 고유벡터를 정사각 행렬로 만들어야 한다. 정사각 행렬이 역행렬이 존재하려면 각각의 컬럼들이 선형독립이어야 한다.
즉 3차원의 벡터를 뽑았지만 3 x 3 행렬이 되어야 하므로 세 번째 벡터를 찾아야 역행렬이 존재한다.
Diagonalizable Matrix (대각화가 가능한 행렬)
3 x 3 행렬인 경우, 'Diagonalizable 하냐'라는 질문은 '3개의 선형독립하는 고유벡터를 찾을 수 있느냐'라는 질문과 동일하게 된다.
즉, 대각화를 하기 위해 가장 중요한 조건은 n x n 행렬의 𝐴가 n개의 독립적인 고유값과 고유벡터를 가지고 있어야한다.
대각화가 가능한(diagonalizable) 행렬 조건
𝑉𝐷 = 𝐴𝑉
For 𝑉 to be invertible,
𝑉 should be a square matrix in R 𝑛×𝑛, and
𝑉 should have 𝑛 linearly independent columns.Recall columns of 𝑉 are eigenvectors.
Hence, 𝐴 should have 𝑛 linearly independent eigenvectors.
It is not always the case, but if it is, 𝐴 is diagonalizable.
-> 어떤 행렬 𝐴의 고유값 행렬 𝑉 는 역행렬이 존재하며 (=n x n 정사각 행렬이며, n개의 독립적인 컬럼이 존재함), 𝐴는 반드시 n개의 선형 독립의 고유값이 존재한 경우, 𝐴는 대각화가 가능하다.
det (𝐴-𝜆I) = 0 에서 A의 차원이 3 x 3 인 경우, 3개의 고유벡터를 찾을 수 있으면 diagonalizable 한 상태이다. 그러나, 항상 선형독립의 고유벡터를 찾을 수 있진 않다. 어떤 행렬은 선형독립하는 고유벡터가 차원의 수보다 모자랄 수 있다. 이 경우에는 대각화할 수 없게 된다.
'20. 인공지능과 딥러닝' 카테고리의 다른 글
[인공지능을 위한 선형대수] 선형대수 개념 (0) | 2019.11.17 |
---|---|
[인공지능을 위한 선형대수] 고유값 분해와 선형변환 (0) | 2019.10.26 |
[인공지능을 위한 선형대수] 특성 방정식 (0) | 2019.10.19 |
[인공지능을 위한 선형대수] 영공간과 직교여공간 (0) | 2019.10.06 |
[인공지능을 위한 선형대수] Least Squares와 그 기하학적 의미 (0) | 2019.09.25 |
댓글