더북(TheBook)

5.5.1 교차 검증

다수의 데이터셋을 어떻게 생성할 수 있을까요? 이에 대한 머신 러닝 커뮤니티의 기본적인 답은 교차 검증(cross-validation)입니다. 교차 검증은 카드 게임과 같습니다. 3명의 플레이어에게 카드를 나누어 줍니다. 게임을 한 판 플레이하고 나면 각자 오른쪽에 앉은 플레이어에게 카드를 넘깁니다. 플레이어들이 세 가지 카드 세트를 모두 플레이할 때까지 이 과정을 반복합니다. 전반적인 점수를 계산하기 위해 우리가 플레이한 라운드 점수를 종합합니다. 보통 평균을 사용하지요.

구체적인 사례를 들어 보겠습니다. 교차 검증을 사용할 때는 폴드(fold) 개수를 정해야 합니다. 이는 카드 게임에서 플레이어 수와 같습니다. 세 개의 폴드, 즉 3명의 플레이어로는 총 세 번 카드 게임을 하게 됩니다. 3-폴드 교차 검증에서는 타깃 정보가 담긴 전체 데이터셋을 섞은 후 그림 5-5와 같이 로마 숫자로 표기된 Bi, BII, BIII가 달려 있는 세 가지 버킷에 최대한 데이터를 공평하게 무작위로 할당합니다.

▲ 그림 5-5 교차 검증을 하여 각 버킷으로 데이터를 거의 균등하게 배분

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