차원 축소의 또다른 방식엔 특성 추출이 있다. 이 장에서는 데이터셋의 정보를 요약하는 3 가지 기술에 대해 알아 볼 것이다.
- 주성분 분석(Principal Component Analysis, PCA)
- 선형 판별 분석(Linear Discriminant Analysis, LDA)
- 커널 PCA(Kernel Principal Component Analysis, KPCA)
5.1 주성분 분석(Principal Component Analysis, PCA)
PCA는 데이터에 의미있는 '축'을 찾는 과정이다. 각각의 축은 하나의 주성분에 해당한다. 데이터에는 차원의 수만큼 주성분이 존재하는데, 여기서 PCA는 어떤 축이 더 중요한지 그 우선순위를 수하는 과정이다.
특성 추출은 특성 선택과는 다르게 새로운 공간으로 데이터를 변형하거나 투영한다. (특성 선택은 원본 특성을 유지한다.) 이를 통해 저장 공간 절약, 학습 알고리즘의 계산 효율성 향상, 차원의 저주 문제(변수 개수(차원)이 늘어나면서, 계산법이 지수적으로 커지는 현상) 감소를 통한 예측 성능을 향상시킬 수 있는 장점이 있다.
PCA는 특성 사이의 상관 관계를 기반으로 데이터의 특서을 잡아 낼 수 있다. 이를 사용 하기 위해선 7가지 단계를 거친다.
- d 차원 데이터셋을 표준화한다
- 공분산 행렬을 만든다
- 공분산 행렬을 고유 벡터와 고유값으로 분해한다
- 고윳값을 내림차순으로 정렬하고 그에 해당하는 고유 벡터의 순위를 매긴다
- 고유값이 가장 큰 k(새로운 특성 부분 공간의 차원)개의 고유 벡터를 선택한다
- 최상위 k개의 고유 벡터로 투영 행렬 W를 만든다
- 투영 행렬 W를 사용해 d 차원 입력 데이터셋 X를 새로운 k 차원의 특성 부분 공간으로 변환한다.
공분산이란 2개의 확률변수의 상관정도를 나타내는 값이다. 공분산 행렬은 정방 행렬의 값을 각 변수의 분산(대각성분)과 공분산(대각성분을 제외한 나머지)로 채운 것을 지칭한다.
5.2 선형 판별 분석(Linear Discriminant Analysis, LDA)
LDA는 규제가 없는 모델에서 차원의 저주로 인한 과대 적합 정도를 줄이고 계산 효율성을 높이기 위한 특성 추출 기법이다. LDA는 PCA와 다르게 지도 학습이기에 더 뛰어난 특성 추출 기법으로 볼 수 있다. LDA는 데이터를 특정한 축에 사영하여 두 범주를 잘 구분할 수 있는 직선을 찾는것을 목표로 한다.
LDA의 내부 동작 방식
- PCA와 동일하게 d(특성 개수) 차원의 데이터셋을 표준화 전처리한다
- 각 클래스에 대해 d 차원의 평균 벡터를 계산한다
- 클래스 간의 산포 행렬과 클래스 내 산포 행렬을 구성한다
- 클래스 내 산포 행렬의 역과 클래스 간의 산포 행렬을 곱한 행렬의 고유 벡터와 고윳값을 계산
- 고윳값을 내림차순으로 정렬하여 고유 벡터의 순서를 매긴다
- 고윳값이 가장 큰 k개의 고유 벡터를 선택해서 d x k 차원의 변환 행렬 W를 구성(W의 열이 고유 벡터)
- 변환 행렬 W를 사용하여 샘플을 새로운 특성 부분 공간으로 투영
5.3 커널 PCA
대부분의 알고리즘은 입력 데이터가 선형적으로 구분 가능하다고 가정하며, 분류되지 못한 데이터는 잡음으로 처리한다. 하지만 실제 데이터들은 대부분 비선형적 데이터가 많다. 이런 비선형 데이터를 다룰때 PCA와 LDA처럼 차원 축소 기법은 최선의 선택이 아니다.
커널 SVM이 비선형 문제 해결 방식처럼 커널 PCA를 통해 비선형 매핑으로 수행한 후 데이터를 고차원 공간으로 변환한다. 그 공간에서 표준 PCA를 적용하여 샘플이 선형 분류기로 구분될 수 있는 저차원 공간으로 데이터를 투영하는 방식은 계산 비용이 너무 비싸다는 단점을 지닌다. 이때 사용하는 방식이 커널 트릭이다. 커널 트릭을 사용하여 원본 특성 공간에서 두 고차원 특성 벡터의 유사도를 계산할 수 있다. 요컨데, 표준 PCA처럼 투영 행렬을 구성한 것이 아닌 각각의 성분이 이미 투영된 샘플인 것이다. 가장 널리 사용되는 커널은
- 다항 커널
- 하이퍼볼릭 탄젠트(시그모이드) 커널
- 방사 기저 함수(Radical Basis Function, RBF) 혹은 가우시안 커널
RBF 커널을 구성하기 위한 3단계
- 샘플의 모든 쌍에 대한 커널 유사도 행렬 계산
- 커널 행렬 K를 중앙에 맞추기
- 최상위 k개의 고유 벡터 고르기
'Study > ML&DL' 카테고리의 다른 글
10. 회귀 분석으로 연속적 타깃 변수 예측 (0) | 2020.03.17 |
---|---|
8. 감성분석에 머신 러닝 적용 (0) | 2020.03.03 |
6. 모델 평가와 하이퍼파라미터 튜닝 (0) | 2020.02.18 |
2. 간단한 분류 알고리즘 훈련 (0) | 2020.01.20 |
1. 컴퓨터는 데이터에서 배운다. (0) | 2020.01.11 |
댓글