머신러닝에서는 task를 수행하기 위해 고려해야 할 요인들이 굉장히 많다.

이러한 요인들을 변수라고 하며, 변수의 수가 많을 수록 데이터를 시각화 하기 굉장히 힘들어 진다.

때때로 이러한 변수들 중 몇몇은 corelated 하고 따라서 반복적 일 때가 있다. 차원의 저주 문제를 피하기 위해 차원 축소 알고리즘을 통해 반복적인 변수들을 제거 해 줄 수 있다.

차원의 저주

차원이 높아질수록 머신러닝 알고리즘의 효율이 더 떨어지는 현상.

K-means 알고리즘에서 Distance 들이 점점 멀어지는 것을 볼 수 있음.

Pros

  1. 데이터 압축 효과가 있다.
  2. 계산 과정이 짧아진다.
  3. 불필요한 데이터 정보를 없앨 수 있다.
  4. 시각화를 용이하게 할 수 있다.
  5. 차원의 저주를 피할 수 있다.

Cons

  1. 데이터 손실이 발생한다.
  2. PCA과정에서 선형적 correlation을 통해 차원을 축소하는데 이 방식이 데이터와 맞지 않을 때가 있다.
  3. 실제로 데이터에 어느 부분이 중요한지는 PCA로 완벽하게 잡아낼 수는 없다.