데이터 분석/머신러닝

머신러닝(5): 차원 감소

민서타 2023. 9. 25. 18:56

1. 차원의 저주

-차원이 늘어남에 따라 같은 영역을 가지고 있음에도 전체 영역 대비 설명 가능한 Data가 줄어들게 되는 현상

-차원을 표현하기 위한 Data 수: 2^n - 1 #현실적으로는 3차원까지 표현 가능

-지도 / 비지도학습, L1 / L2 규제, 도메인 지식 등으로 차원 축소 가능


2. PCA

-고차원의 데이터 분산도를 저차원에서 얼마만큼 잘 보존하는 가, 선형적 차원축소

-Eigenvalue가 크면 클수록 고차원에서의 Data를 저차원에서 잘 표현한 것이라 판단, 내림차순 정렬 및 가장 큰 N개만큼 추출
-Label에 영향을 받지 않는 비지도 Feature Extraction
-지도 학습에 맞게 Design 불가

 

3. T-SNE(T-distributed Stochastic Neighbor Embedding)

-고차원 공간의 점들의 유사성과 그에 해당하는 저차원 공간의 점들의 유사성 계산, 비선형적 차원축소

-높은 차원에서 비슷한 데이터 구조는 낮은 차원 공간에서 가깝게 대응, 비슷하지 않은 데이터 구조는 멀리 떨어져 있게 됨
-점들의 유사도는 A를 중심으로 한 정규분포의 확률밀도에 비례, 이웃을 선택하면 포인트 A가 B를 이웃으로 선택(조건부확률)
-Kullback-Leibler divergence: 두 확률분포의 차이를 계산, 분포 간의 정보 엔트로피 차이를 계산

 

4. Autoencoder

-입력이 들어왔을 때 해당 데이터를 최대한 압축시킨 후 그 데이터를 다시 본래의 입력 형태로 복원(신경망)

-Data 압축 부분: Encoder, 복원 부분: Decoder # 압축과정 중 추출한 의미있는 데이터->Latent Vector

-Layer의 깊이가 깊어질수록 기울기 소실 or 폭발 현상이 발생
-역전파 과정에서 마지막 Layer에서 멀어질수록 기울기 값이 매우 작아지거나 폭발하는 현상

 

반응형