Part 8. dimensionality_reduction
Keyword
차원 축소 :
차원 축소는 훈련 속도를 높이는 것, 데이터 시각화에도 아주 유용하다.
하지만 차원을 축소시키면 일부 정보가 유실된다.
투영 ( Projection ) :
데이터는 고차원 공간 안의 저차원 부분 공간에 놓여있다. 투영 말 그대로 훈련 샘플을 부분 공간에 수직으로 투영하면 2D 데이터 셋을 얻을 수 있다.
매니폴드 ( manifold ) :
2D 매니폴드는 고차원 공간에서 휘어지거나 뒤틀린 모양이다.
많은 차원 축소 알고리즘이 훈련 샘플이 놓여 있는 매니폴드를 모델링하는 식으로 작동하는 것이 매니폴드 학습이다.
모델을 훈련시키기 전에 훈련 세트의 차원을 감소시키면 훈련 속도는 빨라지지만 항상 더 낫거나 간단한 솔루션이 되는 것은 아니다. 전적으로 데이터셋에 달렸다.
주성분 분석 ( PCA ) :
데이터에 가장 가까운 초평면을 정의한 후, 데이터를 이 평면에 투영시킴
분산 보존 :
분산이 최대로 보존되는 축을 선택하는 것이 정보가 가장 적게 손실되므로 합리적으로 보임.
(= 원본 데이터셋과 투영된 것 사이의 평균 제곱 거리를 최소화하는 축 )
주성분 :
PCA는 훈련 세트에서 분산이 최대인 축을 찾는다. 그리고 첫 번째 축에 직교하고 남은 분산을 최대로 보존하는 두 번째 축을 찾는다.
i 번째 축을 정의하는 단위 벡터를 i번째 "주성분(PC)"이라고 부른다.
훈련 세트의 주성분은, 특잇값 분해 (SVD)를 통해 얻는다.
초평면에 훈련 세트를 투영시키기 위해서는 행렬
재구성 오차 :
원본 데이터와 재구성된 데이터(압축 후 원복한 것) 사이의 평균 제곱 거리를 말함.
점진적 PCA :
기존의 PCA는 메모리에 전체 훈련 세트를 올려야 했다. 하지만 점진적 PCA는 훈련 세트를 미니배치로 나눈 뒤 IPCA 알고리즘에 한 번에 하나씩 주입한다.
(온라인으로 PCA 적용 가능)
랜덤 PCA :
확률적인 알고리즘으로, 첫 d개의 주성분에 대한 근삿값을 빠르게 찾는다.
커널 PCA :
차원 축소를 위한 복잡한 비선형 투형을 할 수 있다. 커널 트릭처럼 매우 높은 고차원 공간으로 매핑하여 비선형 분류와 회귀를 가능케 한다.
차원 축소는 종종 지도 학습의 전처리 단계로 활용되므로 그리드 탐색을 사용하여 주어진 문제에서 성능이 가장 좋은 커널과 하이퍼파라미터를 선택할 수 있다.
재구성 원상 :
특성 공간은 무한 차원이기 때문에 재구성된 포인트를 계산할 수 없고 재구성에 따른 실제 에러를 계산할 수 없다. 하지만 재구성된 포인트에 가깝게 매핑된 원본 공간의 포인트를 찾을 수 있다. 이것이 재구성 원상이다.
투영된 샘플을 훈련 세트로, 원본 샘플을 타깃으로 하는 지도 학습 회귀 모델을 훈련시키는 것이다.
지역 선형 임베딩 ( LLE ) :
이전과 달리 투영에 의존하지 않는 매니폴드 학습. 먼저 각 훈련 샘플이 가장 가까운 이웃에 얼마나 선형적으로 연관되어 있는지 측정한다.
(1) 각 훈련 샘플
(2) 이 이웃에 대한 선형 함수로
조건 :
다차원 스케일링 ( MDS ) :
샘플 간의 거리를 보존하며 차원을 축소
lsomap :
샘플을 가장 가까운 이웃과 연결하는 식으로 그래프를 만듬
t-SNE :
비슷한 샘플은 가까이, 비슷하지 않은 샘플은 멀리 떨어지도록 하면서 차원을 축소
선형 판별 분석 ( LDA ) :
투영을 통해 가능한 한 클래스를 멀리 떨어지게 유지시킴.