Bayesian optimization 자세히보기.
목적 함수와, hyperparameter의 쌍을 활용하여, 목적함수를 최대로 만드는 최적해를 찾는 문제로 바꾼다.
* 사용되는 두가지 함수
- 목적 함수를 추정하는 함수(surrogate model)
- 다음 입력값 후보를 추천하는 함수(accquisition model)
그런데, 어떻게 진행하는 것일까?
* 목적함수가 최대화/최소화 되는 매개변수를 찾기 위해, 사전 분포를 활용한다.
Bayesian optimization 의 절차 개요
1. 임의로 데이터 포인트 생성 / 평가
2. surrogate model로 추정을 실시.
3. 현재의 결과로 목적 함수를 최대화 하는 x값 탐색
4. 해당 값에 대한 평가 실시 및 x를 데이터 포인트에 추가
탐색을 할 때, Exploitation과 Exploration을 활용한다.
Exploitation : 현재까지 조사된 값들의 근방으로 다시 조사를 실시
Exploration : 현재까지 조사된 값들의 근방으로 조사를 하지 않고, 불확실성이 가장 높은 곳을 확인한다.
조금 더 정확하게 절차를 살펴보면 다음과 같다.
가정 : f를 Gaussian 분포라고 가정한다.
f의 posterior 확률 분포를 추정/업데이트
f의 posterior 확률 확률 분포를 활용하여, 목적 함수가 최대화/최적화 되는 지점 탐색
f(x) 계산
위의 과정을 반복한다.
Bayesian optimization의 핵심 - Gaussian Process, Acquisition function.
해당 부분 참고 : https://daehani.tistory.com/entry/%EB%84%93%EA%B3%A0-%EC%96%95%EC%9D%80-%EB%B2%A0%EC%9D%B4%EC%A7%80%EC%95%88-%EC%B5%9C%EC%A0%81%ED%99%94Bayesian-Optimization
# Gaussian Process
요약하면, (x, f(x))가 주어질 때, 새로운 f(x)가 뽑힐 확률을 Gaussian으로 추정하는 행위.
Posterior 확률은 Prior * Likelihood 으로 구할 수 있기에, 추정이 가능.
# acquisition function
가장 사용하기 쉬운 함수는 Expected Improvement
f가 이전 iteration n에서의 최적값보다 얼마나 좋은지를 평가할 수 있는 함수,
구체적으로는, 지금 최적인 값과 최적으로 예상되는 값의 차이만큼 가중화를 준다.
'Archive > TIL' 카테고리의 다른 글
[TIL] 0729 아침스터디 - Kernel Trick (0) | 2022.07.29 |
---|---|
[TIL] 0725 아침스터디 - ROC curve, 비용민감 곡선 (0) | 2022.07.25 |
[TIL] 0711 아침스터디 - Hyper Parameter tuning(1) (0) | 2022.07.11 |
[TIL] 0708 아침스터디 / 표본추출 + Python의 랜덤 (0) | 2022.07.08 |
[TIL] 0706 아침 스터디 / t-SNE (0) | 2022.07.06 |