본문 바로가기
ML & AI/머신러닝 (ML)

[머신러닝 ML] Bayesian Optimization (베이지안 최적화) : Hyper-parameter tuning (하이퍼파라미터 튜닝)

by newstellar 2021. 9. 10.
반응형

1. Introduction

  • Parameter vs Hyper-parameter
    • Parameter : 데이터를 통해 학습되는, 모델의 능력을 결정하는 변수. ex) Neural Network에서의 가중치(weight), 회귀분석에서의 계수(coefficient)

    • Hyper-parameter : 데이터에서 얻어지는 값이 아닌, 연구자가 경험/모델 최적화로 얻어지는 모델 외적인 변수. ex) Neural Network에서의 학습률(learning rate), KNN에서 K의 갯수

 

  • Difficulties of Hyper-parameter Tuning
    • Lasso linear regression : lambda (0.001, ... 총 10개 후보) 각각에 대해 10-fold CV 1시간씩 하면 총 10시간

    • Elastic Net : lambda1(0.001, ...) , lambda2(0.001, ...) 두 쌍에 대해 10-fold CV 1시간씩 하면 총 10x10시간

    • Neural Networks : Learning rate, # of iterations, minibatch size, # of hidden layers, # of hidden nodes, type of activation function, .... => ???

    • hyper-parameter tuning 가운데 가장 대표적인 방식은 GridSearch와 RandomWalk가 있다. 전자는 특정 범위 안에서 일정한 간격으로 숫자를 바꿔 최적의 hyper-parameter를 찾는 것이고, 후자는 시드값에 따라 난수를 생성하여 마구잡이로 탐색하는 방식이다.

    • 두 경우 현업에서 많이 쓰이지만, 빅데이터 시대에서 중요한 것은 컴퓨팅 시간이기 때문에 기존의 결과를 이용하여 parameter를 설정하는 Bayesian Optimization에 대해 알아보도록 하자.

 

  • Bayesian Optimization
    • Bayesian Optimization은 Surrogate ModelAcquisition Function으로 구성된다.

    • hyper-parameter 집합을 X로 두고 Generalization performance(일반화 성능)을 Y로 두어 그 관계를 모델링(Surrogate Model)하는 것으로, 지금까지 추론한 결과들을 바탕으로 목적함수를 추정하는 것이다. 추론을 어떻게 할 것인지가 핵심으로, 일반적으로 gaussian process가 가장 많이 쓰인다.

    • 관측값은 이미 검사한 값이기 때문에 Gaussian Process의 불확실성이 0이고, 검사 지점으로부터 멀어질수록 불확실성이 커지는 매듭 형태의 그래프가 나타난다.

    • Acquisition Function이란 Surrogate Model의 확률분포를 이용해서 지금까지 나온 값들보다 더 큰 값을 찾는 argmax 함수다.

    • x* = argmax{ Acquisition function(x_new) } = armgax{ Expected Improvement(x_new) } = E[ max{ 0, ( f(x_new) - max f(x) ) } ]

    • hyper-parameter 집합에 유용하다고 판단된 hyper-parameter subset인 x*를 추가하여 실제 일반화 성능을 확보

    • 종료 조건을 만족할 때까지 반복 (개수, 성능향상 기준)

 


2. Bayesian Optimization

  • Surrogate Model
    • Gaussian Process Regression Model : P(Y_{N+1}) ~ multivariate Gaussian distribution -> p(Y_{N+1}|Y_N) = ?

    • Tree-structured Parzen Estimators

 

  • Acquisition Function
    • '착취(exploitation)'와 '탐험(exploration)' 사이 균형 맞추는 것이 중요함.

    • exploitation은 불확실성이 가장 높은 곳에서 지금까지 나온 값들보다 더 좋은 것이 있을거라는 예측이고 exploration은 지금까지 나온 높은 값들 근처에 더 좋은 것이 있을거라는 예측이다.

    • 종류 : Maximum Expected Improvement / Upper Confidence Bound / Entropy Search / Knowledge Gradient

 

2021.09.10 - [ML & AI/인공지능 (AI)] - [인공지능 AI] Bayesian Neural Network(BNN) (1) : Introduction

 

[인공지능 AI] Bayesian Neural Network(BNN) (1) : Introduction

1. Measure Theory and Random Process 2. Functional Analysis 2021.09.10 - [ML & AI/인공지능 (AI)] - [인공지능 AI] Bayesian Neural Network(BNN) (2) : Gaussian Process (가우시안 프로세스) [인공지능..

newstellar.tistory.com

 


참고자료

  1. Gelman, 『Bayesian Data Analysis』, Chapman and Hall/CRC
  2. 松浦 健太?, 장진희 역, 『데이터 분석을 위한 베이지안 통계 모델링 with Stan&R』, 길벗
  3. Wikipedia
  4. 기계 학습법을 이용한 공정 최적화 방법론의 연구 동향 및 적용 사례
  5. 베이지안 최적화를 이용한 이동 경로 예측 모델의 성능 개선
  6. http://dmqm.korea.ac.kr/activity/seminar/285
  7. https://brunch.co.kr/@tristanmhhd/19
  8. A Tutorial on Bayesian Optimization ( https://arxiv.org/pdf/1807.02811.pdf?bcsi_scan_4a45557a90f1e229=0&bcsi_scan_filename=1807.02811.pdf )
  9. http://krasserm.github.io/2018/03/21/bayesian-optimization/

 

반응형

댓글