Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js
본문 바로가기

선형대수

Positive definite matrices and minima

1. 양정치 행렬 또는 양의 정부호 행렬(Positive definite matrices)

■ 양정치행렬(양의 정부호 행렬)은 대칭행렬에서만 적용된다. 

2×2 대칭행렬 A=[abbc]라고 할 때, 양정치행렬인지 테스트하는 방법은 다음과 같다.

- (1) 첫 번째 테스트는 고윳값 테스트이다. 2×2 대칭행렬에서 나올 수 있는 고윳값은 2개이다. 이 고윳값이 모두 양수여야 한다. ① λ1>0,λ2>0

- (2) 두 번째 테스트는 행렬식 테스트이다. 주부분행렬의 행렬식 값이 모두 0보다 커야 한다.

- 2×2이므로 주부분행렬은 1×1, 2×2가 있다.

- 여기서 1×1a 원소에 대한 부분이므로 1×1의 행렬식 값은 a이다. 

- 그리고 2×2의 행렬식 값은 acb2이다.

- 주부분행렬의 행렬식 값이 모두 0보다 커야 하므로 ② a>0acb2>0을 만족해야 한다.

- (3) 세 번째 테스트는 피벗(pivot)으로, 피벗이 모두 0보다 커야 한다.

- 이 대칭행렬 A의 첫 번째 피벗은 a이다. 그리고 2행에 있는 두 번째 피벗은, 먼저 a로 나누고 c와 맞추기 위해 c를 곱한 다음, 2행과 1행을 빼기 때문에 b만큼의 값이 빠지게 된다. 

- 두 번째 피벗에 대한 계산을 수식으로 나타내면 acba이다.

- 피벗이 모두 0보다 커야 하므로 ③ a>0 acba>0을 만족해야 한다.

- (4) 네 번째는 ④ xTAx>0이다. 

■ 예를 들어, 2×2 대칭행렬의 1행 원소가 2와 6이고 2행 1열의 원소가 2일 때, 이 대칭행렬이 양정치행렬이 되기 위해서 2행 2열의 원소는 18보다 큰 값이 와야 한다.

■ 만약 A=[26618]이라면, 주부분행렬의 행렬식으로 테스트했을 때, 1×1의 행렬식 값은 2로 0보다 크지만, 2×2행렬의 행렬식 값은 0이므로 조건을 만족하지 않는다. 그러므로 2행 2열의 원소로는 최소 19가 와야 한다.

 A=[26618]같은 행렬은  2차 형식이 음수가 되지 않는 행렬로, 이러한 행렬을 양의 준정부호 행렬(positive semi-definite matrix)라고 부른다.

 A=[26618]의 행들의 관계는 종속 관계이므로 행렬 A는 특이행렬(singular matrix)이다. 특이행렬이므로 고윳값 중 하나는 0이며, A의 대각합이 A의 두 고윳값의 합이므로 다른 하나의 고윳값은 20이 된다.

■ 이렇게 특이행렬이자 양의 준정부호 행렬인 A의 고윳값은 λ=0,20으로 0보다 크거나 같은 고윳값을 가지고 있다. 

- 0보다 크거나 '같다'에서 'semi-definite'라는 단어가 붙는 것이다.

■ 행렬 A의 피벗을 구해보면, 첫 번째 피벗은 2이며 두 번째 피벗은 존재하지 않는다. 2×2에서 두 행이 종속 관계이므로 피벗은 하나만 존재한다. 즉, rank=1인 행렬이다. 그러므로,  피벗이 모두 0보다 크다 a>0 acba>0을 만족하지 않는다.

■ 이번에는 xTAx>0을 만족하는지 확인해 본다. x=[x1x2]라고 하자.

■ 그러면 으로, xTAx=[x1x2]=[26618][x1x2]=2x21+12x1x2+18x22으로, 계산 결과는 x1x2에 대한 어떤 함수를 얻게 된다. 

 대칭행렬 A=[abbc]라고 할 때, 2x21+12x1x2+18x22에서 x21항의 계수는 대칭행렬 A의 원소 a, x1x2항의 계수는 행렬 A의 원소 b+b 또는 2×b, x22항의 계수는 행렬 A의 원소 c로 볼 수 있다.

■ 즉, 2×2 대칭행렬 A=[abbc]라고 할 때, xTAxax2+2bxy+cy2과 같은 형태가 된다.

 ax2+2bxy+cy2과 같은 형태를 2차 형식(2차 식) quadratic form이라고 부른다. 순수한 2차 식이므로 선형(linear) 부분도 없고, 상수 부분도 없다. 그리고 3차 또는 4차도 없으며 지수도 없다.

