공부일기/Machine-Learning

베이지안 최적화(Bayesian Optimization)

pipiiiiii 2024. 8. 6. 01:40

하이퍼파라미터란

머신러닝 모델의 성능과 구성을 결정하는 외부 설정값이다. 

데이터로부터 추정할 수 없으며, 주로 모델의 성능을 돕기 위해 사용된다. 

 

하이퍼파라미터는 모델 학습 과정에서 자동으로 결정되지 않고 사용자가 사전에 설정하는 값으로 머신러닝 모델의 성능은 파라미터와 하이퍼파라미터의 조합에 크게 의존하므로 올바른 값을 찾는 것이 중요하다.

 

하이퍼파라미터를 조정하는 방법에는 경사하강법, 정규화, 베이지안 최적화 등이 있고 이 외에도 다양한 머신 러닝 모델에 관련된 파라미터와 하이퍼파라미터가 있다. 

이들을 적절히 설정하면 모델의 성능을 최적화할 수 있다.   

 

 

베이지안 최적화

하이퍼파라미터를 최적화하기 위한 방법이다. 

가능한 최소의 시도로 최적의 답을 찾아야 할 경우와 개별 시도에 너무 많은 시간 또는 자원이 필요한 경우 사용된다.

 

베이지안 최적화는 미지의 함수가 반환하는 값의 최소 또는 최댓값을 만드는 최적값을 짧은 반복을 통해 최적해를 찾아내는 방식으로 새로운 데이터를 입력받았을 때 최적 함수를 예측하는 사후 모델을 개선해 나가면서 최적 함수를 도출한다. 

 

 

베이지안 최적화 원리

대체 모델(Surrogate Model)

  • 실제 모델의 대리자 역할을 한다.
  • 수학적으로는 목적 함수에 대해 확률적으로 추정한 결과라고 한다. 
  • 데이터로부터 추정할 수 없는 하이퍼파라미터 값을 대체 모델에 적용해 모델의 성능을 평가한다.
  • 얻어진 데이터를 활용해 최적의 하이퍼파라미터를 찾아간다. 

 

획득 함수(acquisition function)

  • 어떤 하이퍼파라미터 조합을 선택할지 결정하는 함수다. 
  • 주어진 하이퍼파라미터 조합의 성능을 예측하는 데 사용된다. 
  • 대체 모델에 최적값을 탐색하고 추천하는 함수다. 
  • 최대 예상 향상도(Maximum Expencted Improvement)와 같은 획득 함수를 사용해 최적의 하이퍼파라미터를 찾는다. 

 

 

베이지안 최적화 과정

 

위 그림을 이용해 베이지안 최적화 과정을 설명하고자 한다. 

  • 파란색 선(objective function)은 찾으려고 하는 목적 함수(f(x))를 나타낸다. 
  • 검은색 점선(prediction)은 지금까지 관측한 데이터를 바탕으로 예측한 estimated function(추정 함수)를 의미한다. 
  • 파란 영역(uncertain area)은 목적 함수가 존재할만한 confidence bound(신뢰 한계, function의 variance(함수의 분산))를 의미한다. 
  • 두 번째 그래프인 EI(x)는 acquisition function(획득 함수)을 의미한다. 
    • EI(x)의 경우 다음 입력값 후보 추천 시 사용된다. 
    • 획득 함숫값이 컸던 지점을 확인하고 해당 지점의 하이퍼파라미터를 다음 입력 값으로 사용한다. 
  • 하이퍼파라미터에 따라 estimated function(추정 함수)을 계속 update 하면 추정 함수와 목적 함수가 흡사해진다. 
  • 관측한 지점 중 best point를 argmax f(x)(함수의 값이 최대 혹은 최소가 되는 인자, Argument of maximum, Argument of Minimum)로 선택한다. 

 

 

 

베이지안 최적화 코드 공부

https://github.com/DIB-PP/Machine-Learning

 

GitHub - DIB-PP/Machine-Learning

Contribute to DIB-PP/Machine-Learning development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

참고 자료