# 하이퍼 파라미터 튜닝
- 머신러닝 모델의 성능을 최적화하기 위해 모델에 사용되는 하이퍼 파라미터들의 최적값을 찾는 과정
- 하이퍼 파라미터: 모델의 학습 과정에 영향을 주는 매개변수로, 사용자가 직접 설정해야 하는 값
- 하이퍼 파라미터 튜닝을 통해 모델의 일반화 성능을 향상시키고, 과적합을 방지할 수 있다.
# Grid Search
- 가능한 모든 하이퍼 파라미터 조합을 시도하여 최적의 조합을 찾는 방법
- 탐색할 하이퍼 파라미터의 범위를 먼저 정의하고, 그 범위에서 가능한 모든 조합을 조사한다.
- 각 조합에 대해 교차 검증을 수행하여 모델의 성능을 평가하고, 최적의 조합을 선택한다.
- 간단하고 직관적이지만, 탐색 공간이 커질수록 계산 비용이 많이 들 수 있다.
# Random Search
- 가능한 하이퍼 파라미터 조합을 무작위로 선택하여 평가하는 방법
- Grid search보다 계산 비용이 적게 들며, 대개 더 나은 성능을 보인다.
- 하이퍼 파라미터의 공간을 더 효과적으로 탐색할 수 있다.
# Bayesian Optimization
- 하이퍼 파라미터 탐색을 확률적 모델로 모델링하여 탐색 공간을 효율적으로 탐색하는 방법
- 이전 반복에서 얻은 정보를 사용하여 다음에 시도할 하이퍼 파라미터 조합을 선택한다.
- 계산 비용이 적게 들며, 더 나은 성능을 보인다.
# 자동화된 하이퍼 파라미터 튜닝 도구
- 여러 라이브러리 및 서비스에서는 하이퍼 파라미터 튜닝을 자동화하는 도구를 제공한다.
- 최적의 하이퍼 파라미터를 탐색하는 프로세스를 자동화하고 최적의 모델을 얻을 수 있다.
- Hyperopt
- 머신러닝 모델의 하이퍼파라미터를 최적화하기 위한 파이썬 라이브러리
- Tree of Parzen Estimators(TPE)와 같은 알고리즘을 사용하여 하이퍼파라미터 공간을 효율적으로 탐색한다.
- Grid search와 Random search뿐만 아니라 Bayesian optimization과 같은 고급 알고리즘도 지원한다.
- 유연성과 사용 편의성을 갖는다.
- Optuna
- 머신러닝 하이퍼파라미터 최적화를 위한 파이썬 라이브러리
- Bayesian optimization, Tree of Parzen Estimators(TPE), Sequential model-based optimization(SMBO)와 같은 기법을 사용하여 하이퍼파라미터 검색을 자동화한다.
- 검색 공간, 목적 함수, 최적화 전략을 정의하는 간단하고 직관적인 인터페이스를 제공한다.
- 작은 규모부터 대규모 하이퍼파라미터 최적화 작업까지 확장 가능하도록 설계되어 있다.
- Ray Tune
- Ray 분산 컴퓨팅 프레임워크를 기반으로 한 하이퍼파라미터 튜닝 라이브러리
- 다수의 기계나 클러스터에서 하이퍼파라미터 탐색 프로세스를 병렬화할 수 있는 확장 가능하고 분산형 플랫폼을 제공한다.
- Grid search, Random search, Bayesian optimization, Population based training(PBT)과 같은 다양한 탐색 알고리즘을 지원한다.
- Ray Actor와 Ray 분산 훈련과 같은 다른 Ray 구성요소와 원활하게 통합되어 전체적인 머신러닝 파이프라인을 구축할 수 있다.
728x90
'Machine Learning' 카테고리의 다른 글
[ML] Feature Engineering (0) | 2024.03.05 |
---|---|
[sklearn] GridSearchCV (0) | 2024.03.05 |
[sklearn] Stratified K 폴드 (2) | 2024.03.05 |
[sklearn] K 폴드 교차 검증 (0) | 2024.03.05 |
[sklearn] Model Selection (2) | 2024.03.05 |