수학 개념 지도
데이터와 학습(Data and learning)

과적합(Overfitting)

학습 데이터⁠(training set)⁠에는 꼭 맞지만 새 데이터에는 틀리는 현상. 모형이 잡음까지 외워 버린 것으로, 따로 떼어 둔 검증 데이터⁠(validation set)⁠와 규제로 막는다.

min⁡c⃗  ∑i(yi−pc⃗(xi))2+λ∥c⃗∥2\min_{\vec c}\; \sum_{i}\bigl(y_i - p_{\vec c}(x_i)\bigr)^2 + \lambda \lVert \vec c \rVert^2

흰검은 점 12개는 곡선 y=sin⁡3xy = \sin 3x(흐린 점선)에 잡음을 섞어 뽑은 학습 데이터입니다. 이 점들에 최소제곱⁠(least squares)⁠으로 d = 차 다항식⁠(polynomial)⁠을 맞춥니다(노란 곡선). 청록 작은 점 30개는 같은 방법으로 따로 뽑아 두고 맞추는 데에는 쓰지 않은 검증 데이터입니다. 학습에 쓰지 않은 새 데이터에서도 잘 맞는지(일반화)가 기계 학습⁠(machine learning)⁠이 정말로 바라는 것이고, 검증 데이터는 그것을 재는 잣대입니다. 새 표본

노란 곡선은 흰검은 점만 보고 맞춘 다항식입니다. 청록 점은 곡선이 처음 보는 데이터입니다.

학습 오차(오차 제곱 평균⁠(mean)⁠의 제곱근)는 , 검증 오차는 입니다. d를 0부터 올려 보세요. 처음에는 대개 둘 다 줄어듭니다. 상수나 직선은 너무 단순해서 곡선의 모양을 따라가지 못합니다(과소적합⁠, underfitting⁠). d가 커질수록 학습 오차는 줄기만 하고(차수를 올려도 높은 차수의 계수를 0으로 두면 이전 곡선을 그대로 쓸 수 있으니 늘 수는 없습니다), d = 11에서는 0이 됩니다. 계수 12개짜리 다항식으로 12개 점을 정확히 지나는 것은 미지수 12개, 식 12개인 연립일차방정식⁠(system of linear equations)⁠이고, 점들의 x값이 모두 다르면 답이 꼭 하나 있기 때문입니다. 그러나 그 곡선은 점 사이에서 크게 출렁이고 양 끝에서 치솟아, 검증 오차는 오히려 커집니다. 잡음까지 외운 것, 곧 과적합입니다.

차수에 따른 오차. 회색은 학습 오차, 청록은 검증 오차입니다. 검증 오차가 그림 위로 벗어나기도 합니다.

검증 오차는 대개 U자를 그립니다. 흔히 학습 오차가 0이면 가장 좋은 모형이라고 생각하지만, 이 그림에서도 학습 오차가 0인 d = 11의 검증 오차는 대개 낮은 차수보다 훨씬 큽니다. 모형이 단순하면 표본⁠(sample)⁠을 아무리 바꿔도 같은 쪽으로 틀리고(편향), 복잡하면 표본이 바뀔 때마다 답이 크게 흔들립니다(분산⁠(variance)⁠). '새 표본'을 여러 번 눌러 보면 d가 큰 곡선일수록 모양이 크게 바뀝니다. 가장 좋은 복잡도는 이 둘의 절충이고(편향–분산 분해⁠, bias–variance decomposition⁠), 학습 데이터만 봐서는 알 수 없으므로 따로 떼어 둔 데이터로 잽니다. 자료가 적으면 여러 조각으로 나눠 번갈아 떼어 두는 교차 검증⁠(cross-validation)⁠을 씁니다. 모형을 다 고른 뒤의 최종 성능은 한 번도 들여다보지 않은 시험 데이터⁠(test set)⁠로 재야 정직합니다.

차수를 줄이는 대신 계수가 커지는 것에 벌점을 줄 수도 있습니다. 오차 제곱합에 λ × (계수 제곱합)을 더한 값을 줄이는 릿지 회귀⁠(ridge regression)⁠입니다. log⁡10λ=\log_{10}\lambda = (λ = , 계수의 크기 ). d = 11로 둔 채 λ를 키우면 출렁임이 가라앉고 검증 오차가 내려갑니다. 너무 키우면 곡선이 납작해져 다시 과소적합입니다. 신경망⁠(neural network)⁠에서는 같은 벌점을 가중치 감쇠라 부르고, 검증 오차가 오르기 시작할 때 경사 하강법⁠(gradient descent)⁠을 멈추는 조기 종료⁠(early stopping)⁠, 학습 중 단위를 무작위로 끄는 드롭아웃⁠(dropout)⁠도 씁니다.

