차원 축소 (Dimension Reduction)
매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성하는 기법입니다.
*차원 증가의 한계
1) 수백 개 이상의 피처로 구성된 데이터 세트일수록 예측 신뢰도가 떨어집니다.
상대적으로 적은 차원에서 학습된 모델의 예측 신뢰도가 더 높습니다.
2) 피처가 많아질수록 개별 피처간에 상관관계가 높을 가능성이 커집니다.
특히, 선형 모델에서는 입력 변수 간의 상관관계가 높을 경우로 인한 다중 공선성 문제로 모델의 예측 성능이 저하됩니다.
3차원 이하의 차원 축소를 통해서 시각적으로 데이터를 압축해서 표현하면 직관적을 데이터를 해석할 수 있습니다.
함축적인 특성 추출은 기존 피처가 전혀 인지하기 어려웠던 잠재적인 요소를 추출하는 것을 의미합니다.
대표적인 차원 축소 알고리즘 : PCA, LDA, SVD, NMF
차원축소는 단순히 피처의 개수를 줄이는 개념이 아닌 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는 데 큰 의미가 있습니다.
● PCA
우선 입력 데이터의 변동성이 가장 큰 축을 구합니다.
이 축을 기준하여 다시 변동성이 큰 직각인 축을 반복적으로 구합니다.
축소하려는 차원 개수만큼 구한 후 입력 데이터를 이 축들에 투영해 차원을 축소하는 방식입니다.
● LDA
입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾는 방식입니다.
▶ 행렬 분해 기법 : SVD, NMF
매우 많은 피처 데이터를 가진 고차원 행렬을 두 개의 저차원 행렬로 분리하는 행렬 분해 기법입니다.
● SVD
PCA와 유사한 행렬 분해 기법을 이용하나 행과 열의 크기가 다른 행렬에도 적용합니다.
● NMF
원본 행렬 내의 모든 원소 값이 모두 양수(0 이상)라는 게 보장되어 간단하게 두 개의 기반 양수 행렬로 분해될 수 있는 기법입니다.
분해된 행렬은 잠재 요소를 특성으로 가지게 됩니다.
'Data Analytics with python > [Theory]' 카테고리의 다른 글
[Machine Learning] 실루엣 분석 (0) | 2023.02.14 |
---|---|
[Machine Learning] K-means_1 (0) | 2023.02.14 |
[Machine Learning] LDA (0) | 2023.02.13 |
[Machine Learning][Regression] 회귀 소개 (0) | 2023.02.02 |
[Machine Learning] 머신 러닝 개괄 (0) | 2023.01.30 |
댓글