[视频讲解]史上最全面的正则化技术总结与分析!

作者:黄海安

编辑:栾志勇

PART

01 摘要

引言

正则化是一种有效的防止过拟合、提高模型泛化能力方法,在机器学习和深度学习算法中应用非常广泛,本文从机器学习正则化着手,首先阐述了正则化技术的一般作用和概念,然后针对L1和L2范数正则从4个方面深入理解,最后对常用的典型算法应用进行了分析和总结,后续文章将分析深度学习中的正则化技术。

注意:本文有对应的视频讲解,如果对文中哪里不理解的可以观看对应的视频。

视频讲解链接

百度网盘地址:

链接:http://pan.baidu.com/s/1bplk5eZ

密码:myd3

PART

02 正则化作用及其常见术语

张量

正则化技术广泛应用在机器学习和深度学习算法中,本质作用是防止过拟合、提高模型泛化能力。过拟合简单理解就是训练的算法模型太过复杂了,过分考虑了当前样本结构。其是防止过拟合的其中一种技术手段。

在早期的机器学习领域一般只是将范数惩罚叫做正则化技术,而在深度学习领域认为:能够显著减少方差,而不过度增加偏差的策略都可以认为是正则化技术,故推广的正则化技术还有:扩增样本集、早停止、Dropout、集成学习、多任务学习、对抗训练、参数共享等。(具体见“花书”,会在下一次文章中重点分析)。

对于机器学习领域正则化技术可以从以下几个不同角度进行理解:

(1) 正则化等价于结构风险最小化,其是通过在经验风险项后加上表示模型复杂度的正则化项或惩罚项,达到选择经验风险和模型复杂度都较小的模型目的

经验风险:机器学习中的风险是指模型与真实解之间的误差的积累,经验风险是指使用训练出来的模型进行预测或者分类,存在多大的误差,可以简单理解为训练误差,经验风险最小化即为训练误差最小。

结构风险:结构风险定义为经验风险与置信风险(置信是指可信程度)的和,置信风险越大,模型推广能力越差。可以简单认为结构风险是经验风险后面多加了一项表示模型复杂度的函数项,从而可以同时控制模型训练误差和测试误差,结构风险最小化即为在保证模型分类精度(经验风险)的同时,降低模型复杂度,提高泛化能力。

公式表达

关系图

从上图可以看出,随着训练程度加深,模型复杂度会增加,偏差减少,方差增大,而泛化误差呈现U型变化,对于一个“好的系统”通常要求误差小,正则化的作用即为适当的控制模型复杂度,从而使得泛化误差曲线取最小值。

(2) 正则化等价于带约束的目标函数中的约束项

(3) 从贝叶斯角度考虑,正则项等价于引入参数的模型先验概率,可以简单理解为对最大似然估计引入先验概率,从而转化为最大后验估计,其中的先验概率即对于正则项(这部分内容后面详细讲解)。

PART

03 基本概念

图形描述

假设向量长度为2维,则有下列图形:

假设向量长度为3维,则有下列图形:

从上述各图可以看出:q(p)越小,曲线越贴近坐标轴,q(p)越大,曲线越远离坐标轴,并且棱角越明显,当q(p)取0时候,是完全和坐标轴贴合,当q(p)取无穷的时候,呈现正方体形状。同时也可以看出,采用不同的范数作为正则项,会得到完全不同的算法模型结果,故而对于不同要求的模型,应该采用不同的范数作为正则项。

PART

04 深度理解

为了更好的理解正则化技术原理,下面从4个方面进行深度分析,希望对大家理解有帮助。

简单数值假设分析法

此处以L2范数讲解,下面的各图形来自吴恩达的机器学习课程。

图4 不同参数下的曲线拟合结果

图形分析法

此处采用L1和L2范数讲解:

(1) L2范数正则

(2) L1范数正则

公式推导分析法

贝叶斯推断分析法

以L1和L2范数为例,所得结论可以推广到P范数中,首先需要知道:整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式。针对L1和L2范数还有结论:L2范数相当于给模型参数设置一个协方差为1/alpha的零均值高斯先验分布,L1范数相当于给模型参数设置一个参数为1/alpha的拉普拉斯先验分布

为了讲清楚上述结论,需要具备几点前置知识点:(1) 高斯分布和拉普拉斯分布的定义和形状;(2) 贝叶斯定理;(3) 最大似然估计;(4) 最大后验估计。下面我对这4个知识点进行解释。

