Search
🤔

데이터 축소, 차원 축소

데이터 축소

데이터 축소 특징

방대한 양의 데이터를 분석하기 위해서는 많은 시간이 소요됨
실용적이지 못하거나 분석이 불가능할 수도 있음
원본 데이터에 가까운 품질을 유지하면서 축소된 데이터 셋을 확보하는 것이 필요함
데이터 저장 및 분석 비용을 줄임

도메인 지식 기반 차원 축소 방법

속성 하위 집합 선택
관련성이 없고 중복된 기능이 있는 경우에는 정보의 손실이 발생하지 않음

중복 속성 제거

관련 없는 속성 제거
예) ‘지불한 금액’ , ‘제품 구매 가격’
해결하고자 하는 문제에 중요한 정보를 포함하지 않는 속성을 제거
예) 학생의 성적을 예측해야 하는 작업에서 학생의 ‘학번’ 속성

데이터 축소 방법

차원축소 vs 인스턴스 축소(숫자 감소)

차원 축소(Dimension Reduction)

속성(feature) 선택 또는 속성 하위 집합 선택
데이터 분석 시, 관련성이 적거나 중복되는 속성을 찾아 제거함
매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소해 새로운 차원의 데이터 세트를 생성

차원 축소의 필요성

차원의 저주(Curse of Dimensionality)
기존 있는 데이터의 양을 포함하는 차원이 증가 할수록, 데이터의 부족으로 인해 Overfitting등의 문제로 모델의 성능이 떨어지는 현상(데이터의 품귀 현상)
차원이 증가할 수록 나타나는 특징
기하급수
선형 비례가 아닌 N제곱 기준으로 비례하여 증가함
희소(Sparse) 구조
동일 개수의 데이터 밀도는 차원 증가에 따라 희박해짐
고차원
수십 개 정도의 저차원에서는 발생하지 않음
높은 상관관계
피처가 많을 경우 개별 피처 간에 상관관계가 높을 가능성이 큼
낮은 신뢰도
수백 개의 피처로 학습한 경우 상대적으로 낮은 성능이 나타남

차원 축소의 방법

피처선택(Feature Selection)
특정 피처에 종속성이 강한 불필요한 피처는 제거하고, 데이터의 특징을 잘 나타내는 주요 피처만 선택
기존 피처를 저차원의 중요 피처로 압축해서 추출 à 기존의 피처가 압축된 것이므로 다른 값으로 나타남
피처추출(Feature Extraction)
피처를 함축적으로 더 잘 설명할 수 있는 또 다른 공간으로 매핑해서 추출
기존 피처가 인지하기 어려웠던 잠재적인 요소(Latent Factor)를 추출
차원 축소의 목표 모든 속성을 사용하여 얻은 데이터 분석 결과 ≈ 차원 축소한 속성을 사용하여 얻은 데이터 분석 결과

차원 축소의 사례

이미지 데이터 분석 : 매우 많은 픽셀로 이뤄진 이미지 데이터 분석 시 차원 축소하는 것이 예측 성능을 높임
PCA, LDA
텍스트 의미 추출 : 문서 내 단어들의 구성에서 숨겨진 의미나 토픽의 잠재요소를 간주하고 찾음
SVD, NMF

PCA(Principal Component Analysis) 정의

상관관계가 있는 고차원 자료를 자료의 변동을 최대한 보존하는 고유값과 고유벡터를 이용하여 저차원 자료로 변환시키는 분석 기법(차원의 축소)
PCA
PCA 예시 1
PCA 변환 사례
PCA 예시 2
주가 예측 모델
Scree plot
PCA로 차원을 변환시킨 결과값을 바탕으로 각 컴포넌트의 수가 얼마만큼 원본 데이터의 정보를 설명할 수 없는지 나타냄

PCA(Principal Component Analysis) 방법

공분산 계산 → 고유벡터 계산 → 고유치 선택 → 변환행렬 생성 → 선형 변환
x와 y의 공분산은 x, y의 흩어진 정도가 얼마나 서로 상관관계를 가지고 흩어졌는지를 나타냄
수행 절차
절차 별 수행 Logic
①  공분산 계산
x, y의 공분산은 x, y의 흩어진 정도가 얼마나 서로 상관관계를 가지고 흩어졌는지를 나타냄
②  고유벡터(eigen vector) 계산
행렬 A를 선형변환한 결과가 자기 자신의 상수배가 되게 하는 벡터
③ 고유값(eigen value) 선택
행렬 A를 선형변환한 결과가 자기자신의 상수배가 되게 하는 값
④ 변환행렬 (transform matrix) 생성
고유벡터를 변환행렬로 사용
⑤ 선형변환
선형변환에 의해 특징벡터 추출
공분산(Covariance)
고유값과 고유 벡터

PCA 적용 시 주의 사항

원본 데이터가 주성분으로 변환되므로 원본 데이터에 대한 해석이 어려움
변환된 주성분으로 원본 데이터가 가지고 있는 정보를 표현하고 해석하기 어려움
정보 손실
주성분은 데이터 셋 피처 간의 최대 편차를 포함하기는 하지만, 주성분의 수를 잘못 선택한 경우, 원본 피처와 비교하여 정보가 누락될 수 있음
PCA 변환 전에 모든 범주형 변수를 수치형 변수로 변환하고, 표준화를 수행해야함
PCA 변환의 가정: 평균과 분산이 변수의 전체 분포를 설명한다 → 데이터의 정규분포
PCA는 스케일에 영향을 받으므로 z-score 변환을 수행하여 평균 0, 표준편차 1 형태로 스케일을 맞춰줌