티스토리 뷰

반응형

이번 포스팅은 Dimensionality Reduction(차원 축소)에 대해 정리해보겠습니다.

1. 차원 축소를 하는 이유?

개와 고양이 분류 예제로 "차원 축소를 해야 하는 이유"에 대해 생각해 보겠습니다.

 

 

 

 개와 고양이에 대한 10개의 데이터 샘플이 있다고 생각해봅시다. 이 경우 어떻게 분류할 수 있을까요?

 

쉽게 생각하면 두 번째 그림처럼 중간을 반을 나눠 왼쪽은 개, 오른쪽은 고양이로 분류할 수 있습니다. 하지만 이렇게 분류하게 되면 각각 양쪽에 고양이, 개가 하나씩 존재하여 완벽하게 나눠진 것처럼 보이지 않습니다. 그래서 두개를 잘 구분하기 위해 Feature 1개를 추가하여 2차원으로 구성하고 개와 고양이를 나눠 보겠습니다.

 

 

 

  Feature2를 추가하여 2차원 공간의 개와 고양이를 살펴보고 Linear 한 선으로 두 개를 분류해 보겠습니다. 하지만 여전히 오른쪽, 왼쪽 개와 고양이가 하나씩 있어 완벽해 보이지 않습니다. 그렇다면 Feature를 하나 더 늘려 3차원 공간에서 나눠 보겠습니다.

 

 

 

이번엔 Feature3를 추가하여 3차원으로 구성했을 때 Linear 한 평면으로 개와 고양이를 구별하는 것을 확인할 수 있습니다. 이제 개와 고양이를 구별할 수 있는 완벽한 모델을 만들었다고 할 수 있을까요?

 

 정답은 그럴수도 아닐 수도 있다는 것입니다. 만약, 이 모델에 새로운 특성을 가진 데이터가 들어온다면 어떻게 될까요? 기존 Feature들로 구분되지 않는 새로운 데이터가 들어왔다면 1차원, 2차원에서 발생했던 문제가 3차원에서 발생할 수 있습니다. 그렇다면 다시 Feature를 추가해 차원을 높여야 할까요?

 

 위에서 본 예제로 생각한다면 데이터를 분류하기 위해 Feature를 늘리는 것은 데이터만 분류하기 위한 모델을 만듭니다. 다시 말해 설명력이 높은 모델이 아닌 해당 데이터를 분류만 하는 모델이 생성된 것입니다. 또한 Feature를 추가해 차원을 높이게 되면 차원의 저주에서 보았던 것 처럼 해당 요소들의 밀도가 낮아지며 서로 간의 거리가 멀어지는 문제가 발생합니다.

 

2020/02/16 - [머신러닝] - [머신러닝 기본 지식] 차원의 저주 - Curse of Dimensionality

[머신러닝 기본 지식] 차원의 저주 - Curse of Dimensionality

차원의 저주 - Curse of Dimensionality에 대해 정리해보겠습니다. 1. 차원의 저주 일상적으로 경험하는 3차원 물리 공간에서 발생하지 않는 현상으로 고차원에서 데이터를 분석하거나 구성하는 과정에서 발생하는..

firework-ham.tistory.com

 

 

 

 이러한 경우 오류가 있었던 2개의 Feature를 사용했던 모델이 더 좋은 설명력이 될 수 있습니다. 초기 모델에는 오류가 있었지만 새로운 데이터가 들어왔을 때 3차원 보다 잘 분류할 수 있습니다.

 

  이 예제로 우리가 생각해볼 점은 Feature가 많다고 해서 모든 Feature를 사용하여 모델을 만드는 것은 좋은 방법이 아니라 설명력이 높은 Feature만 사용해야 한다는 것입니다. 즉, 설명력이 높은 Feature만 사용하여 모델을 생성한다는 것은 모든 차원을 사용하지 않고 차원은 축소해 설명력이 높은 모델을 생성한다는 의미 이기도 합니다.

 

차원 축소를 하는 이유는 설명력 높은 모델을 생성하기 위함이라는 것이죠.

2. 차원 축소 방법

 통계, 기계 학습 및 정보 이론에서 차원 축소 또는 차원 축소는 주요 변수 세트를 가져 와서 고려중인 임의의 변수 수를 줄이는 프로세스입니다. 결론적으로 가지고 있는 데이터에서 사용할 Feature들만 남긴다는 의미도 되겠죠.

 

차원 축소에는 두가지 방법이 있습니다.

 

- 피처 추출 (Feature Extration) : 높은 차원의 raw Feature들을 더 필요한 요소로 추출하는 기법 

- 피처 선택 (Feature Selection) : 모든 Feature들 중 필요한 것들만 선택하는 기법 

 

 피처 추출은 다시 말해서 기존의 Feature 들로 새로운 Feature를 생성하며 Feature를 줄이는 방식이고 피처 선택은 간단하거나 무시할 수 있는 Feature를 사용하지 않는 방식을 말합니다.

 

피처 추출에는 PCA(Principal component analysis), LDA(Linear discriminant analysis), NMF(Non-negativ matrix facotrization) 등이 있고 피처 선택에는 Filtering, Wrapper, Embedded 방식이 있습니다.

 

Filtering : leave out dimenstions that do not help much

Wrapper : use an external heuristic to select dimensions

Embedded : put feature selection into the loss function

 

차원 축소 방법인 PCA, LDA에 대해서는 다음 포스팅으로 정리하겠습니다.

 

 

참고

 

https://www.datasciencecentral.com/m/blogpost?id=6448529:BlogPost:175670

반응형
댓글