图解机器学习读书笔记-CH6:鲁棒学习

鲁棒学习

最小二乘法易受异常值影响
异常值处理:

  1. 提前剔除异常值再训练
  2. 提高异常值的鲁棒性--鲁棒学习算法

1. L1损失最小化

J_{LS}(\theta) = \frac{1}{2}\sum_{i=1}^nr_i^2
r_i个样本的残差:

L2损失随残差呈平方级增长:


L1损失最小化学习较最小绝对值偏差学习\hat \theta_{LA}

L1损失LS受异常值影响较小:


L2损失LS输出结果是训练样本输出值的均值:


L1损失LS输出结果是训练样本输出值的中间值:


对于L1损失LS, 只要中间值不变, 异常值对最终结果影响不大.

2.Huber损失最小化

Huber损失LS能很好地平衡有效性和鲁棒性.
Huber混合使用了L1和L2损失:


公式:


  • r为残差的绝对值. |r|小于阈值\eta(正常值), 则为L2损失, 否则(异常值), 为L1损失
  • 为了和L2损失平滑连接, 省去了\frac{\eta^2}{2}

最终的Huber损失LS:


应用到线性模型:


图示:


权重\tilde{w}_i定义:

Huber LS和Tukey损失权重函数对比:


Huber损失最小化学习和Tukey检验的权重函数

加权最小二乘学习法的解:


反复加权最小二乘学习:


对线性模型禁行Huber LS学习(阈值\eta=1):

\eta非常小是, Huber LS是L1损失的平滑近似, 故可通过反复加权最小二乘法对L1损失近似求解.

3.Tukey损失最小化

同Huber, 是对L1和L2损失优化组合, 平衡有效性和鲁棒性的学习方法.

Tukey损失:


公式:


  • 残差绝对值|r|大于\eta(异常值)时, 以\frac{\eta^3}{6}的形式输出, 具有非常高的鲁棒性
  • Tukey损失不是凸函数, 有多个局部最优解, 不易求得全局最优解
  • 通过反复加权LS求局部最优解

权重函数:


|r| > \eta 时, 权重变为0, 故Tukey损失LS完全不受显著异常值影响

Tukey损失最小化学习举例:


4.L_1约束的Huber损失

约束条件:


  • L1约束LS: 通过L2约束的LS反复迭代求得
  • Huber损失最小化: 加权LS反复迭代求得
  • 上述两者都是最小二乘法(LS)反复迭代, 通过二者优化组合, 可得L1约束的Huber损失最小化算法

以高斯核模型:


为例, 下面展示了L1约束Huber损失最小化迭代求解过程:


高斯核模型L1约束的Huber损失最小化学习举例:


  • L2损失LS数值上不稳定, 在矩阵KWK对角中加入10^{-6}以稳定
  • L2损失LS, 无论是否有L1约束, 都易受x=0附近异常值影响
  • Huber损失LS中, 无论是否有L1约束,均可很好地抑制异常值影响
  • L2损失LS和Huber损失LS中50个参数全部非0
  • L1约束的L2损失LS的50个参数有38个为0; L1约束的Huber损失LS的50个参数中有36个为0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容