Overview

Hyperparameter Optimization

September 16, 2025
4 min read
hyperparam-optimization

Hyperparameter Optimization

MMM 모델에서 optimization은 크게 3가지 정도가 있음:

  • variable transformation (adstock, saturation) → 3 hyperparameters optimization 필요
  • MMM 예측 결과와 ground truth 간의 error 최소화
  • optimal budget allocation

이 중 bi-level optimization 문제로 정의되는 hyperparameter optimization 에 대해 자세히 살펴보자.

Definition (what is hyperparameter)

Model Parameters

모델 매개변수는 모델이 훈련 데이터로부터 학습하는 내부 변수. 즉, 데이터의 패턴을 파악하여 모델이 스스로 값을 조정하고 최적화하는 값들을 의미함. 이 매개변수들은 학습이 완료된 모델의 일부로 저장되며, 새로운 데이터에 대한 예측을 수행할 때 사용됨.

features:

  • 데이터로부터 학습: 훈련 데이터를 통해 자동으로 값이 추정되고 조정됨.
  • 모델 내부에 존재: 모델의 핵심적인 부분을 구성하는 내부 변수.
  • 예측에 직접 사용: 예측을 수행할 때 모델에서 직접적으로 요구되는 값.
  • 사용자가 직접 설정하지 않음: 개발자나 사용자가 수동으로 설정하는 값이 아님.

example:

  • 인공신경망의 가중치(weights)와 편향(bias)
  • 선형 회귀 또는 로지스틱 회귀 모델의 계수(coefficients)
  • 서포트 벡터 머신(SVM)의 서포트 벡터(support vectors)

Model Hyperparameters

하이퍼매개변수는 모델의 학습 과정을 제어하고 모델의 구조를 결정하기 위해 사용자가 직접 설정하는 외부 구성 변수. 이 값들은 데이터로부터 학습되는 것이 아니며, 최적의 모델 훈련을 위해 개발자의 경험이나 별도의 튜닝 과정을 통해 결정됨.

features:

  • 사용자가 직접 설정: 학습 과정이 시작되기 전에 분석가나 개발자가 수동으로 지정.
  • 모델 외부에 존재: 모델 자체의 일부라기보다는 학습 과정을 위한 설정값에 해당.
  • 학습 과정을 제어: 모델 매개변수가 최적의 값을 찾도록 돕는 역할.
  • 최적화 필요: 그리드 탐색, 랜덤 탐색 등과 같은 기법을 통해 최적의 값을 찾아 모델 성능을 향상시킬 수 있음.

example:

  • 학습률 (Learning Rate)
  • 신경망의 은닉층 개수 또는 뉴런의 수
  • k-최근접 이웃(k-NN) 알고리즘의 k값
  • 결정 트리의 최대 깊이
  • 훈련 반복 횟수 (Epochs)

Bi-level Optimization

minθΩ(w(θ);Dval)s.t.w(θ)=argminwWL(w;θ,Dtrain)\begin{align*} \min_{\theta \in \Omega} \quad & \ell(w^*(\theta); \mathcal{D}_{\text{val}}) \\ \text{s.t.} \quad & w^*(\theta) = \arg\min_{w \in \mathcal{W}} L(w; \theta, \mathcal{D}_{\text{train}}) \end{align*}

Bi-level Optimization 은 최적화 문제 안에 또 다른 최적화 문제가 포함된, 즉 계층적 구조를 가진 최적화 문제를 말함. 하나의 상위 레벨(Upper-level) 문제와 하나의 하위 레벨(Lower-level) 문제로 구성되며, 상위 레벨 문제의 해(solution)가 하위 레벨 문제의 해에 종속되는 특징을 가짐.

  • θ\theta: 하이퍼파라미터(Hyperparameter). 우리가 최적화하고자 하는 대상. (예: 학습률, 은닉층의 뉴런 수, 정규화 강도 등)
  • Ω\Omega: 하이퍼파라미터 θ\theta가 존재할 수 있는 탐색 공간(Search Space)
  • ww: 모델 매개변수(Model Parameter). 모델이 학습을 통해 스스로 찾아내는 값. (예: 신경망의 가중치와 편향)
  • WW: 모델 매개변수 ww가 존재할 수 있는 공간.
  • DtrainD_{\text{train}}: 모델 매개변수 ww를 학습시키기 위해 사용되는 데이터.
  • DvalD_{\text{val}}: 학습된 모델의 일반화 성능을 평가하고, 최적의 하이퍼파라미터 θ\theta를 찾기 위해 사용되는 데이터.
  • LL: 훈련 손실 함수. 훈련 과정에서 ww를 최적화하기 위한 기준으로, 모델이 DtrainD_{\text{train}}을 얼마나 잘 예측하는지를 측정.
  • \ell: 검증 손실 함수. 하이퍼파라미터 θ\theta의 좋고 나쁨을 판단하는 기준으로, DtrainD_{\text{train}}으로 학습된 모델이 처음 보는 데이터인 DvalD_{\text{val}}에서 얼마나 좋은 성능을 보이는지를 측정.

