L1,L2正则化

正则化形式

  • $L_0$范数,指向量中非零元素个数

  • $L_1$正则化(Lasso regularization):
    $$
    C = C_0 + \lambda\sum | \omega |
    $$

  • $L_2$ 正则化(Ridge):
    $$
    C = C_0 + \lambda\sum\omega^2
    $$

L0/L1正则化

都可以实现参数稀疏。但L0优化求解是NP难问题,而L1是L0的最优凸近似,比L0有更好的优化求解特性。
参数稀疏的好处:

  1. 可以进行特征选择
    自动完成特征选择,把没有信息的特征权重变为0。

  2. 可解释性
    由特征稀疏(部分权重为0)可以带来更好的解释性。

L2正则化

  1. 倾向于让特征参数接近0而非直接变为0,这会鼓励分类器将所有维度上的特征都用起来,而不是强烈依赖其中少数几个维度。从而可以防止过拟合,提升模型范化能力。

  2. 可以帮助逃离局部最优?加上L2后损失函数会更加平滑和强凸,从而抚平局部波谷?

  3. 加速迭代优化

    不加L2时,损失函数可能形如右图。因此,当参数离最优值还有很大距离时,由于梯度过小,而迭代学习缓慢。加入L2后,呈现强凸,可以快速迭代到最低点。

L1/L2正则化

  1. 下降速度?
    L1比L2更快?

  2. 模型空间限制
    代价函数可以改写成如下形式:
    $$ L_1: \quad min_\omega C_0 \quad s.t.\quad |\omega|_1 \leq C$$
    $$ L_2: \quad min_\omega C_0 \quad s.t.\quad |\omega|_2 \leq C$$

    绘制登高线图后,可以看到L1倾向于权重为0,L2倾向于小权重

数学解释

设:
$$f(x) = \delta(x;\omega) + \epsilon$$
其中$\epsilon$为误差。

  1. 假设$\epsilon_i \thicksim \mathcal{N}(0,\sigma^2)$,则利用极大似然法可以推出最小二乘。

  2. 假设$\epsilon_i \thicksim \mathcal{N}(0,\sigma^2)$,$\omega_i \thicksim \mathcal{N}(0,\tau^2)$,各参数相互独立,则利用最大后验估计可以推出Ridge回归。

  3. 假设$\epsilon_i \thicksim \mathcal{N}(0,\sigma^2)$,$\omega_i \thicksim \mathcal{Laplace}(0,b)$,各参数相互独立,则利用最大后验估计可以推出Lasso回归。

推导过程 给出了具体推倒,其中线性回归模型假设可以弱化。
需要注意先验分布是各参数联合分布。当误差不服从高斯分布时,就无法推出均方误差代价。

权重结构角度

以上分析强调控制有效参数数目从而抑制过拟合,这部分则从权重结构的角度来进行分析。资料源自CS231n课程笔记翻译:线性分类笔记(中

考虑多类支持向量机损失:
\begin{split}L_i = \sum_{j \neq y_i} \max (0,\omega_j^T x_i - w_{y_i}^T x_i + \Delta) \end{split}

对于该损失函数,将会有很多的权重集可以正确分类数据。最简单的例子就是对于一个满足的权重集进行同比放大。因此,在这种情况下,施加正则项,可以控制权重结构,对某些特定权重添加一些偏好,对其他的则不添加,以此消除模糊性,使得模型更有效。

reference

机器学习中的范数规则化之(一)L0、L1与L2范数
bayes先验角度理解L1、L2
CS231n课程笔记翻译:线性分类笔记(中