■ 이제, 양정치행렬인지  xTAx>0을 확인하는 것은 이차형식  ax2+2bxy+cy2>0을 확인하는 것으로 ax2+2bxy+cy2>0에서 모든 xy에 대해서 양수가 된다면, 행렬 A를 양정치 행렬이라고 할 수 있다.

- 행렬 A=[26618]일 때는 위에서 고윳값과 피벗 테스트를 통해 양정치행렬이 아님을 알았다. 즉, 이 행렬은 이차형식 xTAx=ax2+2bxy+cy2>0을 만족하지 않는다.

 2행 2열의 원소 18을 7로 바꿨을 때 A=[2667]이라고 하면, 이 행렬은 완전히 양정치가 아니다. 행렬식 값을 계산하면 -22이고 피벗도 2와 -11이기 때문이다. 

■ 그러므로 행렬 A=[2667]의 이차 형식인 2x21+12x1x2+7x22가 음이 된다는 것을 알 수 있다.

 이차 형식 2x21+12x1x2+7x22을 음수로 만들 수 있는 x1x2x=[x1x2]=[11]이 있다. x1=1,x2=1이면, 이차 형식은 212+7=3이 되어서 음수가 된다.

■ 만약, 이차 형식을 어떤 함수로 생각해서 ax2+2bxy+cy2을 그래프로 그린다면, 

Graphs of f(x,y)=xAx=ax2+2bxy+cy2라고 하자.

■ 우선 이 함수는 원점을 지나가는 것을 알 수 있다. (x,y)=(0,0)일 때, f(0,0)=0이 되기 때문이다. 

■ 만약, x=1이고 y=0이라면, 원점에서 x 방향으로 2x2만큼 올라간다.

■ 이번에는 x=0이고 y=1이라면,  원점에서 y 방향으로 7y2만큼 위로 올라간다. 그리고 xy가 같다면 모든 것이 양수 45도 방향으로 올라간다. 

■ 단, 2x21+12x1x2+7x22 ( x_1 = 1, \; x_2 = -1 \)일 때, 즉 x=y일 때 음수가 된다. 즉, x=y일 때, 방향은 아래로 내려간다. 그러므로 이 예시는 양정치가 아니다. 

■ 이렇게 원점을 지나가면서 어떤 방향으로는 올라가지만, 다른 방향으로 내려가는 것은 2x21+12x1x2+7x22가 위의 그림처럼 안장점(saddle point)을 가졌기 때문이다. 

■ 원점에서 올라가는 그래프만 생각한다면, 원점이 최솟값이 되는 지점이지만, 원점에서 내려가는 그래프 입장에서는 원점은 최댓값이 되는 지점이다. 안장점은 이렇게 어떤 방향에서는 최대이고 다른 방향에서는 최소인 점이다. 그리고 여기서 말하는 방향은 고유벡터 방향과 일치한다. ( 고유벡터 방향으로 안장점이 최댓값이 되거나 최솟값이 된다. )

cf) 함수의 그래프 전체가 아닌 특정 부분에서 대소를 비교했을 때, 가장 함수값이 크면 극대(local maximum), 가장 작으면 극소 (local minimum). 함수 그래프 전체에서 대소를 비교하는 개념은 최댓값(global maximum)/최솟값(global minimum)

■ 이번에는 행렬 A의 2행 2열 원소를 20이라고 하자. A=[26620]

 이 대칭 행렬 A는 고윳값도 모두 양수이고 피벗도 모두 양수이며, 행렬식 값도 양수이다.

cf) 행렬식 값이 양수이므로 두 고윳값의 곱이 양수임을 알 수 있다. λ1λ2=det(A2×2)

■ 이 대칭행렬 A의 이차 형식은 2x2+12xy+20y2이며, 12xy는 양수가 될 수도 있고 음수가 될 수도 있다. x2이나 y2은 양수이므로 2x220y212xy의 값을 넘는다면 이차 형식은 완전히 양수가 된다.

 f(x,y)=2x2+12xy+20y2라고 했을 때, 이 함수는 원점을 지나간다. 그리고 원점에서 멀어지면 위로 올라가서 bowl같은 형태가 된다. 그리고 원점에서 최솟값을 갖음을 알 수 있다.

■ 이차 식이므로 최솟값 또는 최댓값을 어디서 갖는지는 2차 미분(2계 도함수)을 통해 알 수 있다.

cf) 1차 함수로 알 수 있는 정보는 극점(극대점, 극소점)에 대한 정보이다. 

