稳与简:好模型的两个隐性标尺
稳与简:好模型的两个隐性标尺
我们夸一个医生靠谱,不光看他诊断准不准。还得看两样:碰到说不清症状的病人,他会不会慌?开检查单时,是不是总想多开几项才安心?前者是稳,后者是简。换到机器学习里,这两个词有个更技术的名字:鲁棒学习和稀疏学习。
不过它们管的事儿不太一样。一个管数据乱不乱,一个管模型杂不杂。鲁棒性操心的是输入被扰动了、标签标错了、测试集和训练集长得不像了,模型还能不能扛住。稀疏性则盯着特征那么多哪些是真有用的,参数那么杂能不能只留关键的。目标不同,但都是为了让模型别光会做题,还得做得踏实、说得明白。
鲁棒学习:让模型在混乱中站稳
模型一上真实数据就崩,多半是因为训练时没见过这种“意外”。对付这类问题,路子不少。对抗训练是最常见的,专门防输入被人动手脚;分布鲁棒优化(DRO)则更宽泛些,不管是自然偏移还是某个子群体表现差,它都试着在最坏的分布下保住性能;认证防御走另一条路,直接给出数学保证,说“只要扰动不超过这个半径,结果一定没错”。
拿对抗训练来说,它的完整写法是 minθ E(x,y)∼D [max‖δ‖_p≤ε L(fθ(x+δ), y)]。简单讲就是:一边调参数θ让损失变小,一边允许扰动δ在ℓ_p范数限制的ε球里拼命把损失搞大。这个ε球其实就是扰动的天花板,后面聊“ε设太大导致干净样本变差”时,说的就是这个上限没卡好。这么做下来,模型的决策边界会被磨得圆滑些,小打小闹就不容易把它带沟里去。
稀疏学习:在高维中抓住关键
特征比样本还多的时候,模型特别容易把噪声当规律记下来。这时候就得靠稀疏学习帮它做减法。方法挺多,L1正则化、贪心选择、结构化稀疏都算主流。
L1为什么能选出零权重?关键在次梯度。‖w‖₁在原点不可导,它的次梯度是个区间[-λ, λ]。如果损失函数对某个权重的偏导绝对值没超过λ,那这个权重就可以稳稳停在零上。很多人喜欢用菱形和等高线相切来解释,几何直觉有用,但别当成因果,真正起作用的是次梯度条件。