더북(TheBook)

3.3 학습과 테스트: 시험만을 위해 강의하지 말자

어떻게 데이터를 사용해야 할지에 대해 잠깐 주의를 돌려 봅시다. 여러분이 수업을 듣고 있다고 상상해 봅시다(그림 3-2). 상상력을 조금 더해서 여러분이 머신 러닝을 공부하고 있다 합시다. 우리가 수업에서 어떤 것을 배울 때 좋은 성적을 받는 것을 넘어서, 배운 것을 실생활에 적용해 보고 싶을 것입니다. 성적은 학습한 것을 실제로 어떻게 잘 사용할지를 가늠하는 척도일 뿐이에요. 네, 여러분 표정이 좋지 않아 보이는군요. 뭐, 성적은 사실 우리 진짜 실력을 잘 추정하지 못할 수도 있죠. 여기에서는 성적이 실력을 나타낸다고 가정하겠습니다. 그러면 우리는 사회에서 성공하고 학자금 상환을 하기 위해 좋은 성적을 받으려고 열심히 노력할 것입니다.

다시 교실 풍경으로 돌아가 봅시다. 학생들을 평가하는 가장 보편적인 방법은 그들에게 수업을 하고 그 내용으로 시험을 보는 것입니다. 여러분은 아마 ‘시험을 위한 강의’를 들어 보았을 것입니다. 보통 좋지 않은 의미로 사용되죠. 왜 그럴까요? 시험을 잘 보게 하려고 가르친다면 학생들은 시험을 잘 치르기만 할 뿐, 그들이 한 번도 보지 못한 또 다른 새로운 문제는 잘 풀 수 없게 됩니다. 학생들은 시험에 나오는 특정한 문제의 해답은 알지만, 새로운 문제를 풀기 위한 일반적인 지식과 기술은 학습하지 못하는 것이죠. 자, 다시 목표를 떠올려 봅시다. 우리는 배운 내용을 실제 환경에서 잘 사용하는 것을 목표로 합니다. 머신 러닝 시나리오에서 한 번도 보지 못한 사례들을 잘 처리하길 기대합니다. 새로운 사례에 대한 모델 성능을 일반화(generalization)라고 합니다. 이미 본 적 있는 데이터에 대해 테스트를 수행한다면, 새로운 데이터 능력을 과대평가하게 됩니다.

▲ 그림 3-2 학업: 훈련, 테스트 그리고 평가

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