- 위의 예시 중, 안장점을 갖는 이차 형식 f(x,y)=2x2+12xy+7y2에서 편미분을 통해 fxfy를 구해보면, 모두 xy를 포함하고 있어 원점에서 0이 된다. f=0은 극점(극대점, 극소점) 또는 안장점인지 알려주는 임계점을 찾을 수 있다. 여기서 임계점은 (x,y)=(0,0)이다. 하지만 이 예에서 원점은 안장점이었다.

- 그러므로 2차 식에서 그래프의 모양은 1차 미분이 아닌 2차 미분을 통해 알 수 있다.

■ 최솟값과 최댓값은 극점(극소점 또는 극대점)에서 발생할 수 있으므로 1계 도함수 값은 0이어야 한다. 그리고 최솟값인지 최댓값인지는 2계 도함수를 통해 알 수 있다. 

- f(x,y)=2x2+12xy+20y2은 1차 미분을 통해 임계점이 (x,y)=(0,0)임을 알 수 있다. 

- 그리고 fxx=4,fyy=14,fxy=12로 양수이므로 이 이차 식은 원점을 지나며 위로 올라가는 함수라는 것을 알 수 있다. 그러므로 주어진 함수는 원점에서 극소를 갖고 있으며, 안장점이 아니며 원점에서 올라가는 형태를 띠고 있음을 알 수 있다.

참고) 극대, 극소, 최대, 최소

- 1계 도함수 f=0이 되는 지점이 임계점이며, 이 임계점 안에는 극대점 또는 극소점이 존재할 수 있다.

- 극대점인지 극소점인지는 2계 도함수를 확인해야 한다. 

- f이면 x 에서 f(x) 의 접선의 기울기가 증가하고 f''(x) < 0 이면, x 에서 접선의 기울기가 감소한다. 

- 아래로 볼록한 형태는 접선의 기울기가 점점 증가하는 형태이며, 위로 볼록한 형태는 접선의 기울기가 점점 감소하는 형태이다.

- 다음과 같이 f'' < 0 이면 그 점이 극대점이며, f'' < 0 이면 그 점이 극소점이다.

- 변곡점은 아래로 볼록 \rightarrow 위로 볼록, 위로 볼록 \rightarrow   아래로 볼록으로 그래프가 바뀌는 지점을 변곡점이라고 한다. 즉, 변곡점이 되려면 반드시 2계 도함수의 부호가 바뀌어야 한다. 이때의 2계 도함수 값은 0이다. 

- 이렇게 2계도 함수를 통해 2차 식 그래프의 형태를 알 수 있다.

- 정리하면, 연속함수 f에 대해 1계도함수 f' = 0이라는 것은 극대(local maximum) 또는 극소(local minimum)이 되기 위한 조건인 것을 알 수 있다.

- 극대인지 극소인지에 대한 판정은 2계도함수 f''를 계산해야 한다.

- f'' < 0이 되는 지점이 극대점, f''>0이 되는 지점이며 f'' = 0이 되는 지점이 변곡점이다.

- 그리고 최대(global maximum), 최소(global minimum)는 폐구간에서 정의된 연속함수 f에서 정의된다. 즉, 폐구간 내에서 최대인지 최소인지를 판단할 수 있다는 것이다. 

- 위의 연속함수에 대해 폐구간이 그래프의 양 끝점이라고 정의하면, 최대 및 최소는 극대점, 극소점 그리고 양 끝점 중에서 존재한다는 것을 알 수 있다. 

■ 즉, 2차 미분이 양수가 된다는 것은 이차 형식을 갖는 2 \times 2 대칭행렬이 양정치 행렬이다.

■ 그리고 함수의 2계 도함수(2차 미분)가 연속일 때, 함수 대한 2계 도함수들을 행렬로 구성하면, 항상 대칭행렬이 나온다. 이때, 이 대칭행렬이 양정치행렬이라면 최솟값이 존재한다고 할 수 있다.

- 2계 도함수들을 이용하여 만든 행렬을 헤시안 행렬 또는 헤세 행렬(Hessian Matrix)이라고 한다. 헤세 행렬은 함수의 Bowl 형태가 얼마나 변형되었는지를 나타낸다.

- f(x_1, x_2, \cdots, x_n) 에 대해 헤세 행렬은 다음과 같다.

[출처] https://ko.wikipedia.org/wiki/%ED%97%A4%EC%84%B8_%ED%96%89%EB%A0%AC

- f 의 2계 도함수가 연속이라면 헤세 행렬은 대칭행렬이다.

■ 이 예시에서도  f(x,y) = 2x^2 + 12 xy + 20y^2 의 2계 도함수들을 이용해서 행렬을 만들면 헤세 행렬 H(f) = \begin{bmatrix} 4 & 12 \\ 12 & 40 \end{bmatrix} 가 된다. H(f) 는 양정치 행렬이므로  f(x,y) = 2x^2 + 12 xy + 20y^2 는 최솟값이 존재한다고 할 수 있다.

