너무 단순해도 너무 복잡해도 실패해
과소적합은 모델이 학습 자료의 구조조차 충분히 잡지 못하는 상태야. 학습 오차와 검증 오차가 둘 다 높고 서로 비슷하게 나타나. 유용한 특성이나 상호작용을 추가하고, 모델 용량을 늘리거나 표현을 바꿔야 해. 과적합은 학습 자료의 우연과 잡음까지 외운 상태야. 학습 오차는 낮지만 검증 오차가 훨씬 높아지지.
학습·검증 곡선으로 구분해
모델 하나의 점수만 보고 실패 원인을 추측하지 마. 자료 양을 늘리며 학습과 검증 오차를 그리면 둘이 높은 곳에서 만나는지, 큰 간격을 유지하는지 보여. 과소적합에 규제를 더하면 더 나빠질 수 있고 과적합에 특성만 늘리면 간격이 커질 수 있어. 진단이 처방보다 먼저야.
규제는 큰 계수에 가격을 매겨
선형 모델은 학습 오차뿐 아니라 계수 크기에도 벌점을 주어 지나친 반응을 억제할 수 있어. 자료가 조금 바뀌었을 때 계수가 뒤집히는 현상을 줄이고, 서로 연관된 많은 특성 사이에서 더 안정적인 해를 고르게 하지. 규제 강도 α가 커질수록 계수는 0 쪽으로 더 줄어들지만 지나치면 실제 신호까지 눌러 과소적합이 돼.
Ridge, Lasso, Elastic Net
Ridge의 L2 벌점은 모든 계수를 부드럽게 줄이되 대개 정확히 0으로 만들진 않아. 연관된 특성들이 함께 조금씩 기여하게 하는 경향이 있어 예측 기준선으로 안정적이야. Lasso의 L1 벌점은 일부 계수를 정확히 0으로 만들어 희소한 모델과 특성 선택 효과를 줘. 다만 강하게 연관된 특성 중 하나를 임의로 고를 수 있어. Elastic Net은 두 벌점을 섞어 고차원 표 자료에서 두 성질의 균형을 잡아.
스케일을 맞추지 않으면 벌점이 불공평해
한 특성은 원 단위, 다른 특성은 비율 단위라면 같은 효과를 표현하는 계수 크기가 달라. 규제는 계수 숫자에 벌점을 주므로 수치 특성의 스케일을 먼저 맞춰야 해. 스케일러와 모델을 같은 파이프라인에 넣고 각 교차검증 폴드의 학습 부분에서만 스케일러를 맞춰 누출을 막아.
α는 교차검증으로 고르고 흔들림도 봐
RidgeCV, LassoCV, ElasticNetCV는 여러 α를 교차검증해 고를 수 있어. 로그 간격의 넓은 후보에서 시작하고, α에 따른 평균 점수와 폴드 간 표준편차를 함께 그려. 최고점 하나에 집착하기보다 비슷한 성능을 내는 안정 구간에서 더 단순한 값을 고르는 편이 좋아. 최적값이 후보 범위 끝에 붙었다면 탐색 범위를 넓혀야 하고.
선택한 모델을 독립 시험 자료에서 확인해
α와 모델 종류를 검증 자료로 모두 고른 뒤에만 얼려 둔 시험 자료를 열어. 성능뿐 아니라 0이 아닌 계수 수, 계수 부호의 안정성, 제공 시간도 비교해. 규제는 마법 같은 성능 향상 장치가 아니라 자료에 없는 확신을 줄이는 편향 선택이야.