🧠 Optuna란?
Optuna는 자동 하이퍼파라미터 튜닝을 위한 오픈소스 라이브러리입니다.
예를 들어…
모델을 학습할 때 이런 하이퍼파라미터들이 있어요:
학습률 (lr)
은닉층 크기 (n_hid)
드롭아웃 비율 (dropout)
에폭 수 (n_epochs)
weight decay 등등
이걸 사람이 손으로 하나씩 실험하는 건 너무 오래 걸리고 비효율적이죠.
🔧 그래서 Optuna는 이런 일을 자동화해 줍니다:
- 시도할 파라미터 조합을 스마트하게 선택
- 성능(AUC 등) 을 기준으로 가장 좋은 조합을 찾음
- 내부적으로는 Bayesian optimization 기반 알고리즘 사용
즉, Optuna는:
"최고의 모델을 만들기 위해 하이퍼파라미터를 똑똑하게 조합해서 실험하는 자동화된 연구원"
🔁 과정 자세히 설명
- Optuna가 하이퍼파라미터 조합 A를 하나 제안합니다.
- 그 조합 A를 가지고 10개의 inner fold에서 학습 & 평가합니다.
- 그 10개 평가 결과의 평균 AUC를 "조합 A의 성능"으로 간주합니다.
- 이걸 30번 반복해서 조합 A, B, C, ..., Z를 실험합니다.
- 평균 AUC가 가장 높은 파라미터 조합 하나가 선택됩니다. ← 이게 최종 best param!
Trial 1 (lr=1e-3, dropout=0.3, ...) → Inner CV 평균 AUC = 0.84
Trial 2 (lr=5e-3, dropout=0.5, ...) → Inner CV 평균 AUC = 0.79
...
Trial 30 (...) → 평균 AUC = 0.88 ✅
→ 이 Trial의 파라미터가 최종 선택됨
'AI 및 Data Analysis > Deep Learning' 카테고리의 다른 글
[Asymmetric Attributes] Concepts (0) | 2025.04.18 |
---|---|
[Law of Large Numbers] Key Concepts (0) | 2025.04.17 |
[Tuning Hyperparameters] Concept (0) | 2025.04.16 |
[Weight Initialization] Concept (0) | 2025.04.16 |
[StratifiedKFold] Key Concepts and Descriptions (0) | 2025.03.27 |