■ 이차 형식  f(x,y) = 2x^2 + 12 xy + 20y^2 이 항상 양수이다라는 것을 보이기 위한 좋은 방법은 제곱은 항상 양수이므로, f(x, y) 를 제곱의 형태로 표현하는 것이다. 즉, xy 를 제곱의 형태로 표현하는 것이다. 

  f(x,y) = 2x^2 + 12 xy + 20y^2 = 2(x+3y)^2 + 2y^2 으로 나타내면, 두 개의 제곱을 더한 것이므로 음수가 될 수 없다. 

- f(x,y) = 2x^2 + 12 xy + 18y^2 = 2(x+3y)^2 이므로 양수가 되거나 (x, y) = (0, 0) 이면 0이 될 수 있다.

- f(x,y) = 2x^2 + 12 xy + 7y^2 = 2(x+3y)^2 -11y^2 이므로 양수가 되거나 (x, y) = (1, -1) 이면 음수가 된다.

  f(x,y) = 2x^2 + 12 xy + 20y^2 같은 이차 형식은 대칭행렬 A 를 가우스 소거하는 것과 관련이 있다. 가우스 소거의 피벗과 승수가 제곱식의 계수이다.

  A = \begin{bmatrix} 2 & 6 \\ 6 & 20 \end{bmatrix} 에서 첫 번째 피벗은 2이고, 가우스 소거를 하기 위해 승수 3을 1행에 곱한 뒤, 3 X 1행을 2행에서 빼준다. 소거 후 행렬을 U 라고 했을 때, U = \begin{bmatrix} 2 & 6 \\ 0 & 2 \end{bmatrix} 가 되므로 두 번째 피벗은 2이다. 그리고 소거 행렬 L = \begin{bmatrix} 1 & 0 \\ 3 & 1 \end{bmatrix} 이며, 여기서 승수 3을 볼 수 있다.

  f(x,y) = 2x^2 + 12 xy + 20y^2 = 2(x+3y)^2 + 2y^2 = \text{첫 번째 피벗 }(x + \text{승수} \cdot y)^2 + \text{두 번째 피벗 }y^2 이다. 그러므로 대칭행렬에 가우스 소거를 적용하여 얻은 정보로 이차 형식을 제곱식으로 표현할 수 있다.

■ 그리고  2(x+3y)^2 + 2y^2 처럼 제곱식을 완성하면 첫 번째 피벗과 두 번째 피벗이 제곱식 바깥에 나오는 숫자들임을 알 수 있다. 그리고 양수의 피벗이 이차 형식을 두 개의 제곱을 더하는 형태( 2(x+3y)^2  2y^2 의 합)로 만드는 것을 알 수 있다.

■ 양수의 피벗은 제곱식 밖으로 나가서 제곱의 합 형태를 만들어서 이차 형식이 양수라는 것을 알 수 있고, 이를 통해 그래프는 위로 올라가고 원점에서 최솟값을 가진다는 것을 알 수 있다. 이렇게 모두 서로 연결되어 있다.

■ 그리고 2계 도함수들을 모아 놓은 행렬인 헤세 행렬을 만들었을 때, 양정치행렬에 대한 이차 형식  f(x,y) = 2x^2 + 12 xy + 20y^2 의 헤세 행렬은  H(f) = \begin{bmatrix} 4 & 12 \\ 12 & 40 \end{bmatrix} 이 되었다. 이렇게 대칭행렬이 되는 이유는 어떤 순서로 편미분을 하든 f_{xy} f_{yx} 의 값은 같기 때문이다.

■ 그리고 f_{xx} 값과 f_{yy} 값이 양수이고 f_{xy} f_{yx} 보다 충분히 커야 양정치 행렬임을 알 수 있다. 또한, 최댓값과 최솟값의 조건은 극값(극댓값 또는 극솟값)이다. 최댓값 또는 최솟값은 극값에서 발생할 수 있기 때문이다. 

참고) 판별식  D = D(a, b) = f_{xx} (a, b) f_{yy}(a, b) - [ f_{xy} (a, b) ]^2 에서 

- D > 0 이면 극값(극댓값 또는 극솟값)이 존재하고

- D < 0 이면 안장점이다. 