사용자가 미리 정의한 hyperparameter 값들의 집합(grid) 을 기반으로 모든 가능한 조합을 시도하여 최적의 하이퍼파라미터를 찾는 방법. 보통 이산화와 함께 이루어지는데, 이는 검색 공간 단순화, 계산 효율성 향상, 병렬화 용이성 등의 장점이 있기 때문. 간단하다는 장점이 있지만, curse of dimensionality 문제로 인해 hyperparameter가 많아질수록 계산 비용이 기하급수적으로 증가하는 단점이 있음.

사용자가 미리 정의한 hyperparameter 값들의 범위에서 무작위로 샘플링하여 최적의 하이퍼파라미터를 찾는 방법. Grid Search와 달리 모든 조합을 시도하지 않고, 랜덤하게 선택된 조합만 평가하기 때문에 계산 비용이 훨씬 적음. 특히 hyperparameter가 많거나 몇몇 개의 hyperparameter가 다른 것보다 훨씬 더 중요한 영향을 미칠 때 효과적.

시도 가능 횟수가 한정된 상황에서 모든 시도가 각 hyperparameter 대해 새로운 값을 탐색하는 기회가 되므로, 중요한 파라미터의 최적값을 찾을 확률이 훨씬 높음.

Bi-level Black-Box Optimization Problem

Black-Box 란 우리가 최적화하려는 함수의 내부 구조를 모르고, 그라디언트(gradient, 미분값)를 계산할 수 없다는 의미. 현실적인 제약조건 속에서 우리가 진짜로 최적화하고 싶은 상위 레벨 함수, 즉 “하이퍼파라미터(θ\theta)를 입력으로 넣으면 최종 검증 손실(\ell)이 나오는 함수” 가 바로 black-box 함수임. 그렇기에 gradient-free optimization 기법이 필요함.

  • Bayesian Optimization: 가우시안 프로세스(GP)나 트리 기반 모델 등을 근사모델(surrogate model) 로 학습해서, “어디를 다음에 평가할지”를 확률적으로 정하는 방식
  • Evolutionary Algorithms: 자연 선택, 돌연변이, 교차 등 진화 생물학적 원리를 모방.
  • Random Search
  • Surrogate-based Derivative-Free Optimization: 고비용 목적함수를 직접 평가하지 않고, 근사 모델(surrogate) 을 학습해 대체.
  1. Prepare hyperparameters for optimization

    • 하이퍼파라미터 값들의 집합을 정의.
    • 예: learning rate, hidden layer 수, regularization strength 등을 정수/유한 집합으로 표현.
    • 이 전체 공간을 Ω\Omega 라고 부름.
  2. Initial design

    • 초기 샘플링 단계.
    • Ω\Omega에서 무작위로 n0n_0의 후보 θ\theta 벡터를 뽑음.
    • 각 후보 θj\theta_j마다 lower-level 문제(예: 모델 학습 & 검증)를 풀어서 성능 지표 (θj)\ell(\theta_j)를 계산.
    • 즉, “실제 모델을 학습시켜 본다”는 의미.
  3. Set nn0n \leftarrow n_0

    • 현재까지 평가한 샘플 개수를 기록.
  4. Adaptive sampling

    • 단순 무작위가 아니라, 지금까지의 결과를 반영해 “다음에 어디를 실험할지”를 정하는 과정.
  5. Surrogate model fitting

    • 지금까지 얻은 데이터 쌍 (θj,(θj))(\theta_j, \ell(\theta_j))를 가지고 surrogate 모델을 학습.
    • 즉, “비싼 모델 학습 결과”를 대신 근사해주는 싼 모델(가우시안 프로세스, RBF 등).
  6. Acquisition function optimization

  • surrogate를 이용해 획득 함수(acquisition function) 을 최적화.

  • 이 함수는 “탐색 vs 활용”을 조절 → 새로운 후보 θnew\theta^{new} 선택.

    • 탐색: 아직 안 본 영역 탐색
    • 활용: 성능이 좋을 가능성이 높은 영역 집중
  1. Lower-level problem solving

    • 새로 선택된 θnew\theta^{new}에 대해 실제로 모델을 학습(=lower-level problem 수행).
    • 결과 (θnew)\ell(\theta^{new}) 얻음.
  2. Update

    • nn+1n \leftarrow n + 1로 갱신하고, Step 5로 돌아감.
  3. Stopping criterion

    • 최대 실험 횟수 도달
    • 시간 budget 소진
    • 성능 향상 정체