Bayesian Optimization
베이즈 최적화(Bayesian Optimization)는 함수 평가에 높은 비용이 드는 상황에서 최적의 하이퍼파라미터 조합을 효율적으로 찾기 위해 고안된 최적화 방법입니다. 일반적으로 하이퍼파라미터 튜닝에서 자주 사용되며, 평가 횟수를 줄이면서도 성능을 최적화할 수 있다는 장점이 있습니다.
베이즈 최적화의 주요 개념
- 목적 함수 (Objective Function)
- 베이즈 최적화는 우리가 최적화하고자 하는 목적 함수, 즉 하이퍼파라미터 조합에 따른 모델 성능을 평가하는 함수가 필요합니다.
- 이 목적 함수는 모델의 성능 평가에 큰 비용이 들기 때문에, 최소한의 평가 횟수로 최적의 결과를 찾는 것이 목표입니다.
- 확률 모델 (Surrogate Model)
- 베이즈 최적화에서는 목적 함수를 직접 평가하는 대신, 이를 대체할 수 있는 가상의 확률 모델인 Surrogate Model을 사용합니다.
- Surrogate Model은 현재까지의 목적 함수 평가 결과를 바탕으로, 함수의 값이 어디서 최적일지 예측합니다.
- 일반적으로 **가우시안 프로세스 (Gaussian Process, GP)**가 많이 사용되며, 다른 모델로는 랜덤 포레스트, 베이지안 신경망 등이 활용될 수 있습니다.
- 획득 함수 (Acquisition Function)
- 획득 함수는 다음 평가할 하이퍼파라미터 값을 결정하는데 사용됩니다.
- Surrogate Model을 통해 예상되는 목적 함수의 값과 불확실성을 바탕으로, 가장 좋은 결과를 낼 가능성이 높은 지점을 선택합니다.
- 자주 사용되는 획득 함수로는 Expected Improvement (EI), Upper Confidence Bound (UCB), **Probability of Improvement (PI)**가 있습니다.
- 예를 들어, Expected Improvement는 기대되는 성능 향상이 가장 큰 지점을 선택하여 탐색합니다.
베이즈 최적화의 작동 과정
- 초기화 단계
- 먼저 랜덤하게 몇 개의 하이퍼파라미터 조합을 선택해 평가합니다.
- 이 초기 데이터는 Surrogate Model을 훈련시키는 데 사용됩니다.
- 서로게이트 모델 훈련
- 초기 평가 결과를 바탕으로 Surrogate Model을 훈련하여, 목적 함수의 형태를 예측합니다.
- 획득 함수 최대화
- 획득 함수를 최대화하는 지점을 찾아, 다음 평가할 하이퍼파라미터 조합을 선택합니다.
- 이 지점은 현재 모델이 최적화될 가능성이 가장 큰 지점으로 추정됩니다.
- 새로운 평가 및 모델 업데이트
- 선택된 하이퍼파라미터 조합을 실제로 평가해 목적 함수 값을 얻고, 이 결과를 기존 평가 결과에 추가합니다.
- 새롭게 수집된 데이터를 기반으로 Surrogate Model을 다시 훈련해 예측 성능을 업데이트합니다.
- 반복
- 평가 및 업데이트 과정을 여러 번 반복하여 최적의 하이퍼파라미터 조합을 찾습니다.
- 반복을 통해 서서히 최적의 지점에 가까워지며, 효율적으로 최적화를 수행할 수 있습니다.
예) 랜덤 포레스트 모델의 하이퍼파라미터 튜닝
문제 설정
랜덤 포레스트 모델의 하이퍼파라미터인 n_estimators(트리의 개수)와 max_depth(트리의 최대 깊이)를 최적화하여, 데이터셋에서 모델 성능(예: 정확도)을 최대화하는 조합을 찾는 것을 목표로 합니다. 각 하이퍼파라미터 조합에 대해 모델을 학습시키고, 검증 데이터에서 성능을 평가하는 데 비용이 크다고 가정합니다.
베이즈 최적화 절차
- 초기 평가
- 먼저, 랜덤하게 몇 개의 하이퍼파라미터 조합을 선택하여 모델을 학습시키고 성능을 평가합니다.
- 예를 들어, 초기 평가로 (n_estimators=10, max_depth=5), (n_estimators=50, max_depth=10), (n_estimators=100, max_depth=3) 세 가지 조합을 선택했다고 가정합니다.
- 각 조합에 대해 검증 데이터에서 모델의 정확도를 측정하여, 초기 데이터를 수집합니다.
- 서로게이트 모델 학습
- 초기 평가 결과를 사용하여, 서로게이트 모델을 학습합니다.
- 여기서 Surrogate Model은 목적 함수(성능 평가 함수)를 예측하는 가상의 모델입니다. 가우시안 프로세스를 사용하는 경우가 많으며, 이를 통해 아직 평가되지 않은 하이퍼파라미터 조합의 성능을 추정할 수 있습니다.
- 획득 함수 최대화
- Surrogate Model의 예측을 바탕으로 획득 함수를 최대화하여 다음 평가할 하이퍼파라미터 조합을 선택합니다.
- 예를 들어, Expected Improvement (EI) 획득 함수를 사용하면, 성능이 가장 향상될 가능성이 큰 조합을 선택하게 됩니다.
- 이 예시에서는 (n_estimators=70, max_depth=8)이라는 새로운 조합이 선택되었다고 가정합니다.
- 목적 함수 평가 및 데이터 업데이트
- 새로 선택된 조합 (n_estimators=70, max_depth=8)에 대해 모델을 학습하고, 검증 데이터에서 성능을 평가합니다.
- 평가 결과를 기존 데이터에 추가하여 서로게이트 모델을 업데이트합니다. 이 과정으로 서로게이트 모델의 예측 성능이 점점 향상됩니다.
- 반복
- 평가와 업데이트를 반복하여 최적의 하이퍼파라미터 조합을 찾습니다. 각 반복에서는 성능이 가장 좋을 가능성이 높은 하이퍼파라미터 조합을 선택하게 됩니다.
- 반복을 통해 (n_estimators=90, max_depth=12), (n_estimators=120, max_depth=7) 등 여러 조합을 시도하고 평가합니다.
- 평가 결과가 누적되면서 Surrogate Model은 더 정확하게 하이퍼파라미터의 최적 범위를 예측하게 되고, 최적의 조합으로 수렴하게 됩니다.
- 최적의 하이퍼파라미터 조합 선택
- 반복이 종료되면, 수집된 모든 하이퍼파라미터 조합 중에서 성능이 가장 좋은 조합을 최종적으로 선택합니다.
- 예를 들어, 최적의 조합이 (n_estimators=110, max_depth=9)로 나타났다고 가정합니다.
베이즈 최적화의 장점과 단점
장점
- 효율적인 탐색: 목적 함수의 직접 평가 횟수를 줄여주므로, 자원이 제한된 환경에서 유리합니다.
- 불확실성 관리: 서로게이트 모델을 통해 불확실성을 고려하여 탐색하므로, 무작위로 시도하는 방식보다 성능 향상 가능성이 높습니다.
- 탐색과 활용의 균형: 최적의 하이퍼파라미터를 찾기 위해 탐색을 잘 조정합니다. 즉, 새로운 지역을 탐색하면서도 이미 좋은 성능을 보이는 지점을 활용합니다.
단점
- 고차원 문제에 취약: 하이퍼파라미터의 차원이 매우 높을 경우 효율성이 떨어질 수 있습니다.
- 서로게이트 모델의 한계: 서로게이트 모델의 정확도가 낮거나, 적절히 작동하지 않을 경우 최적화를 어렵게 만들 수 있습니다.
- 시간 소모: 가우시안 프로세스와 같은 모델은 대규모 데이터에서 연산이 복잡해질 수 있습니다.
결론
베이즈 최적화는 비용이 큰 함수 평가를 최소화하고 성능을 최적화하는 데 매우 효과적이므로, 하이퍼파라미터 튜닝과 같은 고비용 최적화 문제에 적합한 기법입니다.
'Interview > ML' 카테고리의 다른 글
ML Interview - Normalization (0) | 2024.11.10 |
---|---|
ML Interview - Evolutionary Algorithms (0) | 2024.11.10 |
ML Interview - 하이퍼파라미터 튜닝 기법 (0) | 2024.11.10 |
ML Interview - IQR (0) | 2024.11.10 |
ML Interview - Z Score (0) | 2024.11.10 |