본문 바로가기

Machine Learning/Dimensionality Reduction

Dimensionaltiy Reduction의 필요성(차원축소 필요성)

차원축소의 필요성

  • 변수의 개수가 선형적으로 증가할 때 동일한 정보량을 포함시키거나 설명하기 위한 필요한 sample의 개수는 기하급수적으로 증가한다.
  • 같은 성능을 보이는 경우, 변수의 개수가 적은 게 더 좋다.(단순성)
  • 변수의 개수가 증가할수록 다음과 같은 문제점이 존재한다.
    1. noise를 적절히 잘 조절하며 괜찮지만, 그러지 못한 경우 예측 수행력을 저하시킨다.
    2. 행의 수보다 열의 수가 더 많은 경우, 계산 복잡성이 증가한다.
    3. 동일한 일반화 성능을 얻기 위해 더 많은 수의 객체(관측치)가 필요하다.
  • 이에 대한 해결방안으로 다음 3가지가 존재한다.
    1. 도메인 지식 이용하기
    2. regularization term 사용하기(Ridge, Lasso 등)
    3. dimension reduction(차원 축소) 기술 사용하기

차원축소의 배경

  • 이론적으로, 변수들끼리 독립이라는 가정하에 변수의 수가 증가할수록 모델의 성능이 좋아진다.
  • 하지만, 변수들끼리 독립이라는 가정을 만족하는 경우는 거의 없다.
  • 즉, 변수간의 의존성 및 noise 존재로 모델의 성능이 저하된다.

차원축소의 목적

  • 모델을 적합하는데 가장 좋은 변수 집단을 확인하는 것.

차원축소의 효과

  • 변수들 사이의 상관관계를 제거해준다.
  • 전처리 과정을 단순화시켜준다.
  • 원하는 목표를 달성하는데 불필요한 변수를 제거해준다.
  • 고차원 데이터인 경우 시각화가 불가능한 경우가 존재한다. 차원축소를 통해 시각화가 가능해진다.

Supervised Learning vs. Unsupervised Learning

  • 차원을 축소시키는 과정에서 특정한 알고리즘을 사용하는지에 따라 supervised learning과 unsupervised learning으로 구분할 수 있다.

(1). Supervised Dimensionality Reduction

Supervised Dimensionality Reduction

  • Supervised Dimensionality Reduction의 경우, 축소된 차원을 검증하는데 특정 모델을 사용한다.
  • 따라서, 차원 축소 후 결과는 사용한 모델에 따라 결과가 달라진다.

(2). Unsupervised Dimensionality Reduction

Unsupervised Dimensionality Reduction

  • Unsupervised Dimensionality Reduction인 경우, 가능한 한 기존의 공간 상에 있는 정보(ex) 분산, 거리)를 저차원 공간에서도 최대한 보존하도록 만들어주는 좌표시스템을 찾는 것이다.
  • Supervised Dimensionality Reduction과는 다르게 검증 과정을 하는데 특정 모델을 사용하지 않는다.
  • 차원 축소 결과는 특정 모델을 사용하지 않기 때문에 데이터와 방법이 같다면 동일하다.

Variable/Feature Selection vs. Variable/Feature Extraction

(1). Variable/Feature Selection

  • 원래 존재하는 original variable 중에서 유의미한 변수를 선택하는 것이다.
    • ex) $X = (x_1, x_2, ..., x_10) \in R^{10}$인 경우, variable selection을 통해 $X=(x_1, x_2, x_7)$ 선택.
  • 대표적으로, Filter와 Wrapper 방법이 존재한다.
    • Filter의 경우, 변수 선택을 하는 과정과 모델을 훈련하는 과정이 독립적이며 특정 모델을 사용하지 않는다. 즉, unsupervised dimensionality reduction에 가깝다.
    • Wrapper의 경우, Forward/Backward/Stepwise/Genetic Algorithm 방법이 존재하며 모델 성능이 변화가 없을 때까지 최적화시키는 방법이다. 특정 모델을 사용하여 학습하며 feedback loop가 존재한다. 특정 모델(알고리즘)에 적합한 조합의 변수 부분집합을 찾는 것이다. 따라서, supervised dimensionality reduction에 가깝다.

(2). Variable/Feature Extraction

  • 기존의 공간에서의 데이터가 가진 본질적인 정보를 최대한 가장 잘 보존하는 새로운 변수를 생성하는 것이다.
    • ex) $X = (x_1, x_2, ...., x_10) \in R^{10}$인 경우, variable extraction 결과 $ y_1 = a_1x_1 + a_2x_2 + a_7x_7$, $y_2 = a_1x_1 + a_3x_3 + a10x_10$이다.
  • 방법론에는 선형 변환과 비선형 변환으로 구분할 수 있다.
    • 선형 변환 방법론에는 객체의 분산 정보를 기반으로 하는 PCA와 객체 간의 거리 정보를 기반으로 하는 MDS 방법이 존재한다.
    • 비선형 변환 방법론에는 LLE, Isomap, t-SNE가 존재하며 latent space(embedding space)를 찾는 것을 목표로 한다.
  • 위의 내용을 토대로 각 방법론에 내재된 데이터가 가지고 있는 본질적인 정보를 정리하면 다음과 같다.
    • Principal Component Analysis → variance 최대화(선형변환)
    • Multidimensional Scaling(다차원 척도법) → 객체 간의 거리 정보 최대화(선형변환)
    • LLE, Isomap, t-SNE → latent space 찾는 기법(비선형 변환)

 

 

참고자료: https://www.youtube.com/playlist?list=PLetSlH8YjIfWMdw9AuLR5ybkVvGcoG2EW