台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization

简介: 上节课我们介绍了过拟合发生的原因并介绍了解决overfitting的简单方法。本节课,我们将介绍解决overfitting的另一种非常重要的方法:Regularization规则化。

image.png


1. Regularized Hypothesis Set


先来看一个典型的overfitting的例子:

image.png

如图所示,在数据量不够大的情况下,如果我们使用一个高阶多项式(图中红色曲线所示),例如10阶,对目标函数(蓝色曲线)进行拟合。拟合曲线波动很大,虽然Ein很小,但是Eout很大,也就造成了过拟合现象。


那么如何对过拟合现象进行修正,使hypothesis更接近于target function呢?一种方法就是regularized fit。

image.png

这种方法得到的红色fit曲线,要比overfit的红色曲线平滑很多,更接近与目标函数,它的阶数要更低一些。那么问题就变成了我们要把高阶(10阶)的hypothesis sets转换为低阶(2阶)的hypothesis sets。通过下图我们发现,不同阶数的hypothesis存在如下包含关系:

image.png

我们发现10阶多项式hypothesis sets里包含了2阶多项式hypothesis sets的所有项,那么在H10中加入一些限定条件,使它近似为H2即可。这种函数近似曾被称之为不适定问题(ill-posed problem)。

image.png

所以,如果限定条件是w3=w4=⋯=w10=0,那么就有H2=H10。也就是说,对于高阶的hypothesis,为了防止过拟合,我们可以将其高阶部分的权重w限制为0,这样,就相当于从高阶的形式转换为低阶,fit波形更加平滑,不容易发生过拟合。

image.png

那有一个问题,令H10高阶权重w为0,为什么不直接使用H2呢?这样做的目的是拓展我们的视野,为即将讨论的问题做准备。刚刚我们讨论的限制是H10高阶部分的权重w限制为0,这是比较苛刻的一种限制。下面,我们把这个限制条件变得更宽松一点,即令任意8个权重w为0,并不非要限定w3=w4=⋯=w10=0,这个Looser Constraint可以写成:

image.png

Looser Constraint对应的hypothesis应该更好解一些,但事实是sparse hypothesis set H2′被证明也是NP-hard,求解非常困难。所以,还要转换为另一种易于求解的限定条件。


那么,我们寻找一种更容易求解的宽松的限定条件Softer Constraint,即:

image.png

其中,C是常数,也就是说,所有的权重w的平方和的大小不超过C,我们把这种hypothesis sets记为H(C)。

image.png


2. Weight Decay Regularization


现在,针对H(c),即加上限定条件,我们的问题变成:

image.png

我们的目的是计算Ein(w)Ein(w)的最小值,限定条件是||w2||≤C。这个限定条件从几何角度上的意思是,权重w被限定在半径为√C的圆内,而球外的w都不符合要求,即便它是靠近Ein(w)梯度为零的w。

image.png

下面用一张图来解释在限定条件下,最小化Ein(w)的过程:

image.png


image.png

image.png

如果对于更一般的情况,例如逻辑回归问题中,∇Ein不是线性的,那么将其代入平行条件中得到的就不是一个线性方程式,Wreg不易求解。下面我们从另一个角度来看一下平行等式:

image.png

该函数中第二项就是限定条件regularizer,也称为weight-decay regularization。我们把这个函数称为Augmented Error,即Eaug(w)。


如果λ不为零,对应于加上了限定条件,若λ等于零,则对应于没有任何限定条件,问题转换成之前的最小化Ein(w)。


下面给出一个曲线拟合的例子,λλ取不同的值时,得到的曲线也不相同:

image.png

从图中可以看出,当λ=0时,发生了过拟合;当λ=0.0001时,拟合的效果很好;当λ=0.01和λ=1时,发生了欠拟合。我们可以把λ看成是一种penality,即对hypothesis复杂度的惩罚,λ越大,w就越小,对应于C值越小,即这种惩罚越大,拟合曲线就会越平滑,高阶项就会削弱,容易发生欠拟合。λ一般取比较小的值就能达到良好的拟合效果,过大过小都有问题,但究竟取什么值,要根据具体训练数据和模型进行分析与调试。