- D > 0 이 되기 위해서. 즉, 최댓값과 최솟값의 조건을 맞추기 위해서는  f_{xx} 값과 f_{yy} 값이 양수이고 f_{xy} f_{yx} 보다 충분히 큰 값을 가져야 한다. 그리고 D > 0 이라면 양정치행렬임을 알 수 있다.

  f(x,y) = 2x^2 + 12 xy + 20y^2 = 2(x+3y)^2 + 2y^2 는 다음과 같이 위로 향하는 타원포물면이다. 

z = 1 인 지점에서 2x^2 + 12 xy + 20y^2 = 2(x+3y)^2 + 2y^2 를 나누면, 2(x+3y)^2 + 2y^2 = 1 으로 표현할 수 있는데, 이것은 다음과 같이 z = 1 인 지점에서 함수 \( 2(x+3y)^2 + 2y^2 에 대한 절단면이다. 

이 절단면은 약간 찌그러진 원의 모양을 띈다. 즉, 절단면에 대한 방정식 2(x+3y)^2 + 2y^2 = 1 f(x, y) = 1 의 형태이기 때문에 타원(ellipse)을 의미한다.

 

2 \times 2 대칭행렬에 가우스 소거를 진행하면, 이차 형식의 제곱식에 대한 정보를 얻을 수 있음을 확인했다. 즉, 3 \times 3 이나 m \times m 대칭행렬에 대해서도 양정치행렬을 판별할 수 있다. 

■ 예를 들어 3 \times 3 대칭행렬 A = \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix} 에서

■ 주부분행렬 1 \times 1, \; 2 \times 2, \; 3 \times 3 의 행렬식 값은 2, 3, 4 로 모두 양수이다.

■ 그리고 피벗은 2, \dfrac{3}{2}, \dfrac{4}{3} 으로 모두 양수이다. 

- 피벗의 곱은 행렬식 값이기 때문에 

- 첫 번째 피벗 2 와 두 번째 피벗 \dfrac{3}{2} 을 곱해서 2 \times 2 부분 행렬의 행렬식 값 3이 나오고

- 첫 번째 피벗 2 와 두 번째 피벗  \dfrac{3}{2} 그리고 세 번째 피벗 \dfrac{4}{3} 을 곱해서 3 \times 3 행렬의 행렬식 값 4가 나온다. 

■ 이 예시의 고유방정식은 A 3 \times 3 이므로 최고 차항은 3차이다. 즉, 고윳값은 3개가 나온다.

■ '행렬의 대각합 = 고윳값들의 합'을 이용하면 3개의 고윳값의 합은 6이다. 그리고 '행렬식 값 = 고윳값들의 곱'을 이용하면 3개의 고윳값의 곱은 4가 되야 한다. 그러므로 고윳값 \lambda = 2-\sqrt{2}, \; 2, \; 2 + \sqrt{2} 를 생각할 수 있다.

\mathbf{x}^T A \mathbf{x} 에서 x^2_1, \; x^2_2, \; x^2_3 의 계수 a, b, c 는 대칭행렬 A 의 대각선 원소이다. 

■ 그리고 x_1 x_2 항의 계수는 1행 2열과 2행 1열의 위치에 있는 값이다. 1행 2열과 2행 1열의 원소를 b 라고 했을 때, x_1 x_2 항의 계수는 2b 가 된다. 그러므로 x_1 x_2 항의 계수는 -2 이다.

x_1 x_3 항의 계수와 x_2 x_3 항의 계수도 x_1 x_2 항의 계수와 동일한 원리이다. 1행 3열의 원소는 3행 1열의 원소와 대칭이다. 1행 3열의 원소를 c 라고 했을 때, c = 0 이므로 2c = 0 이다. 그러므로 x_1 x_3 항의 계수는 0이다.

 2행 3열의 원소는 3행 2열의 원소와 대칭이다. 2행 3열의 원소를 d 라고 했을 때, x_2 x_3 항의 계수는 2d 이다. 그러므로 x_2 x_3 항의 계수는 -2 이다.

■ 그러므로, 대칭행렬 A 의 이차 형식은  \mathbf{x}^T A \mathbf{x} = 2x^2_1 + 2x^2+2 + 2x^2_3 - 2x_1 x_2 - 2x_2 x_3 이 된다.

■ 그리고 위의 고윳값, 주부분 행렬의 행렬식, 피벗 테스트를 모두 통과했으므로, A 는 양정치행렬이다. 

 그러므로,  \mathbf{x}^T A \mathbf{x} = 2x^2_1 + 2x^2+2 + 2x^2_3 - 2x_1 x_2 - 2x_2 x_3 > 0 이다. 

■ 이제, 변수가 3개인 이차 형식이 항상 양수이므로 피벗 3개는 모두 양수이다. 그러므로 전개한 이차 형식을 3개의 제곱으로 구성된 합으로 표현할 수 있다. 

