机器学习中的正则化约束 - 结构风险

简介

 结构风险(structural risk):描述模型与训练样本的拟合程度,以及模型的复杂程度。

正则化的由来   有几种角度来看待正则化(Regularization),它符合奥卡姆剃刀(Occam’s razor)原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。还有个说法就是,正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularization term)或惩罚项(penalty term)或权重衰减项(weight decay term)。

  高维统计分析模型通常都是稀疏模型,即真正有效的变量只占一小部分,绝大多数变量都是噪声数据。因此当模型的参数过多时,不仅无法提高模型的解释力,反而会降低模型的解释力。   在这个背景下,统计学家提出了各种各样的变量选择方法来筛选模型中重要的解释变量,从而防止过拟合问题。其中正则化是最常用的一种方法,而正则化方法中最常见的就是L0, L1 和L2范数。

  正则化方法的思想:处理最优化函数问题时,在目标函数中加入对参数的约束惩罚项,从而达到简化模型的目的。

常见的结构风险

L0范数:就是指矩阵中非零元素的个数,很显然,在损失函数后面加上L0正则项就能够得到稀疏解,但是L0范数很难求解,是一个NP问题,因此转为求解相对容易的L1范数(l1能够实现稀疏性是因为l1是L0范数的最优凸近似)

L1

L1正则化使得模型更加稀疏,

L1范数:矩阵中所有元素的绝对值的和。损失函数后面加上L1正则项就成了著名的Lasso问题(Least Absolute Shrinkage and Selection Operator),L1范数可以约束方程的稀疏性,该稀疏性可应用于特征选择: 比如,有一个分类问题,其中一个类别Yi(i=0,1),特征向量为Xj(j=0,1~1000),那么构造一个方程 Yi = W0X0+W1X1···WjXj···W1000X1000+b; 其中W为权重系数,那么通过L1范数约束求解,得到的W系数是稀疏的,那么对应的X值可能就是比较重要的,这样就达到了特征选择的目的

L1 正则化在零点不可微,因此权重以趋近于零的常数因子增长。很多神经网络在权重衰减公式中使用一阶步骤来解决非凸 L1 正则化问题。

elastic net 的提出 是为了 可以解决feature之间的 高相关性 问题,单纯Lasso 一般会在一个 高相关性 的 特征group 里面选取一个显著特征, zou 的paper 里面有相关证明。 当然解决 高相关性的方法还有 group lasso , general fused lasso 等 从几何解释来讲 elastic net 很像 L1 到 L2 之间一个 penalty, 但不同之处在于 elastic net 具有 L1 的特性,sparsity, 函数并不是smooth 的。这个具体可以参考 Element of statistical learning 的第三章。

https://www.zhihu.com/question/38081976

L2

二范数,等价于Gauss共轭先验

L2使得模型参数更趋近于0,提高泛化能力

稀疏约束

普通参数的稀疏约束

一范数,等价于Laplace共轭先验

归一化后的参数稀疏

\[P=(p_1,p_2...p_n)\]

  • 共轭先验是狄利克雷分布,可通过先验参数控制稀疏程度。

  • 可用二范数

  • 可用1范数。

其他约束

  1. 正交约束: AA' = 对角阵

  2. 单位正交约束: AA' = I

  3. 另外sum=1 + 平方和=1 这就是稀疏约束。

AA'为对角阵

|AA'-E|_2

参考

http://www.cnblogs.com/stevenlk/p/6247992.html