(1) 高斯分布和拉普拉斯分布

(2) 最大似然估计

如果上述公式不能理解,请各位读者去复习一下大学课程《概率论与数理统计》中的参数估计章节,为了更方便理解,下面举一个例子:假设我要统计出整个大学内所有同学的身高分布情况,设全校一共20000人,数量庞大,所有人都去问一遍不太靠谱,所以我打算采用抽样方法来估计,假设我已经知道身高分布服从高斯分布,但是我不知道高斯分布中的均值和方差参数,现在我打算采用最大似然估计方法来确定这两个参数。首先需要明确,全校20000即为总体X,我随机从各个班抽取10名同学,假设一共抽了2000个同学,那么2000同学就构成了样本空间,由于每个样本的概率密度函数已知,则很容易写出似然函数,对数求导即可求解参数。

(3) 最大后验估计

PART

05 典型算法应用

逻辑回归

二分类逻辑回归使用Sigmoid作为决策函数进行分类,该函数可以将任意的输入映射到[0,1]区间,当预测结果小于0.5,则表示负类,当预测结果大于0.5.则表示正类,其模型本质是求最大似然估计,具体求解似然函数通常使用梯度下降法,而前面说过:最大似然估计法没有考虑训练集以外的因素,很容易造成过拟合,故而逻辑回归一般采用L2范数进行正则化操作,Sigmoid函数定义和图形如下:

岭回归(RidgeRegression)

岭回归本质上是针对线性回归问题引入了L2范数正则,通过缩减回归系数避免过拟合问题,最先用来处理特征数多于样本数的情况(高维小样本问题),现在也用于在估计中加人偏差,从而得到更好的估计,加了正则化后的代价函数如下:

Lasso回归

拉索回归(lasso回归)本质上是针对线性回归问题引入了L1范数正则,通过缩减回归系数避免过拟合问题,其不同于L2范数,其可以将某些系数缩减为0即所谓的具备稀疏性(稀疏性的好处是简化计算、容易理解模型、减少存储空间、不容易出现过拟合等等),加了正则化后的代价函数如下:

其中,参数函数和岭回归中相同。L1范数罚有一个问题:由于|X|函数在0处不可导,故而直接使用最小二乘法、梯度下降法等方法均失效,但是由于其为第一类间断点中的可去间断点,可以通过补充该点的定义解决,通常,对于线性回归中的lasso回归可以采用近似的前向逐步回归替代。

SVM

支持向量机SVM优化目的为寻找一个超平面,使得正负样本能够以最大间隔分离开,从而得到更好的泛化性能,其通过引入核函数来将低维线性不可分的样本映射到高维空间从而线性可分,通过引入惩罚参数C(类似于正则化参数)来对错分样本进行惩罚,从而减少模型复杂度,提高泛化能力,其优化目标如下:

大家如果不知道上面公式的推导,不用紧张,对于本次内容不是重点,只需要关注后面正则项部分,惩罚参数C作用和正则化参数作用一致,只是反相关而已。需要明白以下结论:

(1) C越大,正则化参数越小,表示对分错样本的惩罚程度越大,正则化作用越小,偏差越小,方差越大,越容易出现过拟合(通俗理解,原本将低维空间映射到5维空间正好线性可分,但是由于惩罚过于严重,任何一个样本分错了都不可原谅,结果系统只能不断提高维数来拟合样本,假设为10维,最终导致映射维数过高,出现过拟合样本现象,数学上称为VC维较大);

(2) C越小,正则化参数越大,表示对分错样本的惩罚程度越小,正则化作用越大,偏差越大,方差越小,越容易出现欠拟合(通俗理解,原本将低维空间映射到5维空间正好线性可分,但是由于惩罚过小,分错了好多样本都可以理解,比较随意,结果系统也采用简化版来拟合样本,假设为3维,最终导致映射维数过低,出现欠拟合样本现象,数学上称为VC维较小)。

PART

06 技术总结

本文从各个角度深入的分析了机器学习算法中使用到的正则化技术,正则化技术是机器学习和深度学习中非常重要的内容,不管是在面试、笔试还是实际应用中都至关重要,通过本文您应该知道以下重要结论:

(1) 正则化的作用是防止过拟合、提高模型泛化能力

(2) 正则化等价于结构风险最小化

(3) 正则化等价于带约束的目标函数中的约束项

(4) 正则项等价于引入参数的模型先验概率

(5) 在误差符合均值为0的高斯分布,则最大似然估计和最小二乘法等价