f = 2x^2_1 + 2x^2+2 + 2x^2_3 - 2x_1 x_2 - 2x_2 x_3 를 높이 1에서 단면으로 나눈다고 가정하자. 그러면 식은  f = 2x^2_1 + 2x^2+2 + 2x^2_3 - 2x_1 x_2 - 2x_2 x_3 = 1 이 된다.

2x^2_1 + 2x^2+2 + 2x^2_3 - 2x_1 x_2 - 2x_2 x_3 = 1 은 타원체 또는 타원면(ellipsoid)에 대한 방정식이다. 

- 즉, 타원면은 양의 정부호 이차 형식에 의하여 정의되는 이차 곡면이라고 할 수 있다.

Ellipsoid [출처] https://en.wikipedia.org/wiki/Ellipsoid#:~:text=An%20ellipsoid%20is%20a%20surface%20that%20can,scalings%2C%20or%20more%20generally%2C%20of%20an%20affine

■ 타원(체)면은 다음과 같이 생겼다. 중심(center)이 있고, 3개의 주요 방향(principal directions)이 있다. 3가지 주요 방향은 이차 곡면인 타원면을 형성하는 장축(major axis) , 중축(middle axis), 단축(minor axis)의 방향이다.

 이 3개의 축은 서로 수직이며 고유벡터의 방향과 일치한다. 즉, 이 3개의 축의 길이는 고윳값에 의해 결정된다.

- 3개의 축은 3 \times 3 대칭행렬의 고유벡터들이 서로 직교한다는 성질 때문에 항성 서로 수직이다.

참고) 이것은 데이터의 분산을 최대화하는 방향(주축)을 찾는 주성분 분석(PCA)과 관련이 있다. 각각의 축이 주요 요소들을 표현하는 n 차원의 타원면에 데이터를 맞추는 것으로 생각할 수 있다.

- PCA에서 사용하는 공분산 행렬은 대칭행렬이며, 이 행렬을 이용한 이차 형식은 타원면을 형성할 것이다. 그리고 앞서 언급한 것처럼 타원면의 축 방향과 길이는 선형대수학적으로 대칭행렬의 고유벡터와 고윳값에 의해 결정된다.

- 임의의 벡터 \mathbf{x} n \times n 대칭행렬에 대해 \mathbf{x}^T A \mathbf{x} = 1 로 표현된 이차 형식은 타원면을 나타낸다.

- 행렬 A 가 대칭이면서 양의 정부호이면, 스펙트럼 정리에 따라 A 는 직교 대각화가 가능하다. 대칭행렬을 대각화하는 것은 A = Q \Lambda Q^T 로 표현한다.

- 여기서 Q 는 고유벡터를 열벡터로 갖는 직교행렬이고, \Lambda 는 고윳값을 대각성분으로 하는 대각행렬이다.

- 이때, 이차 형식으로 나타낸 타원면의 방정식은 \mathbf{x}^T A \mathbf{x} = 1 이며, 이 타원면의 축 방향은 정확히 대칭행렬 A 의 고유벡터 방향과 일치한다. 

- 즉, 대칭행렬의 고유벡터들은 타원의 주축을 정의한다. 또한 각 축의 길이는 고윳값에 따라 결정된다. 이러한 관계가 PCA에서도 동일하게 나타난다. 

- PCA에서는 데이터 분포를 가장 잘 설명하는 방향을 찾기 위해 데이터의 공분산을 사용하여 최대 분산 방향을 찾는다. 

- 대칭행렬인 공분산 행렬의 고유벡터의 방향은 타원의 주축의 방향과 동일하며, PCA에서는 주성분(principal component)의 방향이다. 그리고 타원 축의 길이를 결정하는 고유벡터에 대응되는 고윳값은 데이터가 해당 방향으로 데이터가 퍼진 정도(분산)를 나타낸다. 그러므로 PCA의 주성분의 크기가 고윳값에 결정된다고 할 수 있다. 

첫 번째 주성분은 데이터의 분산(=고윳값)을 가장 많이 나타낸다. 즉, 고윳값 중 가장 큰 값을 선택한다는 의미이다.

- 즉, PCA에서 데이터 분포는 다차원 공간에서 타원형으로 분포되어 있다고 가정하며, 그 타원의 축 방향과 길이는 각각 고유벡터와 고윳값에 의해 결정된다. 대칭행렬인 공분산행렬이 \begin{bmatrix} a & b \\ b & c \end{bmatrix} 라고 했을 때, 이때의 이차 형식은 ax^2 + 2bxy + cy^2 이다. 여기서 a c 는 데이터가 x 축, y 축으로 퍼진 정도이며 b xy 축으로 같이 퍼진 정도를 나타낸다.

