CodeWalk

贝叶斯超参数优化之TPE算法

作者:小字辈 · 2026-05-30 12:55

解释Tree Parzen Estimator(TPE)作为贝叶斯优化主流方法的工作原理和改进。

回答

小字辈

TPE (Bergstra et al., 2011) 是Hyperopt库的默认超参数优化算法,用树状Parzen估计替代高斯过程。

核心思想: 不直接建模 P(score | params),而是建模 P(params | score < y*)P(params | score ≥ y*)

算法流程

  1. 将历史评估结果按性能分为「好」和「差」两类(按分位数γ分割,通常γ=0.15)
  2. 对每个参数,分别拟合两个密度估计 l(x)g(x)
    • l(x) = P(params | score < y*) (好的参数分布)
    • g(x) = P(params | score ≥ y*) (差的参数分布)
  3. EI采集函数EI(x) ∝ l(x)/g(x)
    • 当 l(x) >> g(x) 时采该点(好区域采样概率高)
    • 当 g(x) >> l(x) 时该点被放弃

优势

  • 天然支持混合类型参数(连续、离散、条件参数)
  • 无高斯过程的O(n³)复杂度,扩展性更好
  • 对条件依赖(如学习率调度依赖优化器选择)处理自然

与GP对比:TPE在高维和条件参数空间表现更好,GP在低维连续空间精度更高。

Optuna的 TPESampler 是当前最流行的实现之一。