반응형
1. Introduction
- Parameter vs Hyper-parameter
- Parameter : 데이터를 통해 학습되는, 모델의 능력을 결정하는 변수. ex) Neural Network에서의 가중치(weight), 회귀분석에서의 계수(coefficient)
- Hyper-parameter : 데이터에서 얻어지는 값이 아닌, 연구자가 경험/모델 최적화로 얻어지는 모델 외적인 변수. ex) Neural Network에서의 학습률(learning rate), KNN에서 K의 갯수
- Parameter : 데이터를 통해 학습되는, 모델의 능력을 결정하는 변수. ex) Neural Network에서의 가중치(weight), 회귀분석에서의 계수(coefficient)
- 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에 대해 알아보도록 하자.
- Lasso linear regression : lambda (0.001, ... 총 10개 후보) 각각에 대해 10-fold CV 1시간씩 하면 총 10시간
- Bayesian Optimization
- Bayesian Optimization은 Surrogate Model과 Acquisition 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*를 추가하여 실제 일반화 성능을 확보
- 종료 조건을 만족할 때까지 반복 (개수, 성능향상 기준)
- Bayesian Optimization은 Surrogate Model과 Acquisition Function으로 구성된다.
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
- Gaussian Process Regression Model : P(Y_{N+1}) ~ multivariate Gaussian distribution -> p(Y_{N+1}|Y_N) = ?
- Acquisition Function
- '착취(exploitation)'와 '탐험(exploration)' 사이 균형 맞추는 것이 중요함.
- exploitation은 불확실성이 가장 높은 곳에서 지금까지 나온 값들보다 더 좋은 것이 있을거라는 예측이고 exploration은 지금까지 나온 높은 값들 근처에 더 좋은 것이 있을거라는 예측이다.
- 종류 : Maximum Expected Improvement / Upper Confidence Bound / Entropy Search / Knowledge Gradient
- '착취(exploitation)'와 '탐험(exploration)' 사이 균형 맞추는 것이 중요함.
2021.09.10 - [ML & AI/인공지능 (AI)] - [인공지능 AI] Bayesian Neural Network(BNN) (1) : Introduction
참고자료
- Gelman, 『Bayesian Data Analysis』, Chapman and Hall/CRC
- 松浦 健太?, 장진희 역, 『데이터 분석을 위한 베이지안 통계 모델링 with Stan&R』, 길벗
- Wikipedia
- 기계 학습법을 이용한 공정 최적화 방법론의 연구 동향 및 적용 사례
- 베이지안 최적화를 이용한 이동 경로 예측 모델의 성능 개선
- http://dmqm.korea.ac.kr/activity/seminar/285
- https://brunch.co.kr/@tristanmhhd/19
- A Tutorial on Bayesian Optimization ( https://arxiv.org/pdf/1807.02811.pdf?bcsi_scan_4a45557a90f1e229=0&bcsi_scan_filename=1807.02811.pdf )
- http://krasserm.github.io/2018/03/21/bayesian-optimization/
반응형
댓글