차원 축소
매우 많은 피처로 구성된 다차원 데이터의 차원을 축소하여 새로운 차원의 데이터 세트를 생성하는 것입니다.
이는 데이터의 복잡성을 줄이고 저장 공간을 절약하며 계산 효율성을 높이는 데 도움이 됩니다.
피처(특성) 추출
기존 피처를 저차원의 중요 피처로 압축하여 추출하는 것입니다.
이는 기존 피처를 보다 함축적으로 더 잘 설명할 수 있는 새로운 공간으로 매핑하여
데이터의 잠재적인 요소를 추출하는 것을 의미합니다.
PCA
가장 대표적인 차원 축소 기법으로, 입력 데이터의 상관관계를 이용하여 주성분을 추출하여 차원을 축소하는 기법입니다.
주성분은 입력 데이터의 분산이 큰 방향을 나타내는 고유벡터입니다. PCA는 공분산 행렬의 고유벡터와 고유값을 이용하여 구현됩니다.
제일 먼저 가장 큰 데이터 변동을 기반으로 첫 번째 벡터 축을 생성하고,
두 번째 축은 이 축에 직각이 되는 벡터(직교 벡터)를 축으로 합니다.
이렇게 생성된 벡터 축에 원본 데이터를 투영하면 벡터 축의 개수만큼의 차원으로 원본 데이터가 차원 축소됩니다.
선형 변환
특정 벡터에 행렬을 곱하여 새로운 벡터로 변환하는 것을 의미합니다.
PCA에서는 공분산 행렬의 고유벡터와 입력 데이터를 선형 변환하여 차원을 축소합니다.
고유값과 고유벡터
고유값은 고유벡터의 크기를 나타내며, 입력 데이터의 분산을 나타냅니다.
고유벡터는 선형 변환에 의해 방향이 변하지 않고 크기만 변하는 벡터로, PCA에서는 입력 데이터의 분산이 큰 방향을 나타냅니다.
고유벡터는 여러 개가 존재하며, 정방행렬은 최대 그 차원 수 만큼의 고유벡터를 가질 수 있습니다.
공분산 행렬
입력 데이터의 피처들 간의 상관 관계를 나타내는 정방행렬입니다.
공분산 행렬은 고유값 분해를 통해 고유벡터와 고유값을 구할 수 있습니다.
정방행렬이며 대칭행렬입니다. 공분산 행렬은 개별 분산값을 대각 원소로 하는 대칭행렬입니다.
대칭행렬은 항상 고유벡터를 직교행렬로, 고유값을 정방행렬로 대각화할 수 있다는 특성이 있습니다.
감사합니다.
'파이썬 머신러닝' 카테고리의 다른 글
[Mac OS] 파일/폴더 경로 복사 (+ Opinion Review 데이터 세트 다운) (0) | 2024.04.19 |
---|---|
[파이썬 머신러닝 완벽 가이드] 7. 군집화 (0) | 2024.04.12 |
[파이썬 머신러닝 완벽 가이드] 5. 회귀 (Regression) (0) | 2024.04.10 |
[MacOS] LightGBM 설치하기 (+ 3.3.2 버전으로 다운그레이드하기) (0) | 2024.03.27 |
[MacOS] XGboost 설치하기 (0) | 2024.03.26 |