SVM 的 C 和 gamma 如何联合搜索?
简化版
SVM 调参应把缩放、C、gamma/核、类别权重放进同一 Pipeline,在正确的分组或时间交叉验证内做对数尺度搜索。先粗网格定位数量级,再局部细化,并保留独立测试。
详细版
-
线性核先做基线,确认非线性是否值得。
-
C/gamma 用
10^k搜索而非线性小步。 -
预处理必须每折独立 fit。
-
评分指标按业务选择,不均衡时避免 accuracy。
-
搜索预算、随机种子和失败配置要记录。
完整版教学
一、调参搜索的是泛化区域而非单点冠军
SVM 超参数常跨多个数量级,线性网格会浪费预算在同一尺度。
C 与 gamma 互相补偿,二维验证热力图比独立搜索更可靠。
最高均值配置若只领先噪声,可选择性能相近但更简单、更少支持向量的区域。
二、底层机制与公式
grid: C in 10^[-3..3]
gamma in 10^[-4..2]
select by mean CV and uncertainty/cost
三、带数字的推演
若 C=10、gamma=0.1 的 AUC 0.901±0.012,C=1000、gamma=10 为 0.903±0.030,后者不稳定且更复杂,不能只凭 0.002 选它。
四、方案对比
| 方案/对象 | 核心特点 | 代价或边界 |
|---|---|---|
| Grid search | 覆盖规则可视化 | 维度高时昂贵 |
| Random search | 多参数更高效 | 局部精细度随机 |
| Bayesian search | 利用历史试验 | 并行和噪声处理复杂 |
五、执行流程
建立 scaled linear baseline -> 粗 log 搜索 C/gamma -> 看热力图
-> 局部细化/稳定性 -> 以独立测试确认 -> 全开发集重训
六、边界条件与工程代价
在测试集看结果后回去改网格会污染测试;搜索所有决策应在开发集完成。
核 cache 与收敛 tolerance 可影响搜索耗时,超时配置不能被误当低分配置。
记忆钩子:SVM 搜参先统一尺度,再在 log C×log gamma 平面找稳定高地区,而不是追一颗偶然最高点。
七、常见误区与追问
-
误区:先全量标准化再 CV 更省事。 会泄漏验证分布。
-
追问:为何对数网格? 有效值通常跨数量级。
-
误区:C 和 gamma 可分别独立调。 两者共同控制边界复杂度。
-
追问:最高均值一定选吗? 还看方差、复杂度和成本。
-
追问:如何减少预算? 先线性/粗网格,再缩小区域或随机搜索。
八、加强记忆
SVM 搜参先统一尺度,再在 log C×log gamma 平面找稳定高地区,而不是追一颗偶然最高点。
最终选择还要同时比较折间方差、支持向量数量和推理成本;测试集只用于一次最终确认,不能看完结果再返回修改搜索空间。