일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ChatGPT
- 챗지피티
- GPT-3
- AI Fairness
- 신뢰성
- 지피티
- trustworthiness
- cnn
- 챗GPT
- 케라스
- gpt2
- Tokenization
- fairness
- 인공지능
- Transformer
- XAI
- MLOps
- 자연어
- 설명가능성
- 인공지능 신뢰성
- 딥러닝
- Ai
- ML
- DevOps
- 트랜스포머
- GPT
- Bert
- 머신러닝
- nlp
- word2vec
- Today
- Total
research notes
PCA (Principal Component Analysis) 본문
1. 차원의 저주
- 차원이 커질수록 데이터 포인트들간 거리가 크게 늘어나고 데이터가 희소화(Sparse)됨
- 수백~수천개 이상의 피처로 구성된 데이터 포인트들간의 거리에 기반한 ML 알고리즘이 무력화 됨
- 또한 피처가 많을 경우에 개별 피처간에 상관관계가 높아 선형회귀와 같은 모델에서는 다중 공선성 문제로 모델의 예측 성능이 저하될 가능성이 높음
- 다중공선성 문제: 독립변수간의 상관관계가 매우 높아 하나의 독립변수의 변화가 다른 독립변수에 영향을 미쳐 결과적으로 모델이 불안정하게 되는 것을 의미한다.
2. 차원축소의 장점
만약 수십~수백개의 피처들을 작은 수의 피처들로 축소한다면?
- 학습 데이터 크기를 줄여서 학습시간 절약
- 불필요한 피처들을 줄여서 모델 성능 향상에 기여 (주로 이미지 관련 데이터)
- 다차원의 데이터를 3차원 이하의 차원 축소를 통해서 시각적으로 보다 쉽게 데이터 패턴 인지
⇒ 그렇다면 어떻게 하면 원본 데이터의 정보를 최대한으로 유지한 채로 차원 축소를 수행할 것인가?
3. 피처 선택(feature selection)과 피처 추출(feature extraction)
- 일반적으로 차원 축소는 피처 선택(feature selection)과 피처 추출(feature extraction)로 나눌 수 있다.
- 피처선택(feature selection): 특정 피처에 종속성이 강한 불필요한 피처는 아예 제거하고, 데이터의 특징을 잘 나타내는 주요 피처만 선택하는 것
피처추출(feature extraction):
- 피처(특성) 추출은 기존 피처를 저차원의 중요 피처로 압축해서 추출하는 것. 이렇게 새롭게 추출된 중요 특성은 기존의 피처를 반영해 압축된 것이지만 새로운 피처로 추출하는 것이다.
- 피처 추출은 기존 피처를 단순 압축이 아닌, 피처를 함축적으로 더 잘 설명할 수 있는 또 다른 공간으로 매핑해 추출하는 것이다.
4. 차원축소의 의미
- 차원축소는 단순히 데이터의 압축을 의미하는 것이 아니다. 더 중요한 의미는 차원 축소를 통해 좀 더 데이터를 잘 설명할 수 있는 잠재적(Latent)인 요소를 추출하는 데에 있다.
- 차원 축소는 많은 feature로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 것
- PCA(주성분 분석, Principal Component Analysis)는 고차원의 데이터를 저차원의 데이터로 축소시키는 차원 축소 방법 중 하나
5. PCA의 이해
- 고차원의 원본데이터를 저차원의 부분 공간으로 투영하여(Projection) 데이터를 축소하는 기법
- 예를들어 10차원의 데이터를 2차원의 부분 공간으로 투영하여 데이터를 축소
- PCA는 원본 데이터가 가지는 데이터 변동성을 가장 중요한 정보로 간주하며, 이 변동성에 기반한 원본 데이터 투영으로 차원 축소를 수행
- 가장 높은 분산을 가지는 데이터의 축을 찾아 이 축으로 차원을 축소하면 PCA의 주성분이 된다.
References:
[1] https://bkshin.tistory.com/entry/머신러닝-9-PCA-Principal-Components-Analysis
[3] https://excelsior-cjh.tistory.com/167
[4] https://www.graphpad.com/guides/prism/latest/statistics/stat_feature_selection_extraction.htm
[5] https://vitalflux.com/machine-learning-feature-selection-feature-extraction/
[6] 파이썬 머신러닝 완벽가이드, 권철민, 위키북스
[7] 파이썬 머신러닝 완벽가이드, 권철민, 인프런
'머신러닝 > ML basic' 카테고리의 다른 글
피처 스케일링(Feature scaling) (0) | 2022.08.21 |
---|---|
결정트리 (Decision Tree) (0) | 2022.03.28 |
K-평균 알고리즘(K-Means Clustering) (0) | 2022.02.11 |
Validation data set는 모델 학습에 사용이 되는가? (0) | 2022.02.05 |
규제 (Regularization) (0) | 2022.01.31 |