Skip to content

차원축소 #
Find similar titles

Structured data

Category
Statistics

차원축소 (Dimension Reduction) #

배경 #

데이터의 특성(feature)은 데이터의 다양한 측면을 보여 줄 수 있기에 특성이 많을수록 더 나은 결과를 가질 것이라고 예상할수 있습니다. 하지만 실제로는 많은 특성을 가질수록 모델의 성능이 떨어질 수 있습니다.

Image

특성의 수가 증가하는 것은 데이터의 수가 증가하는 것이 아닌 데이터를 표현하는 공간(차원)이 커지는 것을 말합니다. 위의 그림은 특성이 A 하나일 때, A와 B 두 개일 때 A, B, C 세 개 일 때의 데이터의 차원을 나타내었습니다. 특성의 수가 증가할수록, 데이터의 차원 또한 커지기 때문에 이를 채우기 위한 데이터의 수도 증가하게 됩니다.

데이터의 크기는 같으나 특성이 많아지게 되면 적은 데이터로 공간을 표현하게 됩니다. 이 경우 과적합(Overfitting)이 발생할 수 있는데 이러한 문제를 차원의 저주라고 합니다. 이외에도 많은 특성을 가지게 되면 특성끼리 상관관계가 높은 다중 공산성의 문제가 있을 수 있고 알고리즘의 복잡성을 증가시켜 오히려 예측 성능을 낮추게 됩니다. 이러한 문제점들을 해결하기 위해 차원의 수를 줄이는 방법인 차원 축소 방법이 사용되고 있습니다.

차원축소란? #

차원 축소는 고차원의 데이터로부터 저차원의 데이터로 변환하는 방법입니다. 차원 축소의 과정으로 Feature selection과 Feature extraction이 있습니다.

Feature selection #

Feature selection은 원 특성에서 주요 특성을 선택하는 과정입니다. 불필요한 특성은 제거하고, 데이터의 특징을 잘 나타내는 특성만 선택합니다. 크게 Filter method, Wrapper method, Embedded method 3가지 방법으로 나뉩니다.

Filter methods #

Image

통계적인 측정 방법을 사용하여 특성들의 상관관계를 비교하고 상관계수가 가장 작은 특성을 제거합니다. 해당 방법은 계산 속도가 빠르고 특성 간의 상관관계를 알아내는 데에 적합합니다. 또한 과적합을 방지할 수 있습니다. 하지만 상관계수로 추출된 특성이 반드시 모델에 적합하다고 할 수 없고 예측 모델별 조정이 정확하지 않습니다. 따라서 Wrapper method 사용 전 전처리 단계로 사용될 수 있습니다. information gain, chi-square test, fisher score, correlation coefficient, variance threshold 방법이 존재합니다.

Wrapper methods #

Image

예측 모델을 사용하여 특성들의 부분집합을 만들고 테스트를 반복하여 최적화된 특성의 집합을 추출합니다. (테스트는 hold-out-set을 따로 두고 진행합니다.) 해당 방법은 성능은 좋으나 최적화된 모델을 만들기 위해 여러번의 모델 생성과 테스트 과정을 거치므로 많은 시간이 소요됩니다. 또한 데이터 셋이 적으면 과적합될 수 있습니다. recursive feature elimination(RFE), sequential feature selection(SFS), genetic algorithm, Univariate selection 등이 있습니다.

Embedded method #

Image

Embedded methods는 모델의 학습 알고리즘의 일부로 feature selection을 수행하는 방식입니다. 작은 계수를 가지는 회귀식을 찾는 방향으로 제약조건을 주어 최적의 특성을 선택합니다. LASSO, Ridge, Elasticnet, decision tree 기반 알고리즘을 사용하는 방법이 있습니다.

Feature extraction #

원래의 특성을 조합하여 데이터를 가장 잘 표현할 수 있는 중요한 성분들을 가진 새로운 특성을 추출하는 것을 말합니다. 기존 변수들과 완전히 다른 값을 가지게 되어 추출된 변수의 해석이 어렵다는 단점이 있습니다. 대표적인 방법으로 PCA, SVD, LDA, t-SNE 기법 등이 있습니다.

PCA #

Image

PCA(Principal Component Analysis)는 가장 대표적인 차원 축소 기법으로 여러 특성 간 존재하는 상관관계를 이용하여 대표하는 주성분을 추출해 차원을 축소하는 기법입니다. 모든 차원의 축에 따른 값의 변화인 분산을 확인한 후 가장 높은 분산을 가지는 데이터 축을 찾아 차원을 축소하는 방법입니다.

LDA #

Image

LDA(Linear Discriminant Analysis)는 PCA에서 확장된 차원 축소 기법으로 지도 학습에서 적용하는 차원 축소 기법입니다. 입력 데이터의 클래스(정답)를최대한 분리할 수 있는 축을 찾아 차원을 축소하는 방법입니다.

t-SNE #

Image

t-SNE(t-Stochastic Neighbor Embedding)는 고차원 상의 이웃 간의 거리를 저차원 상에서도 최대한 보존하도록 차원을 축소하는 방식입니다. 먼저 무작위로 목표하는 차원에 데이터들을 배치한 후 각 데이터를 고차원 상에서의 배치와 비교하면서 위치를 변경하여 학습하는 방법입니다.

Reference #

0.0.1_20210630_7_v33