교차 검증과 일반화(Cross-validation and generalization)
자료를 k조각으로 나눠 조각마다 한 번씩 시험용으로 떼어 두고 나머지로 맞춘 뒤, 떼어 둔 조각에서의 오차를 평균(mean)해 처음 보는 자료에서의 오차를 어림하는 방법. 모형이나 λ, 차수를 고를 때 쓴다.
점이 20개뿐인 자료에 다항식(polynomial)을 맞추려 합니다. 차수를 몇으로 할까요? 학습 오차는 차수를 올릴수록 줄어들 뿐 늘지 않으니 잣대가 되지 못합니다(과적합(overfitting)). 몇 개를 떼어 두고 나머지로 맞춘 뒤 떼어 둔 점에서 오차를 재면 되지만, 20개에서 5개를 떼면 맞출 자료가 줄고, 어느 5개를 떼느냐에 따라 값이 크게 흔들립니다. k겹 교차 검증(k-fold cross-validation)은 자료를 k조각으로 나누고 조각마다 한 번씩 시험 자료가 되게 합니다. 한 조각을 빼고 나머지로 맞춘 뒤, 뺀 조각에서 오차를 잽니다. 이것을 k번 되풀이해 모든 점의 오차를 평균합니다.
여기서
이 차수의 교차 검증(cross-validation) 오차는
학습 오차가 얼마나 낙관적인지는 정확히 계산할 수 있습니다. x 자리를 고정하고, 모형이 참 함수를 담을 수 있으며, 계수가 p개인 최소제곱(least squares)이라면
입니다. n = 20, p = 4(삼차식)이면 학습 오차는 평균
k = n이면 점을 하나씩 빼는 셈이라 하나 빼기 교차 검증(leave-one-out cross-validation)이라 부릅니다. 최소제곱에서는 n번 다시 맞출 필요가 없습니다. 모든 점으로 한 번 맞춘 잔차
이 공식으로 계산한 지금 차수의 값은
교차 검증이 어림하는 것은 '지금 모형'의 오차가 아니라 '이 방법으로 자료
가장 흔한 잘못은 자료 누설입니다. 자료를 보고 내리는 결정은 모두, 곧 특성 고르기, λ나 차수 정하기, 심지어 평균과 분산으로 크기를 맞추는 일까지, 조각마다 학습용 부분만으로 다시 해야 합니다. 2002년 앙브루아즈와 매클라클런은 유전자 발현 자료에서 전체 자료로 유전자를 먼저 고른 뒤 교차 검증하면 오류율이 실제보다 크게 낮게 나온다는 것(선택 편향, selection bias)을 보였습니다. 같은 환자의 측정이 학습 조각과 시험 조각에 나뉘어 들어가거나, 시계열에서 미래의 자료로 맞춘 모형으로 과거를 예측하는 것도 누설입니다. 모형을 고르는 데 교차 검증을 썼다면 그 값은 고른 모형의 성능으로는 낙관적이므로, 최종 성능은 한 번도 보지 않은 시험 자료나 바깥에 교차 검증을 한 겹 더 두는 중첩 교차 검증(nested cross-validation)으로 잽니다.
시험 자료로 잰 오류율은 얼마나 믿을 만할까요? 시험 자료를 보기 전에 정해 둔 분류기 하나가 있고, 시험 예 m개가 서로 독립으로 뽑혔다면 호에프딩 부등식(Hoeffding's inequality)에 따라 잰 오류율이 참 오류율과 ε보다 더 차이 날 확률(probability)은
이어지는 곳. 정규화의 λ와 서포트 벡터 머신(support vector machine)의 C처럼 학습이 스스로 정하지 못하는 손잡이(초매개변수, hyperparameter)는 대개 교차 검증으로 고릅니다. 서포트 벡터 머신에는 하나 빼기 오류율이 서포트 벡터(support vector)의 비율을 넘지 않는다는 깔끔한 한계도 있습니다. 랜덤 포레스트(random forest)는 나무마다 뽑히지 않은 자료로 오차를 재는 방법(OOB 오차, out-of-bag error)으로 교차 검증을 거의 공짜로 얻습니다. 교차 검증이 재는 오차는 편향–분산 분해의 세 조각을 합한 것이고, 그 어림 자체도 분산을 가진 확률 변수라는 점을 잊지 않아야 합니다.
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 최근접 이웃 분류
… 크면 무리의 모양을 한쪽으로 뭉개는(편향) 이 모습이 편향–분산 분해의 전형적인 예이고, 실제로는 k를교차 검증으로 고릅니다. k에 따른 정확도. 회색은 예로 쓴 점 100개, 청록은 시험용 점 600개로 잰 …
- 과적합
… 봐서는 알 수 없으므로 따로 떼어 둔 데이터로 잽니다. 자료가 적으면 여러 조각으로 나눠 번갈아 떼어 두는교차 검증을 씁니다. 모형을 다 고른 뒤의 최종 성능은 한 번도 들여다보지 않은 시험 데이터로 재야 정직합니다. …
- 다항식
… 너무 높이면 룽게의 그림처럼 곡선이 점 사이에서 크게 출렁이는 과적합이 일어나서, 알맞은 차수는 흔히교차 검증으로 고릅니다. 어느 경우든 계수를 구하는 일은 연립일차방정식을 푸는 일입니다. 이어지는 곳. 행렬 …
- 통계학
… 같은 정보의 양으로도 잽니다. 편향–분산 분해는 모형이 복잡할수록 표본마다 크게 흔들린다는 것을,교차 검증은 떼어 둔 자료로 새 자료에서의 오차를 어림하는 법을 다룹니다. 두 분야가 함께 쓰는 도구입니다. 우연을 …
- 기계 학습
… 끝난 뒤 한 번만 들여다보는 시험 데이터입니다. 자료가 적으면 검증 몫을 돌아가며 바꿔 오차를 평균하는교차 검증을 씁니다. 세 가지 학습. 정답이 붙은 예로 배우는 것을 지도 학습 이라 합니다. 답이 스팸/정상처럼 몇 …
- 로지스틱 회귀
… 앞의 층들은 그 회귀가 쓸 특성을 스스로 만들어 냅니다. 특성이 많을 때는 정규화의 세기를교차 검증으로 고릅니다.
- 편향–분산 분해
… 과소적합은 편향이 지나친 상태입니다. 실제로는 f를 모르므로 세 조각을 따로 잴 수 없고, 합만교차 검증으로 어림합니다. 최근접 이웃 회귀에서 이웃 k개의 y를 평균하면 x 자리가 고정일 때 분산이 정확히 …
- 정규화: 릿지와 라소
… 받지 않습니다. 그래서 먼저 특성마다 평균 0, 분산 1로 맞춥니다. 절편에는 벌점을 주지 않습니다. λ는교차 검증으로 고릅니다. 라소의 벌점은 0에서 미분할 수 없지만 여전히 볼록 함수라서, 다른 좌표를 고정하고 한 …
- 결정 트리와 랜덤 포레스트
… 질문이 바뀌고, 그 아래가 통째로 달라집니다. 그래서 깊이나 잎의 최소 크기를 제한하거나, 크게 키운 뒤교차 검증으로 가지를 쳐냅니다. 다른 해법은 흔들리는 나무를 여럿 길러 평균하는 것입니다. 랜덤 포레스트는 나무마다 …
- 서포트 벡터 머신과 커널
… 서포트 벡터라 부릅니다. 서포트 벡터가 아닌 점을 빼고 다시 풀어도 답이 같으므로, 한 점씩 빼 보는교차 검증에서 틀릴 수 있는 점은 서포트 벡터뿐이고, 오류율은 (서포트 벡터 수)/n을 넘지 않습니다. 이제 파란 …
- EM 알고리즘과 가우스 혼합
… 할지는 가능도만으로 정할 수 없어서(성분을 늘리면 자료에 더 바짝 맞출 수 있어 가능도가 커지기만 하므로)교차 검증이나 베이즈 정보 기준(BIC)처럼 복잡도에 벌점을 주는 기준으로 고릅니다.
- 인공지능
… 분해⟧, 모델이 지나치게 복잡해지지 않게 벌점을 주는 정규화, 자료 일부를 떼어 두고 시험하는교차 검증이 이 통계의 질문을 다룹니다. 무엇을 계산할 수 있는가. 기계가 원리적으로 무엇을 계산할 수 있고 …
- 최소 기술 길이
… 모형이 자료가 적은 초반에 엉뚱한 예측으로 값을 치릅니다. 모형을 아직 보지 못한 자료로 평가한다는 점에서교차 검증과 닮은 생각입니다. 이어지는 곳. 다항식의 차수를 고를 때 계수 비트와 잔차 비트가 저울질되는 모습, …
- 굿하트의 법칙
… 보기, 지표를 가끔 바꾸거나 미리 알리지 않기, 고르는 데 쓴 자료와 마지막 평가에 쓰는 자료를 나누기(교차 검증), 원래 상태에서 너무 멀어지지 않게 벌점을 걸기가 그런 예입니다. 기계 학습의 과적합은 학습 …