Hyperparamter optimization

 

학습을 수행하기 전 hyperparameter설정을 하는데 이때 최적값을 탐색하는 문제해결법을 지칭한다. 

방법으로는 Manual, Grid, Random Search와 Bayesian optimization이 있다. 

 

1. Manual Search

일반적으로 하이퍼파라메터 탐색시 잘 알려진 노하우를 기반하여 hyperparameter를 설정하고 검증데이터셋(validation set)의 측정 결과를 성능으로 기록한다.

여러 시도 중 가장 높은 성능을 준 하이퍼파라메터를 선택했을 것이고 이런 방법을 Manual Search라고 한다. 

단점은 찾은 최적의 hyperparameter 값이 ‘실제로도’ 최적이라는 사실을 보장하기가 상대적으로 어렵다는 단점이 있고 또한, 여러 종류의 hyperparameter를 탐색할때 서로간의 상호영향관계를 나타내는 파라메터들도 존재하기 때문에 둘 ㅣ상의 파라메터를 탐색시 직관을 이용하기 어렵고 문제가 더욱 복잡해질 수 있는 단점이 있다. 

 

2. Grid Search

특정 구간 내의 후보 hyperparameter 값의 일정한 interval을 두고 이들 각각에 대하여 측정한 성능 결과를 기록한 뒤, 가장 높은 성능을 발휘했던 hyperparameter 값을 선정하는 방법이다. 

모든 경우의 수에 대해 평가 결과가 가장 좋은 hyperparameter세트를 찾는 방법이다. 

전역적인 탐색이 가능하다는 장점이 있지만, hyperparameter개수를 여러종류 가져가면 시간이 기하급수적으로 증가하는 단점이 있다. 

 

3. Random Search

 

탐색 대상 구간 내의 후보 hyperparameter 값들을 랜덤 샘플링(sampling)을 통해 선정한다는 점이 다릅니다.

탐색 대상 구간 내 후보 hyperparameter 값들을 랜덤 샘플링해서 선정하는 방법이다.

Grid Search에 비해 불필요한 반복 수행 횟수를 대폭 줄이면서, 동시에 정해진 간격(grid) 사이에 위치한 값들에 대해 동일한 확률로 탐색이 가능하며 최적의 hyperparameter 값을 더 빨리 찾는 장점이 있다. 

랜덤하게 선택하여 학습한 뒤 가장 좋은 parameter를 고를 수 있지만 여전히 불필요한 탐색을 반복하기도 한다. 

왜냐하면 다음에 시도할 hyperparameter 값을 선정하는데 이전 정보를 반영하지 않기 때문이다. 이를 개선한 것으로 전체적인 탐색을 가능하게 하며 사전지식까지 반영할 수 있는 Bayesian Optimization이 있다. 

 

4. Bayesian Optimization 

입력값 x 를 받은 목적함수 f(x)를 만들어 f(x)를 최대로 만드는 최적해를 찾는 것을 목적으로 한다. 

목적함수와 하이퍼파라메터 쌍을 대상으로 대체 모델을 만들고 하이퍼파라메터를 업데이트 해가면서 최적의 조합을 탐색한다. 

필요한 요소

- surrogate model은 여러 (x, f(x))로 확률적인 추정을 수행하는 모델이 필요하다. 

-  Acquisition Function은 확률적 추정 결과를 바탕으로 최적 입력값을 찾는데 있어 가장 유용할만한 다음 입력값을 추천해주는 함수이다. 

 

Expected Improvement(EI)는 Exploitation과 Exploration을 둘다 일정수준 포함하도록 설계한 것이고 이떄 많이 쓰이는게 Acquisition function이다. 

 

출처: https://wooono.tistory.com/102

'데이터분석 > 머신러닝' 카테고리의 다른 글

하이퍼파라매터 튜닝 (경험적)  (0) 2023.06.12
Hyperband  (0) 2023.05.31
Feature sore 구축 - Feast  (1) 2023.05.09
Successive Halving Algorithm(SHA) 이해  (0) 2023.05.02
Multi-Armed Bandit(MAB)  (0) 2023.05.02

+ Recent posts