머신러닝에서의 좋은 데이터와 나쁜 데이터란?
우리가 목표하는 바는 알고리즘을 통해 어떤 데이터에 훈련시키는 것으므로 문제가 될 수 있는 것은 '데이터' 입니다.
데이터가 올바르지 못하면 원하는 결과를 얻을 수 없을 것입니다. 따라서, 머신러닝에서의 나쁜 데이터 예제 4가지를 살펴보도록 하겠습니다.
1. 충분하지 않은 양의 훈련 데이터
대부분의 머신러닝 알고리즘이 잘 작동하기 위해서는 데이터가 많아야 합니다.
아주 간단한 문제에서조차도 수천 개의 데이터가 필요하고 이미지나 음성 인식 같은 복잡한 문제의 경우 수백만 개가 필요할 수 있습니다.
2. 대표성 없는 훈련 데이터
일반화가 잘되기 위해서는 우리가 일반화하기 원하는 새로운 사례를 훈련 데이터가 잘 대표하는 것이 중요합니다.
앞서 실습한 선형 모델을 훈련시키기 위해 사용한 나라의 집합에는 일부 나라가 빠져 있어 대표성을 가질 수 없습니다.
앞서 실습한 예제의 데이터(Fig. 1)에서는 38개의 나라만 사용되었음을 확인할 수 있습니다.
누락된 나라를 추가하면 모델이 크게 변경될 뿐만 아니라, 간단한 선형 모델은 적용되지 않습니다.
< Fig. 1. 대표성을 가지지 못하는 데이터 예시 >
대표성을 가지는 데이터를 사용하는 것이 가장 좋지만, 결코 쉬운일은 아닙니다.
3. 낮은 품질의 데이터
훈련 데이터가 에러, 이상치, 잡음으로 가득하다면 머신러닝 시스템이 내재되어 있는 패턴을 찾기 어려울 수 있습니다.
따라서, 데이터 전처리에 신경을 곤두세울 필요가 있습니다.
4. 관련 없는 특성
훈련 데이터에 관련 없는 특성이 적고 관련 있는 특성이 충분해야 학습을 진행할 수 있습니다.
훈련에 사용할 좋은 특성들을 찾아야 하며, 이를 특성 공학(Feature Engineering)이라고 합니다.
특성 공학은 다음과 같은 작업을 포함합니다.
- 특성 선택 (Feature Selection) : 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택합니다.
- 특성 추출 (Feature Extraction) : 특성을 결합하여 더 유용한 특성을 만듭니다.
- 새로운 데이터를 수집하여 새로운 특성을 만듭니다.
References
- 오렐리앙 제롱, '핸즈온 머신러닝', 한빛미디어, 2018
- 우연에 의한 대표성 없는 데이터, Outlier [본문으로]
'Machine Learning > Basic Theory' 카테고리의 다른 글
[ML] 머신러닝을 위한 데이터 가져오기 (2) | 2018.08.31 |
---|---|
[ML] 좋은 알고리즘과 나쁜 알고리즘 (과소적합, 과대적합) (1) | 2018.08.14 |
[ML] 머신러닝 시스템의 종류 (3) - 사례 기반 학습과 모델 기반 학습 (0) | 2018.08.14 |
[ML] 머신러닝 시스템의 종류 (2) - 배치 학습, 온라인 학습 (0) | 2018.07.23 |
[ML] 머신러닝 시스템의 종류 (1) - 지도학습, 비지도학습, 준지도 학습, 강화학습 (0) | 2018.07.23 |