203
6
장
머신러닝 문제 디버깅
6.4.3
문제 다시 생각하기
작업이 너무 복잡하기 때문에 모델의 일반화가 어려울 수 있습니다. 예를 들면 사용하고 있는
입력이 타깃을 예측하는 데 유용하지 않을 수 있습니다. 해결할 작업이 현재 머신러닝의 기술
에 맞는 적절한 난이도인지 확인하려면
2
.
2
.
2
절 ‘거인의 어깨 위에 올라서기’를 참고하는 것이
좋습니다. 해당 절에서 현존하는 최상의 머신러닝 모델을 찾아보고 평가하는 방법을 소개했습
니다.
또한 데이터셋을 가지고 있다는 것이 문제를 풀 수 있다는 의미는 아닙니다. 랜덤한 입력에서
랜덤한 출력을 정확히 예측하는 작업은 불가능합니다. 훈련 세트를 외우는 것으로 성능 높은
모델을 만들 수는 있지만, 이 모델이 랜덤한 입력에서 다른 랜덤한 출력을 정확히 예측할 수는
없습니다.
모델이 일반화되지 않는다면 너무 어려운 작업일 수 있습니다. 미래에 등장할 샘플에 유용한
의미 있는 특성을 학습하기에 훈련 샘플에는 충분한 정보가 없을 수 있습니다. 이런 경우라면
머신러닝에 잘 맞는 문제가 아닙니다. 문제를 잘 정의하려면
1
장을 다시 참고하세요.
6.5
마치며
이 장에서 동작하는 모델을 얻기 위해 따라야 할 세 개의 단계를 다루었습니다. 먼저 데이터를
검사하고 테스트를 작성하여 파이프라인의 동작을 디버깅합니다. 그다음 학습할 능력이 있는
지 확인하기 위해 훈련 세트에 잘 동작하는 모델을 얻습니다. 마지막으로 본 적 없는 데이터에
대해 일반화되고 유용한 출력을 만들 수 있는지 확인합니다.
이런 과정이 모델을