https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/video_galleries/video-lectures/
이번 강의에서는 다음과 같은 내용을 다룬다.
우선 Positive Definite Matrix 의 특징은 다음과 같다.
A = [ a b b c ] A=\begin{bmatrix} a & b \\ b & c \\ \end{bmatrix} A = [ a b b c ]
위와 같은 A A A 행렬이 주어질 때, 해당 행렬이 Positive Definite Matrix 인지를 확인하는 방법은 다음과 같다.
λ 1 > 0 , λ 2 > 0 \lambda_1>0,\lambda_2>0 λ 1 > 0 , λ 2 > 0
a > 0 , a c − b 2 > 0 a>0,ac-b^2>0 a > 0 , a c − b 2 > 0
모든 determinations 가 0보다 큰지
a > 0 , a c − b 2 a > 0 a>0,\frac{ac-b^2}{a}>0 a > 0 , a a c − b 2 > 0
x T A x > 0 x^TAx>0 x T A x > 0 (except at x = 0 x=0 x = 0 )
이 조건이 가장 중요하다. 이 조건을 통해서 위 조건들이 나온다.
예시를 통해서 알아보자.
ex.
A = [ 2 6 6 ? ] A=\begin{bmatrix} 2 & 6 \\ 6 & ? \\ \end{bmatrix} A = [ 2 6 6 ? ]
위 행렬이 PDM (Positive Definite Matrix) 이기 위해서는 ? ? ? 가 어떤 값이어야 할까?
아마 위 조건(2, 3)을 따져봤을 때, ? > 18 ?>18 ? > 1 8 이어야 할 것이다.
그렇다면 18일 경우에는 어떨까? 값을 대입해보자.
A = [ 2 6 6 18 ] A=\begin{bmatrix} 2 & 6 \\ 6 & 18 \\ \end{bmatrix} A = [ 2 6 6 1 8 ]
위 행렬은 singular matrix 이다. 따라서 determination(=0)을 통해 λ 1 = 0 \lambda_1=0 λ 1 = 0 일 것이고, trace(=20)를 통해서 λ 2 = 20 \lambda_2=20 λ 2 = 2 0 이라는 것을 알 수가 있다. 그리고 p i v o t = 2 pivot=2 p i v o t = 2 이다.
λ 1 = 0 , λ 2 = 1 \lambda_1=0,\lambda_2=1 λ 1 = 0 , λ 2 = 1
p i v o t = 2 pivot=2 p i v o t = 2
다음으로 x = [ x 1 x 2 ] x=\begin{bmatrix}x_1 \\ x_2\end{bmatrix} x = [ x 1 x 2 ] 라고 해보자.
그리고 4번 조건 x T A x > 0 x^TAx>0 x T A x > 0 를 보자.
x T A x = [ x 1 x 2 ] [ 2 6 6 18 ] [ x 1 x 2 ] = [ x 1 x 2 ] [ 2 x 1 + 6 x 2 6 x 1 + 18 x 2 ] = 2 x 1 2 + 12 x 1 x 2 + 18 x 2 2 x^TAx= \begin{bmatrix}x_1 & x_2\end{bmatrix} \begin{bmatrix} 2 & 6 \\ 6 & 18 \\ \end{bmatrix} \begin{bmatrix}x_1 \\ x_2\end{bmatrix} = \begin{bmatrix}x_1 & x_2\end{bmatrix} \begin{bmatrix} 2x_1 + 6x_2 \\ 6x_1 + 18x_2 \\ \end{bmatrix} = 2x_1^2+12x_1x_2+18x_2^2 x T A x = [ x 1 x 2 ] [ 2 6 6 1 8 ] [ x 1 x 2 ] = [ x 1 x 2 ] [ 2 x 1 + 6 x 2 6 x 1 + 1 8 x 2 ] = 2 x 1 2 + 1 2 x 1 x 2 + 1 8 x 2 2
그리고 아까 A = [ a b b c ] = [ 2 6 6 18 ] A=\begin{bmatrix}a & b \\ b & c\end{bmatrix}=\begin{bmatrix} 2 & 6 \\ 6 & 18 \\ \end{bmatrix} A = [ a b b c ] = [ 2 6 6 1 8 ] 를 봤을 때 다음과 같다는 것을 알 수 있다.
2 x 1 2 + 12 x 1 x 2 + 18 x 2 2 2x_1^2+12x_1x_2+18x_2^2 2 x 1 2 + 1 2 x 1 x 2 + 1 8 x 2 2
= a x 1 2 + 2 b x 1 x 2 + c x 2 2 > 0 ? =ax_1^2+2bx_1x_2+cx_2^2 >0 \ ? = a x 1 2 + 2 b x 1 x 2 + c x 2 2 > 0 ?
(위 수식은 linear form 이 아닌 quadratic form 임을 알 수 있다.)
위 조건을 잘 기억해두고 다음 예시들을 보자.
만약 A A A 가 다음과 같다면 어떨까?
A = [ 2 6 6 7 ] A = \begin{bmatrix} 2 & 6 \\ 6 & 7 \\ \end{bmatrix} A = [ 2 6 6 7 ]
2 x 1 2 + 12 x 1 x 2 + 7 x 2 2 = f ( x 1 , x 2 ) 2x_1^2+12x_1x_2+7x_2^2 = f(x_1,x_2) 2 x 1 2 + 1 2 x 1 x 2 + 7 x 2 2 = f ( x 1 , x 2 )
이 경우 ( x 1 , x 2 ) = ( − 1 , − 1 ) (x_1,x_2)=(-1,-1) ( x 1 , x 2 ) = ( − 1 , − 1 ) 에서 2 x 1 2 + 12 x 1 x 2 + 7 x 2 2 < 0 2x_1^2+12x_1x_2+7x_2^2 <0 2 x 1 2 + 1 2 x 1 x 2 + 7 x 2 2 < 0 임을 알 수가 있으며, 따라서 PDM 가 아님을 알 수 있다.
그리고 이를 그래프로 그려보면 아래와 같은 모양으로 나올 것이다.
(https://davidlibland.github.io/posts/2018-11-10-saddle-points-and-sdg.html )
즉, (0,0) 을 기준으로 positive 부분과 negative 부분이 나뉘게 되며, 이때 (0,0)을 saddle point 라고 부른다.
다음으로 만약 A A A 가 다음과 같다면 어떨까?
A = [ 2 6 6 20 ] A = \begin{bmatrix} 2 & 6 \\ 6 & 20 \\ \end{bmatrix} A = [ 2 6 6 2 0 ]
2 x 1 2 + 12 x 1 x 2 + 20 x 2 2 = f ( x 1 , x 2 ) 2x_1^2+12x_1x_2+20x_2^2 = f(x_1,x_2) 2 x 1 2 + 1 2 x 1 x 2 + 2 0 x 2 2 = f ( x 1 , x 2 )
우선 determination(=4) 와 trace(=22) 를 보고 λ 1 , λ 2 > 0 \lambda_1,\lambda_2>0 λ 1 , λ 2 > 0 임을 알 수가 있다.
그리고 f ( x 1 , x 2 ) f(x_1,x_2) f ( x 1 , x 2 ) 를 그래프로 그리면 다음과 같은 모양일 것이다.
(https://stackoverflow.com/questions/45650695/how-to-plot-the-typical-bowl-shape-when-illustrating-gradient-descent-with-matpl )
이러한 모양의 함수를 bowl-shaped function 이라고 한다.
그리고 minimum (minima) point가 (0,0) 임을 알 수가 있다. 즉, 첫 번째 미분값은 0이다.
그리고 두 번째 미분값은 0보다 클 것이다.
c a c u l u s : M I N ∼ d 2 u d x 2 > 0 caculus:MIN \sim \frac{d^2u}{dx^2}>0 c a c u l u s : M I N ∼ d x 2 d 2 u > 0
c a c u l u s : M I N ∼ Matrix of 2nd Derives Is Positive Definite caculus:MIN \sim \text{Matrix of 2nd Derives Is Positive Definite} c a c u l u s : M I N ∼ Matrix of 2nd Derives Is Positive Definite
그리고 2nd Derives Matrix 행렬로 표현하면,
[ f x 1 x 1 f x 1 x 2 f x 2 x 1 f x 2 x 2 ] \begin{bmatrix} f_{x_1x_1} & f_{x_1x_2} \\ f_{x_2x_1} & f_{x_2x_2} \\ \end{bmatrix} [ f x 1 x 1 f x 2 x 1 f x 1 x 2 f x 2 x 2 ]
이 되고, 이 행렬은 Positive Definite Matrix 일 것이다. (f x 1 x 2 = f x 2 x 1 f_{x_1x_2}=f_{x_2x_1} f x 1 x 2 = f x 2 x 1 )
그리고 이어서 아까의 수식을 보자.
A = [ 2 6 6 20 ] → [ 2 6 0 2 ] = U A = \begin{bmatrix} 2 & 6 \\ 6 & 20 \\ \end{bmatrix}\to \begin{bmatrix} 2 & 6 \\ 0 & 2 \\ \end{bmatrix}=U A = [ 2 6 6 2 0 ] → [ 2 0 6 2 ] = U
L = [ 1 0 3 1 ] L=\begin{bmatrix} 1 & 0 \\ 3 & 1 \\ \end{bmatrix} L = [ 1 3 0 1 ]
2 x 1 2 + 12 x 1 x 2 + 20 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 > 0 2x_1^2+12x_1x_2+20x_2^2=2(x_1+3x_2)^2+2x_2^2>0 2 x 1 2 + 1 2 x 1 x 2 + 2 0 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 > 0
위 수식에서 다음과 같은 정보를 알 수가 있다.
아까 A = [ 2 6 6 18 ] A = \begin{bmatrix} 2 & 6 \\ 6 & 18 \\ \end{bmatrix} A = [ 2 6 6 1 8 ] 에서의 18은 2 ( x 1 + 3 x 2 ) 2 2(x_1+3x_2)^2 2 ( x 1 + 3 x 2 ) 2 에서 x 2 2 x_2^2 x 2 2 의 계수가 된다.
그리고 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 2(x_1+3x_2)^2+2x_2^2 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 에서 각각의 2 2 2 는 A → [ 2 6 0 2 ] A\to\begin{bmatrix} 2 & 6 \\ 0 & 2 \\ \end{bmatrix} A → [ 2 0 6 2 ] 에서 pivot 값이다.
그리고 2 ( x 1 + 3 x 2 ) 2 2(x_1+3x_2)^2 2 ( x 1 + 3 x 2 ) 2 에서 3 3 3 은 L = [ 1 0 3 1 ] L=\begin{bmatrix} 1 & 0 \\ 3 & 1 \\ \end{bmatrix} L = [ 1 3 0 1 ] 의 3으로, 즉 multiplier 를 의미한다.
따라서, 아까 A = A = [ 2 6 6 ? ] A=A=\begin{bmatrix} 2 & 6 \\ 6 & ? \\ \end{bmatrix} A = A = [ 2 6 6 ? ] 에서, ? = 18 ?=18 ? = 1 8 인 2 x 1 2 + 12 x 1 x 2 + 18 x 2 2 2x_1^2+12x_1x_2+18x_2^2 2 x 1 2 + 1 2 x 1 x 2 + 1 8 x 2 2 식을 정리하면 다음과 같이 나오고,
2 x 1 2 + 12 x 1 x 2 + 18 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 2x_1^2+12x_1x_2+18x_2^2=2(x_1+3x_2)^2 2 x 1 2 + 1 2 x 1 x 2 + 1 8 x 2 2 = 2 ( x 1 + 3 x 2 ) 2
이 값이 0보다 크기 위해서는 뒤에 나오는 pivot 값이 0보다 커야 한다는 것을 알 수가 있다..
2 ( x 1 + 3 x 2 ) 2 + p i v o t 2 × x 2 2 > 0 2(x_1+3x_2)^2+pivot_2\times x_2^2 >0 2 ( x 1 + 3 x 2 ) 2 + p i v o t 2 × x 2 2 > 0
그리고 f ( x 1 , x 2 ) = 2 x 1 2 + 12 x 1 x 2 + 20 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 f(x_1,x_2)=2x_1^2+12x_1x_2+20x_2^2=2(x_1+3x_2)^2+2x_2^2 f ( x 1 , x 2 ) = 2 x 1 2 + 1 2 x 1 x 2 + 2 0 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 과 같은 bowl-shaped function 에서 z = 1 z=1 z = 1 꼴로 평면을 그어보면,
f ( x 1 , x 2 ) = 2 x 1 2 + 12 x 1 x 2 + 20 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 = 1 f(x_1,x_2)=2x_1^2+12x_1x_2+20x_2^2=2(x_1+3x_2)^2+2x_2^2=1 f ( x 1 , x 2 ) = 2 x 1 2 + 1 2 x 1 x 2 + 2 0 x 2 2 = 2 ( x 1 + 3 x 2 ) 2 + 2 x 2 2 = 1
해당 그래프 모양은 타원형을 가짐을 알 수가 있다.
다음으로 3x3 행렬을 예시로 해보자.
A = [ 2 − 1 0 − 1 2 − 1 0 − 1 2 ] A=\begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end{bmatrix} A = ⎣ ⎢ ⎡ 2 − 1 0 − 1 2 − 1 0 − 1 2 ⎦ ⎥ ⎤
다음과 같이 정리할 수 있다.
determinations : 2 , 3 , 4 2,3,4 2 , 3 , 4
det [ 2 ] = 2 \det \begin{bmatrix} 2 \end{bmatrix}= 2 det [ 2 ] = 2
det [ 2 − 1 − 1 2 ] = 3 \det \begin{bmatrix} 2 & -1 \\ -1 & 2 \\ \end{bmatrix}= 3 det [ 2 − 1 − 1 2 ] = 3
det [ 2 − 1 0 − 1 2 − 1 0 − 1 2 ] = 4 \det\begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \\ \end{bmatrix} = 4 det ⎣ ⎢ ⎡ 2 − 1 0 − 1 2 − 1 0 − 1 2 ⎦ ⎥ ⎤ = 4
pivots : 2 , 2 3 , 3 4 2,\frac{2}{3},\frac{3}{4} 2 , 3 2 , 4 3
eigenvalues : 2 − 2 , 2 , 2 + 2 2-\sqrt 2, 2, 2 + \sqrt 2 2 − 2 , 2 , 2 + 2
x T A x = 2 x 1 2 + 2 x 2 2 + 2 x 3 2 − 2 x 1 x 2 − 2 x 2 x 3 > 0 ? x^TAx=2x_1^2+2x_2^2+2x_3^2-2x_1x_2-2x_2x_3>0? x T A x = 2 x 1 2 + 2 x 2 2 + 2 x 3 2 − 2 x 1 x 2 − 2 x 2 x 3 > 0 ?