머신러닝에서의 좋은 데이터와 나쁜 데이터란?

우리가 목표하는 바는 알고리즘을 통해 어떤 데이터에 훈련시키는 것으므로 문제가 될 수 있는 것은 '데이터' 입니다.
데이터가 올바르지 못하면 원하는 결과를 얻을 수 없을 것입니다. 따라서, 머신러닝에서의 나쁜 데이터 예제 4가지를 살펴보도록 하겠습니다.


1. 충분하지 않은 양의 훈련 데이터

대부분의 머신러닝 알고리즘이 잘 작동하기 위해서는 데이터가 많아야 합니다. 
아주 간단한 문제에서조차도 수천 개의 데이터가 필요하고 이미지나 음성 인식 같은 복잡한 문제의 경우 수백만 개가 필요할 수 있습니다.


2. 대표성 없는 훈련 데이터

일반화가 잘되기 위해서는 우리가 일반화하기 원하는 새로운 사례를 훈련 데이터가 잘 대표하는 것이 중요합니다.
앞서 실습한 선형 모델을 훈련시키기 위해 사용한 나라의 집합에는 일부 나라가 빠져 있어 대표성을 가질 수 없습니다.
앞서 실습한 예제의 데이터(Fig. 1)에서는 38개의 나라만 사용되었음을 확인할 수 있습니다.
누락된 나라를 추가하면 모델이 크게 변경될 뿐만 아니라, 간단한 선형 모델은 적용되지 않습니다.

< Fig. 1. 대표성을 가지지 못하는 데이터 예시 >


대표성을 가지는 데이터를 사용하는 것이 가장 좋지만, 결코 쉬운일은 아닙니다.
샘플이 작으면 샘플링 잡음(Sampling Noise)[각주:1]이 생기고, 표본 추출 방법이 잘못되면 대표성을 띄지 못할 수 있습니다. 이를 샘플링 편향(Sampling Bias)이라고 합니다.


3. 낮은 품질의 데이터

훈련 데이터가 에러, 이상치, 잡음으로 가득하다면 머신러닝 시스템이 내재되어 있는 패턴을 찾기 어려울 수 있습니다.
따라서, 데이터 전처리에 신경을 곤두세울 필요가 있습니다.


4. 관련 없는 특성

훈련 데이터에 관련 없는 특성이 적고 관련 있는 특성이 충분해야 학습을 진행할 수 있습니다.
훈련에 사용할 좋은 특성들을 찾아야 하며, 이를 특성 공학(Feature Engineering)이라고 합니다.
특성 공학은 다음과 같은 작업을 포함합니다.

  • 특성 선택 (Feature Selection) : 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택합니다.
  • 특성 추출 (Feature Extraction) : 특성을 결합하여 더 유용한 특성을 만듭니다.
  • 새로운 데이터를 수집하여 새로운 특성을 만듭니다.



References

  • 오렐리앙 제롱, '핸즈온 머신러닝', 한빛미디어, 2018


  1. 우연에 의한 대표성 없는 데이터, Outlier [본문으로]

+ Recent posts