Hyperparameter Optmization이란?
하이퍼파라미터 최적화란, 주어진 목적함수를 최대/최소화 하는 최적의 파라미터 탐색 행위임
어떤 목적 함수들은 확률 관점에서 목적함수의 최대화가 필요한 반면 (Accuracy, F1...)
다른 목적 함수들은 오류 관점에서 목적함수의 최소화가 필요함 (MSE, MAE...)
목적함수란?
목적함수란 머신러닝 모델의 평가지표로, 최적화optimization의 대상.
목적 함수objective function, 손실 함수loss function, 비용 함수cost function... 모두 모델 성능 평가에 따른 함수
최적화의 예시
n_estimator 에 따른 accuracy 값의 차이. 200일때 가장 높은 정확도가 됨을 알 수 있음.
이처럼 머신러닝에 최적화된 파라미터는 데이터마다, 모델마다 등등 달라서 탐색이 필요.
최적화 탐색 알고리즘
Grid Search : 격자로 최적의 파라미터 탐색 (10, 20, 30 등 일정 간격)
Random Search : 난수 추출해서 최적의 파라미터 탐색
> 두 방법을 결합하여, , 초반에는 Grid search 이용해서 최적화 범위를 우선 탐색 후 -> 범위 내에서 Random search 하기도함
HPO 머신러닝 라이브러리
Optuna, Ray 가 대표적인 라이브러리
1. 적절한 파라미터 후보군 추출 : Optuna, Ray
2. 리소스 효율화 : Ray
> 두 라이브러리를 효율적으로 결합하여 활용 가능
Optuna로는 탐색할 파라미터 후보군 추리고, Ray로는 각각의 서로 다른 서버에서 파라미터를 실행
이후 결과값을 Optuna에 전달해서 새로운 후보군을 다시 추출...
* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함
'MLOps' 카테고리의 다른 글
[MLOps] 10. MLflow + Optuna 실습 (0) | 2024.04.22 |
---|---|
[MLOps] 9. Optuna 실습 (0) | 2024.04.22 |
[MLOps] 7. MLflow 로깅 실습 (1) | 2024.04.18 |
[MLOps] 6. MLflow 로깅 방법 (1) | 2024.04.18 |
[MLOps] 5. 도커 Compose로 MLflow 시작하기 (0) | 2024.04.17 |