Study/확률 및 통계학

고유벡터와 내적, 코사인, 공분산 행렬의 관계

빠릿베짱이 2012. 4. 9. 16:23
반응형

아직 제대로 정리가 되진 않았지만 언젠가는 정리가 되겠지.

먼저 내적의 의미는 무엇일까...

X dot Y = |X||Y|Cos(theta)

로 표현된다. 이 식을 보고 잘 생각 해야 한다. 내적의 값이 과연 무엇을 의미할까?


Cos(세타)는 두 선이 이루는 각도에 따라 값이 변한다. -1~1사이 값이며  세타가 0 일때 코사인 값은 1이 된다.  

그렇다면 세타가 90이라면? 코사인 값은 0이 되겟지.


즉 코사인 값은 두개의 벡터가 같은 방향일 수록 값이 크며, 반대 방향일수록(음수) 값이 작다는 것을 알 수 있다. 또한 0이 되는 90도의 경우에는 두 방향의 벡터가 독립이다라는 것을 알 수 있다.


그렇다면 이젠 고유벡터에 대해 생각해보자 

사실 내가 접한 고유벡터는 대부분 공분산 행렬에서만 구했다. 그래서 모든 고유벡터는 서로 독립인지 알았다.

하지만 그건 아니였다. 공분산 행렬은 대칭 행렬이기 때문인듯하다. 

머 어찌됫던 고유벡터의 정의는 Ax = 람다x 를 만족하는 x와 람다가 존재할때 이를 고유벡터와 고유값이라고 한다

그럼 공분산 행렬의 고유벡터를 구하면 A는 공분산 행렬이 될 것이고 x는 공분산 행렬을 구한 주축이 될 것이다.

나는 아주 오래전부터 고유벡터가 왜 공분산행렬의 주축이 나올까 라는 의문을 놓을 수가 없었다,

한동안 접어두고 요 근래에 다시 한번 생각해봤다,.

[추가]

공분산 행렬의 고유벡터와 고유값은 왜 주축이 나오는걸까에 대한 해답.

PCA가 나온 것은 어떤 데이터 분포가 존재할때 이 분포를 가장 잘 표현하는 축을 찾는 것이 목적이다.

그렇다면 데이터를 가장 잘 표현한다는 것은 무엇일까?

즉 데이터의 분산을 최대화 하는 축이 가장 잘 표현하는 축이라는 것이다.

그럼 우리는 아마도 매일같이 결론만을 공부했을 것이다.

"PCA를 하면 주축이 나온다" 라는 결론..

대체 왜...

앞에서 말한 것과 같이 데이터 분포의 분산이 가장 큰 축을 찾고자해서 이를 찾기 위해

어느 누군가가 식을 세우고 풀었다.

어떻게 풀었을까?

방법은 라그랑주 승수(Lagrange Multiplier)를 이용한 방법이다.

결국 어떤 축은 단위벡터가 되야 된다는 조건아래 분산을 최대화하는 축을 찾는 문제로 정의하고 푼 것이다.

수식은 생략한다. 블로그에 수식 쓰는건 너무 힘이 든다.

수식에 대해 궁금하다면,

"패턴 인식 - 오일석" 책을 보면 아주 자세히 나와있다. 하지만 기본적으로 라그랑주 승수를 알아야 할 것이다.

 

----------------- 상상의 나래를 피다가 웅덩이로 빠지는 소리인듯 ㅋㅋㅋ ---------------------------

----------------- 예전에 올린 얘기인데, 쓴 자신도 다시 읽으니 먼 소리인가 싶네요. -------------------

고유벡터의 정의를 잘 풀어서 생각해보면

[a b] [x1 x2]' = 람다 [x1]  .................... (1)

[c d] [x1 x2]' = 람다 [x2]  .....................(2) 

이렇게 생각할 수 있지 않을까...

a와 b,c,d는 2차원 공분산 행렬의 각 원소이며 [x1, x2]는 하나의 고유벡터이다 

그렇다면 (1) 번식을 자세히 보면 두 벡터의 내적이   람다*x1이랑 같아야 된다는 것을 알 수 있다.

그럼 다시 이렇게 생각해보자

X = [a b]

Y = [x1 x2]  라 하자

X dot Y = |X|*|Y|*cos(세타) 이다 

여기서 Y는 고유벡터 이므로 크기가 1이라고 짐작할 수 있다.

그렇다면 |X|*cos(세타) = x1이 되어야 한다.

여기서 |X| 크기를 람다로 생각하면 x1은 코사인 세타가 되는게 아닐까?

어찌됫던 아직까지 확실하게 공분산 행렬에서 고유벡터가 왜 주축을 의미하는지 확실한 답은 찾지 못했다.

하지만 공분산 행렬의 경우에는 x축의 변화량?(표준편차) y축의 변화량을 이용한 행렬이란 것과

그 둘간의 관계가 주축이라는 것, 매트랩으로 여러가지 테스트를 해본결과 공분산 행렬의 경우 고유벡터는 마치 회전 행렬과 유사하게 생겼다는거...

조금만 더 생각해보면 풀릴듯 한데..... 이거 참 어렵넹... 누구 아시는 분 계시면 토론해봅시다~~~~~~~~~^^

공분산의 성질

1. 공분산(covariance)의 고유값의 합은 공분산 행렬의 Trace와 같다.

2. 공분산 행렬의 determinant는 공분산 행렬의 대각 성분들의 곱과 같다.

3. 공분산 행렬의 고유벡터는 주축을 의미한다.(PCA)

4. 공분산 행렬의 고유값은 주축의 (분산 or 표준편차.. 둘 중에 하나인데, 기억이 안남) 을 의미한다.

 

본 게시물이 도움이 되었다면, 꾸~욱~ 눌러주세요.

포스팅 하는데 많은 힘이 됩니다~~~

반응형

'Study > 확률 및 통계학' 카테고리의 다른 글

확률 통계 용어 정리  (0) 2013.09.25