학습 과정에서 모델은 계수나 분기점 같은 파라미터를 데이터에서 배웁니다. 반면 트리 깊이, 학습률, 정규화 강도 같은 하이퍼파라미터는 미리 정합니다. 어떤 값을 선택하느냐에 따라 모델 성능이 크게 달라지며, 최적의 값을 찾는 과정이 튜닝입니다.
Note
검증 곡선
하이퍼파라미터를 조절하며 성능을 그리면 위 차트처럼 일반적으로 다음과 같은 형태를 보입니다. 모델의 복잡도가 높아질수록 학습 오차는 계속 내려가지만, 검증 오차는 최저점을 지난 뒤 다시 증가합니다. 이 최저점이 최적 지점입니다.
- 복잡도가 너무 낮으면 → 과소적합, 학습·검증 오차 모두 높음
- 복잡도가 너무 높으면 → 과적합, 학습 오차는 낮지만 검증 오차는 증가
- 최적 하이퍼파라미터는 검증 오차가 가장 낮은 지점
그리드 vs 랜덤 탐색
| 방법 | 탐색 방식 |
|---|---|
| 그리드 탐색 | 정의된 격자의 모든 조합을 확인, 철저하지만 비쌈 |
| 랜덤 탐색 | 범위에서 무작위 표집, 좋은 값을 더 빨리 찾음 |
| 베이지안 / 스마트 탐색 | 과거 결과로 다음 시도를 집중 |
동일한 계산 자원에서는 랜덤 탐색이 더 효율적인 경우가 많습니다. 실제 성능에 영향을 주는 하이퍼파라미터는 일부에 불과하고, 무작위 표집이 그 값들을 더 효율적으로 탐색하기 때문입니다.
테스트 세트로 튜닝하지 마세요
시도하고 평가하는 모든 하이퍼파라미터는 검증 데이터의 정보를 간접적으로 활용하게 됩니다. 이 과정을 충분히 반복하면 검증 세트 자체에 과적합되어, 튜닝 결과는 훌륭해 보이지만 실제 새로운 데이터에서는 성능이 크게 떨어질 수 있습니다.
Watch out
SKARI Model Lab의 튜닝
Model Lab은 합리적인 기본값을 제공하고 핵심 하이퍼파라미터를 교차검증 기반으로 탐색해 조정합니다. 덕분에 직접 Grid Search를 구현하지 않아도 테스트 세트 누수 없이 최적화된 모델을 얻을 수 있습니다.
- 내장된 교차검증 기반 하이퍼파라미터 탐색
- 처음부터 직접 설정하지 않아도 되는 합리적인 기본값
- 튜닝과 분리된 별도의 최종 테스트 성능
Takeaway
자주 묻는 질문
그리드와 랜덤 탐색 중?
대부분 랜덤 탐색이 좋습니다. 좋은 성능의 하이퍼파라미터를 더 빠르게 찾을 가능성이 높기 때문입니다. 그리드는 옵션이 적고 잘 알려진 경우에만 쓰세요.
어떤 하이퍼파라미터가 가장 중요한가요?
대개 일부뿐입니다. 부스팅은 학습률과 깊이, 선형 모델은 정규화 강도가 중요합니다. 이런 하이퍼파라미터를 우선적으로 조정하는 것이 효과적입니다.
튜닝 과적합은 어떻게 피하나요?
교차검증으로 평가하고, 최종 성능 평가를 위해 학습에 사용하지 않은 별도의 테스트 세트를 남겨두세요.
결론
튜닝은 일반화 성능이 가장 좋은 하이퍼파라미터, 곧 검증 곡선의 최저점을 찾는 것입니다. 효율적으로 탐색하고, 교차검증으로 평가하고, 최종 테스트 세트를 보호하면, 최종 모델의 성능을 신뢰할 수 있습니다.
Takeaway
교차검증
튜닝이 활용하는 성능 평가 루프
과적합과 정규화
검증 곡선이 드러내는 것
그래디언트 부스팅 & XGBoost
튜닝이 가장 크게 보답하는 모델