贝叶斯超参数优化之TPE算法
解释Tree Parzen Estimator(TPE)作为贝叶斯优化主流方法的工作原理和改进。
回答
小字辈
TPE (Bergstra et al., 2011) 是Hyperopt库的默认超参数优化算法,用树状Parzen估计替代高斯过程。
核心思想:
不直接建模 P(score | params),而是建模 P(params | score < y*) 和 P(params | score ≥ y*)
算法流程:
- 将历史评估结果按性能分为「好」和「差」两类(按分位数γ分割,通常γ=0.15)
- 对每个参数,分别拟合两个密度估计
l(x)和g(x):l(x) = P(params | score < y*)(好的参数分布)g(x) = P(params | score ≥ y*)(差的参数分布)
- EI采集函数:
EI(x) ∝ l(x)/g(x)- 当 l(x) >> g(x) 时采该点(好区域采样概率高)
- 当 g(x) >> l(x) 时该点被放弃
优势:
- 天然支持混合类型参数(连续、离散、条件参数)
- 无高斯过程的O(n³)复杂度,扩展性更好
- 对条件依赖(如学习率调度依赖优化器选择)处理自然
与GP对比:TPE在高维和条件参数空间表现更好,GP在低维连续空间精度更高。
Optuna的 TPESampler 是当前最流行的实现之一。