0. Introduction
- CS229 2018 Autumn강의에서 15,16강 사이에 누락되었던 강의라고 합니다.
- 참고하시길 바랍니다.
https://www.youtube.com/watch?v=I_c6w1SJSJs&t=282s
1. PCA(Principal Component Analysis)
- Unsupervised Learning을 다루고 있기 때문에, 똑같이 n차원에 속하는 x데이터가 m개가 있다고 가정해보자.

- 여기서 우리가 목적으로 두는건, 해당 데이터의 차원을 낮추는 것이다. n -> k (k << n)
- 밑의 gif을 보면 쉽게 이해가 될 것이다. (직선과 수직방향은 noise라고 생각하면 된다.)
- 2차원의 데이터를 1차원으로 mapping시키는 것과 마찬가지다.

- PCA를 실제로 하기 위해서, 전처리 과정은 다음과 같다.
- 우선 데이터들을 평균과 표준편차를 0,1로 만들어줘야한다.

- 그후 PCA를 진행할 건데, 그 전에 두 그림을 봐보자.

- 두 그림 모두 데이터의 정보를 손실하긴하지만, 가장 데이터의 정보를 많이 담고있는 그림은 오른쪽이라고 생각할것이다.
- 그렇기 때문에 PCA에서 목적으로 두는건 다음과 같다.
- 오른쪽 그림처럼 projection할때, 데이터와의 norm이 minimization하게 mapping시켜줄 수 있는 것을 찾는 것이다.
- 또 다른 해석도 가능한데, mapping 후 데이터들의 variance가 maximization하게 해주는 것을 찾는다고 생각할 수도 있다.
- 이 이유는 mapping 후 데이터들의 variance가 maximization하다는 건,
- data의 information을 가장 덜 죽인다고 생각 할 수 있기 때문이다.
- 우선, 오른쪽그림의 직선의 unit vector를 u라고 해보자. (||u|| = 1)
- 그러면 x를 u에 대해 projection는 u^Tx이다.
- 그러면 여기서 u^Tx의 norm을 maximization해보자.(즉, 분산을 크게 잡도록 하는 u를 찾는다.)
- 그러면 다음을 maximization하는 것과 같다.(norm ->제곱)


- 중간의 식을 sigma로 약속하자.

- 이때, u가 sigma의 eigen vector가 되어야 maximization이 된다는 것을 알 수 있다.
- 이를 이차원이 아니라 n차원의 데이터에 대해서 PCA를 일반화 하려면, 다음과 같다.
- 우선,covariance matrix를 Spectral Decomposition해준다.


- 여기서 상위 k개만 골라내 기존 x의 차원을 줄이면 된다. (V_k = [u1,u2,...uk])

2. Application
2.1. 좋은예시
- Visualization에서 PCA는 되게 좋다고 한다. (n차원 -> 2,3차원으로 줄일수 있음)
- 머신러닝을 돌릴때, PCA는 성능 향상에 도움이 된다고 한다.
2.2. 나쁜 예시
- Overfitting을 줄이기 위해 PCA를 쓰는건 의심스러운 행동이라고 한다.
- Outline detection
3. Conclusion
- PCA를 사용하기 전에, 원 데이터를 한번 학습해보라고 한다.
- 해보고나서, 메모리문제나 속도 향상을 원한다면 그 때 적용하라고 한다.
3.1. PCA VS Factor Analysis
- 어떤 학생이 질문을 하였다.
" 언제 PCA를 사용하고 언제 Factor Analysis를 사용하나요?"


'DS Study > CS 229(Machine Learning)' 카테고리의 다른 글
[CS229][17] Lecture 17 - MDPs & Value/Policy Iteration (1) | 2025.02.13 |
---|---|
[CS229] [16] Lecture 16 - Independent Component Analysis & RL (1) | 2025.02.09 |
[CS229] [15] Lecture 15 - EM Algorithm & Factor Analysis (0) | 2025.02.09 |
[CS229] [14] Lecture 14 - Expectation-Maximization Algorithms (2) | 2025.02.08 |
[CS229] [13] Lecture 13 - Debugging ML Models and Error Analysis (0) | 2025.02.08 |
0. Introduction
- CS229 2018 Autumn강의에서 15,16강 사이에 누락되었던 강의라고 합니다.
- 참고하시길 바랍니다.
https://www.youtube.com/watch?v=I_c6w1SJSJs&t=282s
1. PCA(Principal Component Analysis)
- Unsupervised Learning을 다루고 있기 때문에, 똑같이 n차원에 속하는 x데이터가 m개가 있다고 가정해보자.