image.png

事实上,这种regularization不仅可以用在多项式的hypothesis中,还可以应用在logistic regression等其他hypothesis中,都可以达到防止过拟合的效果。

image.png


3. Regularization and VC Theory


下面我们研究一下Regularization与VC理论之间的关系。Augmented Error表达式如下:

image.png

image.png


4. General Regularizers



那么通用的Regularizers,即Ω(w),应该选择什么样的形式呢?一般地,我们会朝着目标函数的方向进行选取。有三种方式:

   1. target-dependent

   2. plausible

   3. friendly

image.png

其实这三种方法跟之前error measure类似,其也有三种方法:

   1. user-dependent

   2. plausible

   3. friendly


regularizer与error measure是机器学习模型设计中的重要步骤。

image.png

image.png

image.png

下面来看一下λ如何取值,首先,若stochastic noise不同,那么一般情况下,λ取值有如下特点:

image.png

以上两种noise的情况下,都是noise越大,相应的λ也就越大。这也很好理解,如果在开车的情况下,路况也不好,即noise越多,那么就越会踩刹车,这里踩刹车指的就是regularization。但是大多数情况下,noise是不可知的,这种情况下如何选择λ?这部分内容,我们下节课将会讨论。


5. Summary


本节课主要介绍了Regularization。首先,原来的hypothesis set加上一些限制条件,就成了Regularized Hypothesis Set。加上限制条件之后,我们就可以把问题转化为Eaug最小化问题,即把w的平方加进去。这种过程,实际上回降低VC Dimension。最后,介绍regularization是通用的机器学习工具,设计方法通常包括target-dependent,plausible,friendly等等。下节课将介绍如何选取合适的λ来建立最佳拟合模型。

相关文章
|
7月前
|
机器学习/深度学习 算法
【机器学习】正则化 Regularization 过拟合欠拟合
【1月更文挑战第27天】【机器学习】正则化 Regularization 过拟合欠拟合
|
3月前
|
机器学习/深度学习 Python
训练集、测试集与验证集:机器学习模型评估的基石
在机器学习中,数据集通常被划分为训练集、验证集和测试集,以评估模型性能并调整参数。训练集用于拟合模型,验证集用于调整超参数和防止过拟合,测试集则用于评估最终模型性能。本文详细介绍了这三个集合的作用,并通过代码示例展示了如何进行数据集的划分。合理的划分有助于提升模型的泛化能力。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
【机器学习】样本、特征、标签:构建智能模型的三大基石
【机器学习】样本、特征、标签:构建智能模型的三大基石
3253 0
|
机器学习/深度学习
⚡机器学习⚡广义的解释正则化(Regularization)
⚡机器学习⚡广义的解释正则化(Regularization)
⚡机器学习⚡广义的解释正则化(Regularization)
|
机器学习/深度学习 数据挖掘
干货|机器学习基石精选文章链接
下面这部分内容列出了机器学习基石的精选文章。
205 0
干货|机器学习基石精选文章链接
|
机器学习/深度学习
台湾大学林轩田机器学习基石课程学习笔记16(完结) -- Three Learning Principles
上节课我们讲了一个机器学习很重要的工具——Validation。
135 0
台湾大学林轩田机器学习基石课程学习笔记16(完结) -- Three Learning Principles
|
机器学习/深度学习 算法
台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决。
165 0
台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
|
机器学习/深度学习
台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度增加。
162 0
台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
|
机器学习/深度学习 算法 数据挖掘
干货 | 林轩田机器学习「基石+技法」历史文章汇总
干货 | 林轩田机器学习「基石+技法」历史文章汇总
169 0
|
1月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
99 4