본문 바로가기
환급 챌린지!

[패스트캠퍼스 수강 후기] 머신러닝 인강 100% 환급 챌린지 20회차 미션

by 빅데이터1020 2020. 11. 7.
SMALL

안녕하세요.

패스트 캠퍼스 수강후기 - 머신러닝과 데이터 분석 A-Z 20회차 미션 시작합니다!

머신러닝 인강 후기 20회차는 PCA에 대해 공부합니다.

 

분석파트는 이론과 실습이 모두 제공됩니다.

저는 이론부분만 정리해서 올릴 예정입니다!

 

PCA 실습은 강의에서 제공하는 파일을 보면서 강사님의 지시에 따라 실습을 따라하시면 됩니다.

 

" PCA - 차원축소 "

PCA는 차원의 저주를 완화시키려고 사용하는 기법입니다.

 

각 변수의 50% 영역에 해당하는 자료를 가지고 있다고 할 때, 전체 자료의 얼만큼을 확보할 수 있는가 하는 문제가 있습니다.

 

관측치의 수는 한정되어있기 때문에, 차원이 커질 수록 한정된 자료는 커진 차원의 패턴을 잘 설명하지 못합니다.

아래 그림처럼 차원이 증가함에 따라 model complexity가 기하급수적으로 높아집니다.

 

차원을 축소해야하는 이유는,

쓸데 없는 변수가 추기되는 것이 모델의 예측 성능에 매우 악영향을 끼쳐서

상관계수가 매우 큰 서로 다른 독립변수 또는 예측하고자 하는 변수와 관련이 없는 변수 등을 제거할 필요가 있기 때문입니다.

 

차원을 줄이게 되면 정보의 손실이 발생하는데,

이 때 차원을 줄이면서 정보의 손실을 최소화하는 방법으로 Principal Component를 활용하는 것입니다.

 

PCA 방법 말고도 다른 차원축소법들이 있습니다.

-변수선택법

-penalty 기반 regression

-convolutional neural network

-drop out & bagging

 

" PCA - 공분산 행렬의 이해 "

 

공분산 행렬은 일종의 행렬로써, 데이터의 구조를 설명해주며, 특히 특징 쌍(feature pairs)들이 얼마나 닮았는가(다른 말로는 얼마만큼이나 함께 변하는가)를 행렬에 나타내고 있습니다.

PCA와 공분산행렬의 좀더 자세한 설명은 아래를 참고하세요!

https://angeloyeo.github.io/2019/07/27/PCA.html#%EA%B3%B5%EB%B6%84%EC%82%B0-%ED%96%89%EB%A0%AC%EC%9D%98-%EC%9D%98%EB%AF%B8

 

주성분 분석(PCA) - 공돌이의 수학정리노트

 

angeloyeo.github.io

공분산 행렬은 아래의 그림과 같습니다. 각각의 Var(X)Cov(X1, X2)의 의미와 연결해보았습니다.

 

" PCA - Principal Components 의 이해 "

Principal Components는 차원을 줄이면서 정보의 손실을 최소화하는 방법입니다.

더 적은 개수로 데이터를 충분히 잘 설명할 수 있는 새로운 축을 찾아내서 정보 손실을 최소화합니다.

 

Principal Components를 얻는 것은 공분산이 데이터의 형태를 변형시키는 방향의 축과 그것에 직교하는 축을 찾아내는 과정입니다.

2차원의 경우, 공분산이 나타내는 타원의 장축과 단축이 이에 해당됩니다.

 

 

 

머신러닝 인강 최강자를 만나고 싶으면!? https://bit.ly/3lZfGmn

LIST