机器学习之正则化

1  正则化

正则化(regularization)是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。

正则化一般具有如下形式:                     

                

其中,第一项是经验风险,第二项是正则化项,λ是调整经验风险和正则化间的系数,称为正则化系数。

正则化项可以取不同的形式。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数:

这里,||w||2表示参数向量w的L2范数,L2范数为向量w中各个元素的平方和。

正则化项也可以是参数向量的L1范数:

这里, ||w||1表示参数向量w的L1范数,L1范数为数向量w中各个元素的绝对值之和。

第1项的经验风险较小的模型可能较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。

正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。

机器学习之正则化_第1张图片

      在机器学习回归问题中如果我们的模型是:         

可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于0的话,我们就能很好的拟合了。

机器学习之正则化_第2张图片

机器学习之正则化_第3张图片

机器学习之正则化_第4张图片

机器学习之正则化_第5张图片

1.1     正则化项参数λ的选择

在训练模型的过程中,一般会使用一些正则化方法来防止过拟合。但是我们可能会正则化的程度太高或太小了,即我们在选择λ的值时也需要思考与选择多项式模型次数类似的问题。

机器学习之正则化_第6张图片

选择一系列的想要测试的λ值,通常是0-10之间的呈现2倍关系的值(如:0,0.01、0.02、0.04、0.08、0.15、0.32、0.64、1.28、2.56、5.12、0共12个)。把数据分为训练集、交叉验证集和测试集。

机器学习之正则化_第7张图片

选择λ的方法为:

1、 使用训练集训练出12个不同程度正则化的模型;

2、 用12个模型分别对交叉验证集计算得到交叉验证误差;

3、  选择交叉验证误差最小的模型;

4、运用步骤3中选出模型对测试集计算得出推广误差,我们也可以同时将训练集和交叉验证集模型的代价函数误差与λ的值绘制在一张图表上。

机器学习之正则化_第8张图片

当λ较小时,训练集误差较小(过拟合)而交叉验证集误差较大。

随着λ的增加,训练集误差不断增加(欠拟合),而交叉验证集误差则是先减小后增加。

1.2   正则化分类

正则化分为L1正则化和L2正则化,具体表达式如下图所示。

机器学习之正则化_第9张图片

在逻辑回归模型中,L1正则化模型亦称为LASSO回归;L2正则化模型亦称为岭回归。

1.3    正则化的演化

优化函数:

机器学习之正则化_第10张图片

机器学习之正则化_第11张图片

机器学习之正则化_第12张图片

1.4     L1与L2正则化的选择

机器学习之正则化_第13张图片

L1/L2范数让模型变得稀疏,加了模型的可解析性。但L1范数的稀疏性强,因此,L1正则化可用于特征选择。

L2范数让模型变得更简单,经常用于防止过拟合问题。

机器学习之正则化_第14张图片

L1正则化比L2正则化更容易得到稀疏解,因此,L1与L2正则化的选择有:

机器学习之正则化_第15张图片

1.5    正则化的直观理解

1、上面正则化演化中提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?

稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0。通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是0或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

2、 为什么L1正则化可以产生稀疏模型

(L1是怎么让系数等于零的)假设有如下带L1正则化的损失函数:

机器学习之正则化_第16张图片

机器学习之正则化_第17张图片

L1正则化

机器学习之正则化_第18张图片

机器学习之正则化_第19张图片

机器学习之正则化_第20张图片

类似,假设有如下带L2正则化的损失函数:

通用可以画出它在二维平面的图形,如下图所示;

机器学习之正则化_第21张图片

L2正则化

3、为什么L2正则化可以防止过拟合?

拟合过程中通常都倾向于让权值尽可能小,最后构造一个所有参数都比较小的模型。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』。

那为什么L2正则化可以获得值很小的参数?

机器学习之正则化_第22张图片

机器学习之正则化_第23张图片

最开始也提到L1正则化一定程度上也可以防止过拟合。之前做了解释,当L1的正则化系数很小时,得到的最优解会很小,可以达到和L2正则化类似的效果。

1.6    优缺点

提高了模型的泛化能力,但损失了模型的精度。

1.7    应用

在监督性机器学习中,每个模型基本用到正则化项,就以线性模型为例,则有:

1、    线性回归中的正则化

线性回归的代价函数J(θ)表达式如下:

正则化后,代价函数J(θ)表达式如下,注意j从1开始:

我们的目标依然是求J(θ)最小值,我们还是用梯度下降算法和正规方程求解最小化J(θ)。

1)        梯度下降算法(注意需要区分θ0和其它参数的更新等式)

机器学习之正则化_第24张图片

2)        正规方程

机器学习之正则化_第25张图片

2、逻辑回归中的正则化

和线性回归模型类型相似,逻辑回归也可以通过正则化来解决过拟合问题。逻辑回归的代价函数J(θ)表达式如下:

机器学习之正则化_第26张图片

机器学习之正则化_第27张图片

2  改进算法性能的方法

之前讲过,当你运行一个学习算法时,如果这个算法的表现不理想,那么多半是出现两种情况:要么是偏差比较大,要么是方差比较大。

若交叉验证集或测试集误差远大于训练集误差时,模型的方差较大,处于过拟合状态。模型过拟合时,可使用L2正则化来减少过拟合。当增大正则化系数λ时,则对模型参数以大的惩罚,减少模型的复杂度,减缓模型的过拟合。当正则化系数λ增加过大时,模型处于欠拟合状态。此时,可以适当的调整正则化系数λ,即减少λ以避免欠拟合。因此,我们可以通过以下方法来解决偏差与方差及过拟合问题,从而提高算法的性能。

机器学习之正则化_第28张图片

3  参考资料

[1].《机器学习》   ---周志华

[2].《统计学习方法》---李航

[3]. DeepLearning.ai笔记

[4]. https://blog.csdn.net/jinping_shi/article/details/52433975

[5].https://blog.csdn.net/zouxy09/article/details/24971995

你可能感兴趣的:(机器学习,人工智能,机器学习,人工智能,深度学习)