- 여기서 우리가 목적으로 두는건, 해당 데이터의 차원을 낮추는 것이다. n -> k (k << n)
- 밑의 gif을 보면 쉽게 이해가 될 것이다. (직선과 수직방향은 noise라고 생각하면 된다.)
- 2차원의 데이터를 1차원으로 mapping시키는 것과 마찬가지다.

- PCA를 실제로 하기 위해서, 전처리 과정은 다음과 같다.
- 우선 데이터들을 평균과 표준편차를 0,1로 만들어줘야한다.

- 그후 PCA를 진행할 건데, 그 전에 두 그림을 봐보자.

- 두 그림 모두 데이터의 정보를 손실하긴하지만, 가장 데이터의 정보를 많이 담고있는 그림은 오른쪽이라고 생각할것이다.
- 그렇기 때문에 PCA에서 목적으로 두는건 다음과 같다.
- 오른쪽 그림처럼 projection할때, 데이터와의 norm이 minimization하게 mapping시켜줄 수 있는 것을 찾는 것이다.
- 또 다른 해석도 가능한데, mapping 후 데이터들의 variance가 maximization하게 해주는 것을 찾는다고 생각할 수도 있다.
- 이 이유는 mapping 후 데이터들의 variance가 maximization하다는 건,
- data의 information을 가장 덜 죽인다고 생각 할 수 있기 때문이다.
- 우선, 오른쪽그림의 직선의 unit vector를 u라고 해보자. (||u|| = 1)
- 그러면 x를 u에 대해 projection는 u^Tx이다.
- 그러면 여기서 u^Tx의 norm을 maximization해보자.(즉, 분산을 크게 잡도록 하는 u를 찾는다.)
- 그러면 다음을 maximization하는 것과 같다.(norm ->제곱)


- 중간의 식을 sigma로 약속하자.

- 이때, u가 sigma의 eigen vector가 되어야 maximization이 된다는 것을 알 수 있다.
- 이를 이차원이 아니라 n차원의 데이터에 대해서 PCA를 일반화 하려면, 다음과 같다.
- 우선,covariance matrix를 Spectral Decomposition해준다.


- 여기서 상위 k개만 골라내 기존 x의 차원을 줄이면 된다. (V_k = [u1,u2,...uk])

2. Application
2.1. 좋은예시
- Visualization에서 PCA는 되게 좋다고 한다. (n차원 -> 2,3차원으로 줄일수 있음)
- 머신러닝을 돌릴때, PCA는 성능 향상에 도움이 된다고 한다.
2.2. 나쁜 예시
- Overfitting을 줄이기 위해 PCA를 쓰는건 의심스러운 행동이라고 한다.
- Outline detection
3. Conclusion
- PCA를 사용하기 전에, 원 데이터를 한번 학습해보라고 한다.
- 해보고나서, 메모리문제나 속도 향상을 원한다면 그 때 적용하라고 한다.
3.1. PCA VS Factor Analysis
- 어떤 학생이 질문을 하였다.
" 언제 PCA를 사용하고 언제 Factor Analysis를 사용하나요?"


'DS Study > CS 229(Machine Learning)' 카테고리의 다른 글
[CS229][17] Lecture 17 - MDPs & Value/Policy Iteration (1) | 2025.02.13 |
---|---|
[CS229] [16] Lecture 16 - Independent Component Analysis & RL (1) | 2025.02.09 |
[CS229] [15] Lecture 15 - EM Algorithm & Factor Analysis (0) | 2025.02.09 |
[CS229] [14] Lecture 14 - Expectation-Maximization Algorithms (2) | 2025.02.08 |
[CS229] [13] Lecture 13 - Debugging ML Models and Error Analysis (0) | 2025.02.08 |