더북(TheBook)

5.5.3 반복적 훈련-테스트 분리

훈련-테스트 분리를 약간 꼬아서 쓸 수도 있습니다. 무작위 동전 던지기를 해서 훈련-테스트 분리를 여러 번 하는 것입니다. 왜 분리를 여러 번 실행할까요? 무작위성에 의존하면 분산에 취약해집니다. 여러 개의 훈련-테스트 분리는 저마다 다른 결과로 이어질 수 있습니다. 이 중 일부는 좋은 결과를 낼 수도 있지만, 나머지는 처참한 성적을 거둘 수도 있지요. 복권을 사면 대부분 결과는 꽝입니다. 어떤 결과가 나올지 미리 알 수 있는 방법은 없습니다. 다행스럽게도 알 수 없는 무작위성에 사용할 수 있는 도구가 있습니다. 무작위한 행위를 많이 반복하고 그 결과를 살펴보는 것입니다.

훈련-테스트 분리를 할 때는 보통 성능을 미리 알 수 없습니다. 우리가 다룰 문제는 너무 어렵거나 반대로 너무 쉬울 수 있습니다. 또 훈련-테스트 분리로 학습한 모델들이 대체로 좋은 성능을 보일 수도 있고, 테스트 성능이 매우 나쁠 수도 있지요. 훈련-테스트 세트를 많이 만들어서 실험해 보면 훈련-테스트 분리를 한 분산을 살펴볼 수 있습니다. 무작위로 여러 번 훈련-테스트 분리를 한 결과를 평가하는 것입니다. 더 기술적인 결과를 원한다면 결과의 통계량인 평균, 중앙값, 분산까지도 계산할 수 있지요. 하지만 저는 통계량으로 데이터를 요약하기 전에 한번 쓱 살펴보는 것을 선호합니다.

여러 번의 훈련-테스트 분리를 하면 추정 값 분포를 만들 수 있습니다. 학생들 키를 그래프로 그리면 키의 분포를 얻을 수 있는 것처럼 반복적 훈련-테스트 분리를 하면 평가 측정값의 분포를 얻을 수 있습니다. 정확도나 평균 오차제곱근의 분포를 그릴 수 있게 되는 것입니다. 하지만 모든 것을 분포로 표현할 수는 없습니다. 분포는 무작위성으로 인한 차이, 즉 훈련과 테스트 데이터를 어떻게 골랐는지에 관한 하나의 단면을 보여 줄 뿐입니다. 훈련-테스트 분리의 무작위성으로 결과가 어떻게 달라지는지 알아보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.