永州网,内容丰富有趣,生活中的好帮手!
永州网 > 百科 > 正文

机器学习中 正则化是怎么回事?

时间:2024-03-10 14:15:44

相关推荐

在机器学习中,正则化是一种用于帮助控制模型复杂度和防止过拟合的技术。通过向损失函数添加一个惩罚项,正则化可以限制模型参数的大小,从而减少模型对训练数据的过度依赖。正则化通常分为L1正则化和L2正则化两种,分别通过控制模型参数的绝对值和平方和来实现。这些技术有助于提高模型的泛化能力,使其能够更好地适应新的数据而不是只适用于训练集。正则化在实际应用中被广泛使用,特别是在高维数据和小样本数据集上,它有助于提高模型的性能并降低过拟合的风险。

数据挖掘入门与实战 公众号: datadw

在机器学习中最大的危险就是过拟合,为了解决过拟合问题,通常有两种办法,第一是减少样本的特征(即维度),第二就是我们这里要说的“正则化”(又称为“惩罚”,penalty)。

从多项式变换和线性回归说起

在非线性变换小节中,我们有讨论Q次多项式变换的定义和其包含关系,这里如果是10次多项式变换,那么系数的个数是11个,而2次多项式的系数个数是3。从中我们可以看出,所有的2次多项式其实是10次多项式加上一些限制,即w3=w4=...=w10=0。

基于上面的讨论,我们希望能将二次多项式表示成十次多项式再加上一些约束条件,这一步的目的是希望能拓宽一下视野,在推导后面的问题的时候能容易一些。

这个过程,我们首先要将二次多项式的系数w拓展到11维空间,加上w3=w4=...=w10=0这个条件得到假设集合H2;然后为了进一步化简,我们可以将这个条件设置的宽松一点,即任意的8个wi为0,只要其中有三个系数不为0就行,得到一组新的假设空间H2",但这个问题的求解是一个NP-hard的问题,还需要我们修正一下;最后,我们还需要将这个约束条件进一步修正一下得到假设集合H(C),给系数的平方的加和指定一个上限,这个假设集合H(C)和H2"是有重合部分的,但不相等。

最后,我们把H(C)所代表的假设集合称为正则化的假设集合。

下图表示了这个约束条件的变化:

正则化的回归问题的矩阵形式

由上图所示,我们现在要求解的是在一定约束条件下求解最佳化问题,求解这个问题可以用下面的图形来描述。

本来要求解Ein的梯度,相当于在一个椭圆蓝色圈中求解梯度为零的点,而下面这个图表示,系数w在半径是根号C的红色球里面(w需要满足的约束条件),求解蓝色区域使得梯度最小的点。

那么,最优解发生在梯度的反方向和w的法向量是平行的,即梯度在限制条件下不能再减小。我们可以用拉格朗日乘数的方法来求解这个w。

Ridge Regression

Ridge Regression是利用线性回归的矩阵形式来求解方程,得到最佳解。

Augmented Error

我们要求解这个梯度加上w等于0的问题,等同于求解最小的Augmented Error,其中wTw这项被称为regularizer(正则项)。我们通过求解Augmented Error,Eaug(w)来得到回归的系数Wreg。这其实就是说,如果没有正则项的时候(λ=0),我们是求解最小的Ein问题,而现在有了一个正则项(λ>0),那么就是求解最小的Eaug的问题了。

不同的λ造成的结果

从上图可以看出,当λ=0的时候就会发生过拟合的问题,当λ很小时(λ=0.0001),结果很接近理想的情况,如果λ很大(λ=1),会发生欠拟合的现象。所以加一点正则化(λ很小)就可以做到效果很好。

正则化和VC理论

我们要解一个受限的训练误差Ein的问题,我们将这个问题简化成Augmented Error的问题来求解最小的Eaug。

原始的问题对应的是VC的保证是Eout要比Ein加上复杂度的惩罚项(penalty of complexity)要小。而求解Eaug是间接地做到VC Bound,并没有真正的限制在H(C)中。

wTw可以看成是一个假设的复杂度,而VC Bound的Ω(H)代表的是整个假设集合有多么的复杂(或者说有多少种选择)。

