경사하강법과 최적화: 모델의 지능을 결정하는 한 끗 차이
모델을 만드는 것보다 중요한 것은 모델을 '최적화(Optimization)'하는 것이다. 오늘은 모델이 스스로 답을 찾는 원리인 경사하강법과, 그 과정을 더 똑똑하게 만드는 하이퍼파라미터 튜닝 기법들을 정리해 본다.
1. 모델의 부품과 환경 설정 (Parameter vs Hyperparameter)
본격적인 최적화에 앞서, 우리가 건드리는 두 가지 '값'의 차이를 명확히 해야 한다.
- 파라미터 (Parameter): 모델 내부에 존재하며 데이터에 의해 스스로 학습되는 값. (예: 선형 회귀의 가중치 w와 절편 b)
- 하이퍼파라미터 (Hyperparameter): 모델이 잘 학습할 수 있도록 사람이 밖에서 설정해주는 값. (예: 학습률, KNN의 k값, 훈련 횟수 등)
2. 하이퍼파라미터 튜닝의 진화: 베이지안 최적화
하이퍼파라미터를 수동으로 설정하면 시간도 오래 걸리고 오류가 날 확률이 높다. 이를 해결하기 위한 전략들이 있다.
- Grid Search (격자 탐색): 모든 조합을 다 시도해본다. 무조건 정답을 찾지만, 시간이 너무 오래 걸려 비효율적이다.
- Random Search (랜덤 탐색): 말 그대로 랜덤하게 시도한다. 운이 좋으면 빨리 찾지만, 체계적이지 않다.
- Bayesian Optimization (베이지안 최적화): 가장 똑똑한 방식. 과거에 시도했던 결과들을 바탕으로 "어느 지점이 더 좋을 것 같은지" 확률적으로 계산해서 다음 지점을 찾아간다.
💡 베이지안 최적화의 핵심 메커니즘
- 확률적 대리 모델: 지금까지의 데이터를 바탕으로 "아마 여기가 최적일 거야"라고 사전 확률을 계산하는 가상의 모델.
- 획득 함수 (Acquisition Function): 다음번에 어디를 탐색할지 결정하는 함수. 여기에는 두 가지 전략이 공존한다.
- 탐험 (Exploration): "아직 안 가본 곳에 의외의 꿀맛 맛집(최적값)이 있을지 몰라!" 새로운 곳을 찔러보는 전략.
- 활용 (Exploitation): "지금까지 가본 곳 중 여기가 제일 맛있었어. 이 주변을 더 파보자!" 성능이 좋았던 근처를 파는 전략.
- 이 두 전략을 적절히 섞어 최소한의 시도로 최적의 하이퍼파라미터를 찾는다. (관련 라이브러리: Hyperopt, Optuna 등)
✍️ 공부를 마치며
오늘 포스팅에서는 단순히 오차를 줄이는 경사하강법을 넘어, 그 과정을 자동화하는 베이지안 최적화을 다뤘다. 모델의 성능은 알고리즘 그 자체보다, 하이퍼파라미터를 얼마나 똑똑하게 찾고 데이터를 얼마나 정교하게 만졌느냐에서 결정된다는 것을 잊지 말자.
'AI > Machine Learning' 카테고리의 다른 글
| 평가지표와 통계적 판단 (0) | 2025.06.22 |
|---|---|
| 전처리와 분석 (0) | 2025.06.21 |
| 지도학습 Ⅱ (분류) (0) | 2025.06.19 |
| 지도학습 Ⅰ (회귀) (0) | 2025.06.19 |
| 머신러닝 시작 (0) | 2025.06.17 |