贝叶斯优化(Bayesian Optimization)是一种“用尽可能少的实验次数,找到黑盒函数最好输入”的优化方法。它最常被用来调超参数(hyperparameter):学习率、网络层数、正则化系数等。
想象你在雾里找一座山的最高点,只能走到某个坐标测一次海拔,每测一次要花几小时。网格搜索(Grid Search)是每隔十米测一遍,组合一多就测不完;随机搜索(Random Search)是随便跳着测,可能碰运气,也可能浪费。贝叶斯优化则不同:每测一个点,它就把“输入→输出”的已有记录拟合成一个代理模型(surrogate model),最常用的是高斯过程(Gaussian Process, GP)。代理模型不仅给出每个位置的预测值,还给出“有多不确定”。然后采集函数(acquisition function)——比如期望改进(Expected Improvement, EI)——挑下一个点:既照顾预测值高的区域(利用),也照顾几乎没测过、可能藏着惊喜的区域(探索)。测完更新代理模型,再挑下一个。
| 方法 | 是否利用历史结果 | 主要适合 | 主要短板 |
|---|---|---|---|
| 网格搜索 | 否 | 维度很低、取值很少 | 组合爆炸 |
| 随机搜索 | 否 | 维度中等、预算有限 | 不保证找到好点 |
| 贝叶斯优化 | 是 | 每次评估都很贵、维度不太高 | 高维和并行较难 |
| 梯度下降 | 需要梯度 | 目标可导、数据量大 | 黑盒场景用不了 |
对 AI 从业者,贝叶斯优化是超参调优、神经架构搜索(Neural Architecture Search, NAS)、A/B 测试和实验设计里的常用工具。它省的不是计算,而是“实验轮数”——每次训练都要占 GPU 时,这个很值钱。不过它也有边界:维度很高(比如上百个超参)时代理模型会变难;想并行同时试多组,标准流程也要改造。常见开源工具有 Optuna、Hyperopt、Ax/BoTorch 等,具体以官方页面为准。
对普通人,它是一套决策思路:当试错成本高、次数有限时,不要均匀撒网,而是根据已有信息猜“下一个最值得试”的点。