这两个问题都好像是计算一个问题的复杂度,我们该怎么联系着两种复杂度的表示方式呢?其理解是,一个单独的很复杂的多项式可以看做在一类很复杂的假设集合中,所以Eaug可以看做是Eout的一个代理人(proxy),这其实是我们运用一个比原来的Ein更好一点点代理人Eaug来贴近好的Eout。

一般性的正则项 L1 Regularizer

L1 Regularizer是用w的一范数来算,该形式是凸函数,但不是处处可微分的,所以它的最佳化问题会相对难解一些。

L1 Regularizer的最佳解常常出现在顶点上(顶点上的w只有很少的元素是非零的,所以也被称为稀疏解sparse solution),这样在计算过程中会比较快。

L2 Regularizer

L2 Regularizer是凸函数,平滑可微分,所以其最佳化问题是好求解的。

最优的λ

噪声越多,λ应该越大。由于噪声是未知的,所以做选择很重要,我将在下一小节中继续接受有关参数λ选择的问题。

总结

过拟合表现在训练数据上的误差非常小,而在测试数据上误差反而增大。其原因一般是模型过于复杂,过分得去拟合数据的噪声和异常点。正则化则是对模型参数添加先验,使得模型复杂度较小,对于噪声以及outliers的输入扰动相对较小。

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

参考资料

机器学习中的范数规则化之(一)L0、L1与L2范数

/zouxy09/article/details/24971995

机器学习中的范数规则化之(二)核范数与规则项参数选择

/zouxy09/article/details/24972869

作者Jason Ding

/jasonding1354/article/details/44006935#comments

新浪微博名称:大数据_机器学习

数据挖掘入门与实战

搜索添加微信公众号:datadw

教你机器学习,教你数据挖掘

长按图片,识别二维码,点关注

收集不易,本文《机器学习中 正则化是怎么回事?》知识如果对你有帮助,请点赞收藏并留下你的评论。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(5)
  1. 一只吃(chun)货2024-03-10 15:01一只吃(chun)货[火星网友]202.21.148.6
    正则化可以在一定程度上控制模型的复杂度,对于提高模型在现实场景中的表现很有帮助。
    顶7踩0
  2. 小暖❤Siwon2024-03-10 14:52小暖❤Siwon[新疆网友]121.55.19.232
    在学习机器学习的过程中,正则化是必不可少的一部分,对于提高模型的泛化能力至关重要。
    顶8踩0
  3. xiiaogal2024-03-10 14:43xiiaogal[江西省网友]124.73.118.168
    我觉得正则化可以帮助模型更好地适应新的数据,是非常有用的技术。
    顶9踩0
  4. 五鬼2024-03-10 14:34五鬼[河北省网友]45.113.184.178
    正则化的作用是对模型参数进行惩罚,使得模型更加简洁、泛化能力更强。
    顶39踩0
  5. 冷→心2024-03-10 14:24冷→心[宁夏网友]203.28.169.102
    正则化在机器学习中是一种很重要的技术,可以有效避免过拟合问题。
    顶3踩0
相关阅读
经常头晕是怎么回事 最近经常头晕是怎么回事

经常头晕是怎么回事 最近经常头晕是怎么回事

头晕在一定程度上会影响日常生活和工作效率,因此需要及时采取措施加以缓解

2024-03-06

手掉皮怎么回事

手掉皮怎么回事

当皮肤失去水分和油脂时,会变得干燥并容易脱落

2024-03-06

反复发烧咳嗽是怎么回事呢

反复发烧咳嗽是怎么回事呢

那么反复发烧咳嗽是怎么回事呢呢?下面就给大家来介绍一下其中的原因

2024-03-08

白带多发黄是怎么回事

白带多发黄是怎么回事

正常情况下,女性白带应该是透明或乳白色,具有轻微的酸性,但当白带变得多且颜色偏黄时,可能暗示着潜在的健康问题

2024-03-10

四川农信社定向招聘笔试复习无进展怎么办

四川农信社定向招聘笔试复习无进展怎么办

复习是一个持续的过程,需要耐心和恒心

2024-03-10