Processing math: 100%

선형대수

[선형대수] 4.3 Cholesky Decomposition ~ 4.4 Eigendecomposition and Diagonalization

syveany 2025. 3. 13. 13:17

공부하는 단계에서 정리한 내용입니다.

잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.

https://mml-book.github.io/book/mml-book.pdf

 

4.3 Cholesky Decomposition

행렬도 분해할 수 있다.

여러 가지 방법이 있는데 우리는 Cholesky decomposition/ Cholesky factorization에 대해서 알아볼 것이다.

(숫자에서의 제곱근처럼 행렬을 분해하는 방법이라서 symmetric, positive definite 한 행렬에만 적용할 수 있음)

 

 

Theorem 4.18 (Cholesky Decomposition)

Symmetric하고 positive definite한 행렬 AA=LL으로 분해할 수 있다.

여기서 LA Cholesky factor라고 부르고, diagonal element들을 포함한 unique한 lower trianglular matrix이다.

 

 

 

Ex 4.10 (Cholesky Factorization)

아래와 같은 방법으로 a를 가지고 l을 구할 수 있다.

 

이러한 Cholesky decomposition은 아래와 같은 상황들에서 유용하게 쓰인다.

- 머신러닝에서 수치계산을 할 때

   e.g. covariance matrix, multivariate Gaussian variable

- 깊은 확률 모델(e.g. VAE)의 기울기를 계산할 때

    확률변수를 linear transformation 시킴

- Determinant를 계산할 때

    det(A)=det(L)det(LT)=det(L)2이고, L이 삼각행렬이기 때문에 det(A)는 대각 원소들의 곱의 제곱이 된다.

 

 

 

4.4 Eigendecomposition and Diagonalization

 

Diagonal matrix는 대각 원소들을 제외한 나머지 원소들이 0인 행렬이다.

이때 determinant는 대각 원소들의 곱이 되고, power는 대각 원소를 제곱이 된다. 역행렬은 각각의 대각 원소에 역수만 취하면 된다.

 

그래서 이번 section에서는 행렬을 diagonal 형태로 바꾸는 방법에 대해서 알아볼 것이다. 

행렬 A가 diagonal matrix D유사한 경우(D=P1AP) 중에서도 특별한 경우(DA의 eigenvalue를 diagonal element로 가지는 행렬)를 살펴볼 것이다.

 

 

Def 4.19 (Diagonalizable)

Diagonal matirx D에 대해서, 만약 D=P1APP가 존재하면 Adiagonalizable 하다고 한다.

 

(이 부분 잘 와닿지가 않는다.. 이걸 왜 하는거지)

A를 diagonalizing 하는 것은 선형 변환을 다른 basis로 표현하는 것과 같다. 그리고 이러한 basis는 Aeigenvector들이다.

왜 새로운 basis들이 A의 eigenvector들이 되는지 과정을 전개하면서 알아볼 것이다.

 n×n 행렬 A가 있고, 스칼라 λ1,...,λn와 벡터 p1,...,pn이 있다고 하자.

 

P=[p1,...,pn]이고 D=[λ10000λ20000λ30000λn] 일 때,

AP=PD 이면 λ들이 AeigenvaluePAeigenvector 이다.

증명은 아래와 같다.

 

 

 

Theorem 4.20 (Eigendecomposition)

n×n 행렬 A의 eigenvector들이 서로 linearly independent해서 basis를 이룰 때,  A는 diagonalizable 하다.

행렬 D는 diagonal matrix이고, 그 대각 원소들은 A의 eigenvalue 들이다.

 

 

 

Theorem 4.21

Symmetric한 행렬은 항상 diagonalized 될 수 있다.

 

 

 

Remark.

Defective한 행렬의 decomposition을 할 때 Jordan normal form을 사용할 수 있지만, 이 책에서는 다루지 않는다.

 

 

 

Geometric Intuition for the Eigendecomposition

(직관적으로 이해하라고 했지만 직관적으로 이해가 안 됨)

일단 이해한 내용만 적어보겠다. 다음과 같은 순서대로 진행된다.

P1이 basis를 standard basis에서 eigenbasis로 바꾼다.

그리고 diagonal Dp1,p2를 eigenbasis 축을 따라서 λi만큼 스케일링 한다.

이렇게 스케일링 된 벡터들을 P가 다시 standard/canonical coordinate로 변환한다.

수식으로 표현하면 아래와 같아서 결론적으로 A=PDP1이다.

 

과정 자체는 이해했지만 이걸 왜 하는지 잘 모르겠다. 일단 나중을 위해 교재 사진은 첨부한다.

 

 

 

Ex 4.11 (Eigendecomposition)

A=12[5225]eigendecomposition을 구해보자.

아래와 같이 3단계를 거치면 된다.

 

이러한 성질을 활용해서 아래의 계산들을 쉽게 할 수 있다.

  - Ak=(PDP1)k=PDP1×PDP1××PDP1=PDkP1 이다.

  - A=PDP1이 존재할 때, 

      det(A)=det(PDP1)=det(P)det(D)det(P1)

                                                    =det(D)  (det(P1)=1det(P))

                                                    =idii

 

 

 

지금까지 n×n 행렬에만 eigenvalue decomposition을 했다.

이제 m×n 행렬에 decomposition을 하는 singular value decomposition에 대해서 배워볼 것이다.