- 대칭행렬의 고유벡터는 서로 직교한다. 즉, 대칭행렬의 고유벡터는 서로 독립이다. 그러므로, 대칭행렬인 공분산행렬의 고유벡터와 같은 방향을 갖는 주성분도 서로 다른 주성분끼리 독립이다. 서로 관계가 없다.  주성분1을 Z_1 , 주성분2를 Z_2 라고 했을 때, 서로 관계가 없기 때문에 공분산 값 Cov(Z_1, Z_2) = 0 이다.

cf) 공분산 행렬은 각 feature들의 공분산. 즉, 각 feature들이 얼마만큼이나 함께 변하는가를 행렬에 나타내고 있다.

- 공분산은 다음 그림처럼 2개의 확률변수의 선형 관계를 나타내기 때문에 공분산 값을 통해 2개의 변수가 어떻게 함께 변하는지 알 수 있다.

[출처] https://ko.wikipedia.org/wiki/%EA%B3%B5%EB%B6%84%EC%82%B0

  정리하면, 3차원 즉, 3 \times 3 대칭행렬을 \mathbf{x}^T A \mathbf{x} 이차 형식으로 표현했을 때, 이 함수의 값을 1로 설정한 식은 타원면에 대한 방정식이며, 타원면을 형성하는 3개의 축은 3 \times 3 대칭행렬의 고유벡터가 형성하기 때문에 3개의 축의 방향은 고유벡터의 방향이다.

그리고 고윳값은 고유벡터의 길이(크기)를 조절하는 상수값이라는 점에서 3개의 축의 길이를 결정하는 것이 바로 3 \times 3 대칭행렬의 고윳값이라고 할 수 있다. 

 이런 대칭행렬 A 를 고유벡터 행렬인 Q 와 고윳값 대각행렬 \Lambda 그리고 Q 의 전치행렬의 곱으로 나타낼 수 있다. A = Q \Lambda Q^T . Q 에 있는 고유벡터가 축의 방향을 알려주고, 고윳값 대각행렬 \Lambda 에 있는 고윳값이 이들 축의 길이를 알려준다.   A = Q \Lambda Q^T  공식을 주축 정리(principal axis theorem)라고 한다.

■ 그리고  A = Q \Lambda Q^T 은 직교 대각화라고 부르는 대칭행렬의 대각화이다. 이는 타원 또는 타원면을 표현하는 대칭행렬이 직교 대각화 가능하다는 것을 의미한다.


2. 양정치 행렬과 최소 제곱(Least Squares)

대칭행렬 A 가 양정치 행렬이라고 가정하자. 그렇다면 행렬 A 의 역행렬은 양정치 행렬일까?

A 의 역행렬이 양정치인지 확인하기 위해 피벗을 생각할 수 있지만, 역행렬의 피벗에 대해 알고 있는 것이 없다. 다만, 역행렬의 고윳값에 대한 정보는 알고 있다. 바로 역행렬의 고윳값은 '1 / 원래 행렬의 고윳값'이라는 정보이다. 

A 가 양정치 행렬이라면 A 의 고윳값은 모두 양수이므로 A 의 역행렬이 양정치 행렬임을 알 수 있다. 원래 행렬 A 가 갖는 고윳값은 양수 고윳값이므로 역행렬의 고윳값인  '1 / 원래 행렬의 고윳값'도 양수이기 때문이다.

■ 만약, 행렬 A B 가 모두 양정치 행렬이라면, A + B 행렬은 양정치 행렬일까?

A + B 행렬의 피벗이나 고윳값이 무엇인지 모른다. 이런 경우 \mathbf{x}^T A \mathbf{x} > 0 으로 접근해서 \mathbf{x}^T (A + B) \mathbf{x} > 0 양정치 행렬인지 확인하면 된다.

■ 행렬에서 양정치 행렬 \mathbf{x}^T A \mathbf{x} > 0 은 실수에서 양의 실수와 같은 종류이다. 

- 행렬 A B 가 모두 양정치 행렬이라면, \mathbf{x}^T A \mathbf{x} > 0 이고 \mathbf{x}^T B \mathbf{x} > 0 이다. 

- 양의 실수 = \mathbf{x}^T A \mathbf{x} > 0 , 양의 실수 =  \mathbf{x}^T B \mathbf{x} > 0 라고 생각했을 때, 양의 실수 + 양의 실수 = 양의 실수이다.

