기계학습(ML)의 주요 모델-2
- 목차
A. 차원축소 개념
B. PCA
C. LDA
A. 차원축소
1. 차원 축소란
- 매우 많은 피처로 구성된 다차원 데이터 세트의 차원을 축소하여 새로운 차원의 데이터 세트를 만듦
- 필요성 : 차원이 증가할 수록 데이터간의 거리가 증가하게 되어 희소한 구조를 가지게 되고 모델의 예측 신뢰도가 낮아지게됨
- 차원축소를 하게되면 학습 데이터 크기가 줄어들게 되어 학습에 필요한 처리능력도 줄어들게 됨
- 차원 축소를 통해 좀 더 데이터를 잘 설명할 수 있는 잠재적인 요소를 추출하는 데에 있음
- 차원축소 종류 : 피처 선택과 피처 추출
- 피처 선택 : 특정 피처에 종속성이 강한 불필요한 피처는 아예 제거
- 장점 : 선택한 피처의 해석 용이
- 단점 : 피처간 상관관계 고려 어려움
- 피처 추출 : 기존 피처를 저차원화하여 중요 피처로 압축해서 추출, 중요 피처는 기존의 피처가 압축된 것이므로 기존의 피처와는 완전히 다른 값이 됨
- 장점 : 피처간 상관관계 고려 가능,피처 개수 많이 줄일 수 있음
- 단점 : 추출된 변수 해석이 어려움
B. PCA
- 여러변수간 상관관계 고려하여 대표하는 주성분을 추출하여 차원 축소 기법
- PCA 기법의 핵심 : 데이터를 축에 사영했을때 가장 높은 분산을 가지는 데이터 축을 찾아 그 축으로 차원 축소를 하는 것
- 높은 분산을 가지는 축을 찾는 이유는 정보의 손실을 최소화하기 위함
- 사영했을때 분산이 크다? : 원래 데이터의 분포를 잘 설명할 수 있다는 것을 뜻하고 정보의 손실을 최소화 할 수 있다는 것을 뜻함
- PCA가 진행되는 순서
① 입력 데이터 세트의 공분산 행렬을 구합니다.
② 공분산 행렬을 고유값 분해해서 고유벡터와 고유값을 구합니다.
③ 고유값이 가장 큰 순으로 K개 (변환 차수) 만큼 고유벡터를 추출합니다.
④ 고유벡터에 입력 데이터를 선형 변환합니다.
C. LDA
- LDA는 PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법
- 중요한 차이는 LDA는 지도학습의 분류에서 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소함
- PCA는 입력 데이터의 변동성(분산)이 가장 큰 축을 찾았지만, LDA는 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾음
- 즉, LDA는 클래스 분리를 최대화하는 축을 찾기 위해 클래스 간 분산을 최대화하고, 클래스 내부 분산은 최대한 작게 가져가는 방식
- LDA가 진행되는 순서
① 클래스 내부와 클래스 간 분산 행렬을 구합니다.
② 클래스 내부 분산 행렬의 역치 행렬과 클래스 간 분산 행렬의 곱을 분해하여 고유벡터와 고유값을 구합니다.
③ 고유값이 가장 큰 순으로 K개 추출합니다.
④ 추출된 고유벡터를 이용해 입력 데이터를 선형 변환합니다.