일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 구문트리
- 정처기 실기 벼락치기
- 백준
- eigenvalue
- 다익스트라
- unity
- vector
- matrix
- column space
- 컴파일러
- 스레드전용저장소
- 컴퓨터밑바닥의비밀
- 행렬
- 링커
- linear algebra
- Rust
- 재배치
- 정처기 공부법
- CS정리
- 대상파일
- 선형대수학
- 정처기 실기 공부법
- 벡터
- 정보처리기사 2025 1회 실기 벼락치기
- 알고리즘
- 코드포스
- c++
- rust 스터디
- 정보처리기사 실기 벼락치기
- 다이나믹 프로그래밍
- Today
- Total
개발_기록용
[선형대수학 정리] 19. 주성분 분석 (PCA : Pricipal Component Analysis) 본문
1. 배경
그래픽스 공부에 들어가기 전, 근본 중에서도 근본인 선형대수학을 먼저 파야겠다고 생각했다!
Chris Ohk 님의 Game Developer Roadmap 2022를 보고 내가 부족한 부분을 채워나가기로 결심했기 때문이다.
https://github.com/utilForever/game-developer-roadmap
GitHub - utilForever/game-developer-roadmap: Roadmap to becoming a game developer in 2022
Roadmap to becoming a game developer in 2022. Contribute to utilForever/game-developer-roadmap development by creating an account on GitHub.
github.com
.
2. 정리
주성분 분석 (PCA)을 하는 과정에서 고유벡터를 계산하게 되어
고윳값 분해를 응용하는 예시로 같이 다뤄보게 되었다.
주성분 분석 (PCA)
2차원 데이터를 x, y 좌표평면에각각 점으로 나타냈다고 하자.
PCA는 평균값과 거기서 데이터들의 분포를
가장 잘 나타내는
방향을 찾는것이다.
이 방향을 찾으면, 그 방향으로 뻗는 수직선에 대해2차원 점들을 정사영해 1차원으로 데이터를 축소할 수 있다. (차원 축소)
PCA는 데이터들의 분포를 가장 잘 나타내는 방향을 찾는 것이다.
PCA에서 찾고자 하는 주성분 방향을 벡터 u로 잡고,
모든 데이터들의 평균을 0으로 옮겨 원점으로 잡는다.
그러면 각 데이터들을 u로 정사영할 때
그 오차를 제일 적게하는 방향이어야 한다.
우리는 u의 방향만을 알기 원하므로, u의 크기를 1이라 가정하고
그때의 R_{d}를 Sample Covariance matrix라 쓰는 과정들을 적었다.
라그랑주 승수법을 사용해
u로 미분해서 L의 delta값이 0이되는 것을 구하면
$$R_{d}u=\lambda u$$
로 R_{d}의 고유벡터를 찾는 과정과 같아진다.
그러면 만약 λ의 값들이 내림차순으로 적혀있다면
u가 q_{1}일 때
u의 전치행렬과 Sample Covariance matrix, 그리고 u를 곱한 값이 최대가 되므로
분산이 제일 큰 값이 PCA의 주성분 방향이다.
그리고, u가 q_{2}일 때
u의 전치행렬과 Sample Covariance matrix, 그리고 u를 곱한 값이 두번째로 최대가 되는데
q_{1}과 q_{2}는 서로 orthogonal 하므로
PCA에서 두번쨰로 잘 나타내는 주성분 방향은
첫번째로 구한 방향과 수직하다!
PCA의 주성분 방향은 분산이 가장 큰 방향이며, 두번째 주성분 방향은 이것과 수직하다.
'선형대수학' 카테고리의 다른 글
[선형대수학 정리] 21. 의사역행렬 (pseudo inverse) 짤막 정리 (0) | 2024.07.29 |
---|---|
[선형대수학 정리] 20. 특이값 분해 (SVD, Singular value Decomposition) (0) | 2024.07.29 |
[선형대수학 정리] 18. 고윳값 분해 (eigen decomposition) (7) | 2024.07.24 |
[선형대수학 정리] 17. 고윳값과 고유벡터(eigen value & eigen vector) (3) | 2024.07.24 |
[선형대수학 정리] 16. 최소자승법 (5) | 2024.07.22 |