- \mathbf{x}^T A \mathbf{x} > 0 , \mathbf{x}^T B \mathbf{x} > 0 . 즉, 행렬 A B 가 양정치 행렬이라면, A + B 행렬도 양정치 행렬이다. \mathbf{x}^T (A + B) \mathbf{x} > 0

■ 양정치 행렬이 의미하는 것은 \mathbf{x}^T A \mathbf{x} > 0 이 이차 형식을 이루고 그것이 항상 양수라는 것이다. 양정치 행렬인지 테스트하는 방법으로 고윳값, 피벗, 주부분행렬의 행렬식을 이용하는 방법이 있었다.

 이러한 양정치 행렬은 최소 제곱(least squares) 행렬 A^T A 와 관련이 있다. A^T A 는 대칭행렬이면서 양정치 행렬이 된다.

■ 행렬 A m \times n 크기의 직사각형 행렬이라고 하자. 이 행렬 A 는 직사각형 행렬이므로 대칭행렬이 될 수 없다. 양정치 행렬은 행렬 A 가 대칭행렬이라는 조건이 있으므로 이 m \times n 행렬 A 는 양정치가 될 수 없다.

■ 하지만 m \times n 행렬 A 의 전치와 A 의 곱인 m \times m 행렬 A^T A 는 정사각 행렬(정방 행렬)이며 대칭행렬이 된다.

■ 이 A^T A 행렬은 숫자와 비유하자면, 숫자의 제곱(= 양수)과 비슷하다. 그렇다면 A^T A 는 양정치일까?

A^T A 의 피벗과 고윳값이 무엇인지 모르니 A^T A 는 양정치인지 확인하는 방법은 \mathbf{x}^T A \mathbf{x} 로 확인하면 된다. A^T A 도 하나의 행렬이므로,  \mathbf{x}^T A^TA \mathbf{x} 를 확인하면 된다.

확인할 것은 ' A^T A 가 양정치 행렬 \Leftrightarrow \mathbf{x}^T A^TA \mathbf{x} 가 항상 양수'이다. 

\mathbf{x}^T A^TA \mathbf{x} 는 0이 될 수 있지만, 절대 음수가 될 수 없다. 

\mathbf{x}^T A^TA \mathbf{x} = \left( A \mathbf{x} \right)^T \left( A \mathbf{x} \right) 로 나타낼 수 있다. \left( A \mathbf{x} \right)^T \left( A \mathbf{x} \right) 은 행벡터 (A \mathbf{x})^T 와 열벡터 (A \mathbf{x}) 의 내적이며, 이것은 벡터 A \mathbf{x} 의 길이에 대한 제곱을 구하는 것과 같다. 길이의 제곱은 분명히 0보다 크거나 최소한 0과 같을 수 있다. \mathbf{x}^T A^TA \mathbf{x} = \left( A \mathbf{x} \right)^T \left( A \mathbf{x} \right) = \| A \mathbf{x} \|^2 \geq 0  

■ 길이의 제곱이 0이 되는 경우는 벡터가 0인 경우만 존재한다. 영벡터만 유일하게 길이 제곱이 0이 된다. 

■ 위의 식에서 A^T A 가 양정치 행렬이라면, 0과 같다라는 등호가 없어야 한다. 즉, \| A \mathbf{x} \| 에서 \mathbf{x} 가 영벡터인 경우를 제외하고, A \mathbf{x} 가 절대 0이 되지 않아야 한다. 

 A \mathbf{x} = 0 이 되지 않도록 보장한다는 것은 A 의 영공간(null sapce)이 없음을 보이면 된다. 

- 영공간이 없다고 말하는 의미는 영공간에 영벡터(zero vector)만 있는 경우를 말한다.

A 의 영공간이 없다는 것은 A 는 full column rank. 즉, 열들은 서로 독립이어야 한다.

- 예를 들어, m \times n 행렬인 11 \times 5 행렬 A 가 있다고 했을 때, 이 행렬의 영공간이 없으려면,  5개의 열들은 독립적이야 하며, 이것은 11 \times 5 행렬의 계수(rank)가 n = 5 라는 것을 의미한다.

- 이렇게 A 의 영공간이 없으면(= A 의 열이 선형 독립이면 = A \mathbf{x} = 0 의 해가 자명해뿐이라면) 행렬 A^T A 는 정방행렬이고 대칭행렬이면서 가역이므로, 최소제곱방정식에서 잘 작동한다. 

- 그리고 더 나아가서, A ^T A 는 양정치이다. 

■ 참고로 양정치 행렬은 A^T A 처럼 정방행렬이며 대칭행렬이므로 피벗 위치에 숫자 0이 나타지 않으므로 기본행 연산 과정에서 행 교환(row exchange)을 할 필요가 없다.