(6) 最大后验估计就是在最大似然估计函数上面乘上了一项先验分布而已

(7) L2范数相当于给模型参数设置一个零均值高斯先验分布,L1范数相当于给模型参数设置一个拉普拉斯先验分布

(8) L0和L1正则可以得到稀疏解,而L2不能,并且参数优化速度L1快于L2,但是L2更容易理解,计算更方便。

有一个需要注意的地方:正则化方法一般都是不对偏移项进行正则的,原因是它们也没有和数据直接有乘法等交互,其不会影响到最后结果中某个数据维度的作用,如果你执意要对其进行正则化,也是可以的,对结果没有多少影响。

前面讨论了,正则化是一种可以有效防止过拟合的方法,然而如何判断模型是否或者容易出现过拟合?常用的办法有:(1) 比较模型对验证集和训练集的识别精度,如果验证集识别精度大幅低于训练集,则可以判断模型存在过拟合;(2) 训练集的代价函数快速下降至0附近,也可以怀疑出现了过拟合;(3) 样本个数比特征个数少,也很容易出现过拟合。

由于本人水平有限,如果哪里有写错的或者理解不到位的,欢迎提出建议!

PART

07 参考内容

[1] 概率论与数理统计浙大版(第四版)教材

[2] 吴恩达CS229课程

[3] Deep Learning

[4] pattern recognition and machinelearning

[5] http://www.jianshu.com/p/a47c46153326

[6] http://www.jianshu.com/p/f71848c7aaf3

[7] https://www.zhihu.com/question/23536142/answer/90135994

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

卷积神经网络「失陷」,CoordConv来填坑

Uber 利用卷积神经网络解决许多方面的问题,其中就包括坐标变换。从自动驾驶汽车的设计到路标的自动检测、再到地图的绘制,Uber 都需要使用卷积网络完成坐标变换...

1053
来自专栏大数据挖掘DT机器学习

神经网络训练中的Tricks之高效BP(反向传播算法)

Tricks!这是一个让人听了充满神秘和好奇的词。对于我们这些所谓的尝试应用机器学习技术解决某些问题的人,更是如此。曾记得,我们绞尽脑汁,搓手顿足,大喊“为什...

2986
来自专栏专知

【深度学习RNN/LSTM中文讲义】循环神经网络详解,复旦邱锡鹏老师《神经网络与深度学习》报告分享03(附pdf下载)

【导读】复旦大学副教授、博士生导师、开源自然语言处理工具FudanNLP的主要开发者邱锡鹏(http://nlp.fudan.edu.cn/xpqiu/)老师撰...

7518
来自专栏AI研习社

视频 | 硅谷深度学习网红传授超参数优化宝典

AI 研习社按:今天为大家带来硅谷深度学习网红 Siraj 在人工智能在线大会 AI WITH THE BEST(AIWTB)上的演讲,雷锋字幕组独家译制。本次...

3295
来自专栏大数据挖掘DT机器学习

用交叉验证改善模型的预测表现-着重k重交叉验证

机器学习技术在应用之前使用“训练+检验”的模式(通常被称作”交叉验证“)。 ? 预测模型为何无法保持稳定? 让我们通过以下几幅图来理解这个问题:...

3226
来自专栏自然语言处理

程序员眼中的统计学7

正态分布是最重要的一种概率分布。正态分布概念是由德国的数学家和天文学家Moivre(棣莫弗)于1733年受次提出的,但由于德国数学家Gauss(高斯)率先将其应...

601
来自专栏机器之心

教程 | 从检查过拟合到数据增强,一文简述提升神经网络性能方法

1313

用强化学习学习优化

自从去年我们发表论文“ 学习优化 ”以来,优化器学习领域受到越来越多的关注。在这篇文章中,我们介绍这一行的工作,分享我们对这个领域的机遇和挑战的看法。

3138
来自专栏磐创AI技术团队的专栏

粒子群优化算法(PSO)之基于离散化的特征选择(FS)(一)

前言:在机器学习中,离散化(Discretization)和特征选择(Feature Selection,FS)是预处理数据的重要技术,提高了算法在高维数据上的...

2825
来自专栏机器学习算法与Python学习

PCA在图像降维的应用

(自动编码器优化之主成分分析)从实例和数学背景的引导下详细的介绍了PCA的原理以及定义,并以旋转数据的角度论述其数据降维的实质,如何从降维之后的数据还原近似原始...

3499

扫描关注云+社区