核心要点
网格搜索穷举所有组合,参数少、范围明确时用,组合数随维度指数爆炸。
随机搜索在搜索空间内随机采样,相同预算下高维/存在不重要参数时更高效。
贝叶斯优化用代理模型(如高斯过程)建模并用采集函数指导下一次采样,评估昂贵时省次数。
三者都要配交叉验证评估,并固定独立测试集只用于最终评估。
标准回答
三种方法
- 网格搜索(Grid Search):对每个超参列出候选值,穷举所有组合。优点是确定、可复现;缺点是组合数随参数个数指数增长,且在不重要的参数上浪费大量评估。适合参数少、范围已知的场景。
- 随机搜索(Random Search):在设定分布内随机采样固定次数。在高维空间、且只有少数参数真正重要时,相同预算下比网格更可能命中好区域(因为它在重要维度上尝试了更多不同取值),是很强的默认选择。
- 贝叶斯优化:用代理模型(高斯过程 / TPE)拟合「超参→验证指标」的关系,再用采集函数(如 EI)在探索与利用间权衡,挑下一个最有希望的点。评估很昂贵(如训练一次很久)时最划算,因为它用历史结果指导采样、所需评估次数少。
如何选择
参数少 → 网格;预算有限、维度高 → 随机搜索打底;单次评估昂贵、想用最少试验逼近最优 → 贝叶斯优化(或 Optuna 等框架)。三者都应在交叉验证上评估,测试集只留作最终验证。
常见误区
⚠️ 常见踩坑
别在调参时用测试集选超参——那会泄露、高估泛化;调参只能用验证集 / 交叉验证。也别误以为网格一定比随机好,高维下随机往往更高效。
追问
追问 1:为什么随机搜索在高维下常优于网格?
网格把预算均匀摊到每个维度,但通常只有少数超参真正影响性能,网格在无关维度上重复浪费。随机搜索在每个重要维度上都尝试更多不同值,相同试验次数下更可能逼近最优。
追问 2:贝叶斯优化的核心机制是什么?
它维护一个对目标函数的概率代理模型(如高斯过程),每次用采集函数(如 Expected Improvement)在「探索高不确定区」和「利用已知优区」间权衡,选出下一个评估点,再更新模型,从而用很少的评估次数收敛。
追问 3:调参时如何避免在验证集上过拟合?
用 K 折交叉验证而非单次划分,减少对某一划分的偶然依赖;限制搜索空间与试验次数;保留一个全程不参与调参的独立测试集做最终评估;必要时用嵌套交叉验证得到无偏的泛化估计。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。