과적합은 여러 모습으로 나타납니다. 최근접 이웃 분류⁠(k-nearest neighbors classification)⁠에서 k = 1이면 예로 쓴 점은 모두 맞히지만 새 점에서는 못합니다. n-그램⁠(n-gram)⁠ 언어 모델⁠(language model)⁠에서 n을 키우면 학습 문장은 통째로 외우지만 새 문장은 처음 보는 조합투성이가 됩니다. 특성의 수가 자료의 수에 가까워지면 우연히 맞아떨어지는 규칙을 찾기 쉬워지는데, 이것도 차원의 저주⁠(curse of dimensionality)⁠의 한 얼굴입니다.

이어지는 곳. '같은 것을 설명한다면 더 단순한 설명을 고르라'는 원칙을 14세기 영국의 철학자 오컴의 윌리엄의 이름을 따 오컴의 면도날⁠(Occam's razor)⁠이라 합니다. 이 원칙은 콜모고로프 복잡도(데이터를 출력하는 가장 짧은 프로그램의 길이)와 최소 기술 길이⁠(minimum description length)⁠ 원리로 수학이 됩니다. 최소 기술 길이 원리는 '모형을 적는 길이 + 그 모형으로 데이터를 적는 길이'가 가장 짧은 모형을 고르라는 것입니다. 무작위 잡음은 규칙이 없어서 거의 언제나 어떤 모형으로도 줄여 적을 수 없으므로, 잡음까지 담은 복잡한 모형은 모형 자체가 길어질 뿐 전체 길이를 줄이지 못합니다. 검증 오차는 표본 평균이라 큰 수의 법칙⁠(law of large numbers)⁠에 따라 검증 데이터가 많을수록 믿을 만하지만, 같은 검증 데이터로 모형을 너무 여러 번 고르면 검증 데이터에도 과적합합니다. 한편 매개변수⁠(parameter)⁠가 자료보다 훨씬 많은 신경망이 의외로 잘 일반화하는 현상은 아직 활발히 연구되고 있습니다. 그 가운데 하나가 이중 하강입니다. 매개변수를 늘리면 검증 오차가 위의 U자처럼 올라가 매개변수 수가 자료 수와 비슷할 때 가장 나빠졌다가, 그보다 더 늘리면 다시 내려가는 현상이 여러 모형에서 관찰됩니다.

이 개념이 나오는 큰 생각근사와 오차가장 좋은 것 고르기

이 개념이 나오는 긴 글

최소제곱과 선형대수 잃어버린 소행성 1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도를 되찾았다. 정보 이론과 압축 짧게 보내기 모스 부호는 왜 E를 점 하나로 보낼까? 섀넌의 엔트로피가 정한 압축의 한계와, 허프만 부호에서 JPEG까지 그 한계에 다가간 방법들. 신경망과 기계 학습 배우는 기계 예를 보여 주면 규칙을 스스로 찾는 기계. 1958년의 퍼셉트론에서 오늘의 심층 신경망까지, 그 밑바닥에는 미분과 연쇄법칙이 있다. 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 역문제 거꾸로 푸는 문제는 왜 어려운가 원인에서 결과를 계산하기는 쉽다. 흐린 사진, CT, 블랙홀 사진은 왜 결과에서 원인을 되찾기 어려웠을까? 작은 특잇값이 잡음을 키우는 벽과, 정규화·릿지 회귀·베이즈 사전확률이 사실은 같은 처방이라는 이야기. 측정의 수학 재는 순간 바뀐다 해안선의 길이는 자에 따라, 평균은 누구에게 묻느냐에 따라, 지표는 목표가 되는 순간 달라진다. 리처드슨의 국경과 프랙털 차원, 스티븐스의 척도, 버스 정류장과 타율의 역설, 스피어먼의 요인, 굿하트의 법칙과 보상 해킹을 한 줄로 꿴다. 압축과 과학 압축하는 것이 이해하는 것이다 튀코 브라헤가 20년 동안 적은 행성의 위치를 케플러는 법칙 세 줄로 줄였다. 짧게 적는 일과 이해하는 일은 정말 같은 일일까? 오컴의 면도날을 비트로 재는 법, 과적합을 압축의 실패로 읽는 법, 그리고 그 말이 정리인 곳과 철학인 곳.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념