爱吧机器人网 » 技术 > 机器学习 > 正文

机器学习之——正则化

最近在刷李航的《统计学习方法》这本书,在很多算法的损失函数里,都出现类似的描述:

损失函数最小化原则一般就是用正则化的极大似然估计进行模型选择。

正则化到底是什么呢?正则化应该怎么去理解?到底又有什么作用呢?

什么是正则化?

正则化就是在损失函数后加上一个正则化项(惩罚项),其实就是常说的结构风险最小化策略,即经验风险(损失函数)加上正则化。一般模型越复杂,正则化值越大。

上面的式子就是结构风险最小化策略的通用表达式,其中第2项(绿色标记的部分)就是本文要讲的正则化项,第1项就是损失函数。可能你会问,有第一项不就可以将训练数据拟合得很好嘛,模型的表现也会很棒吗?没错,但是在监督学习中,我们同时更加关注测试数据在模型上的表现,也就是模型的泛化能力。

监督机器学习问题归根结底就是“minimizeyour error while regularizing your parameters”,也就是说规则化参数的同时最小化误差。最小化误差是为了让我们的模型更好的拟合训练数据,而规则化参数是防止模型过分拟合我们的训练数据(overfiting)。多么简约的哲学啊!因为模型参数太多会导致模型复杂度上升,容易发生过拟合,也就是训练误差会很小。但我们的最终目标不仅是训练误差小,而且更关注模型的测试误差是否也很小,目的是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才有比较好的泛化性能,而要使得模型“简单”就是通过规则函数来实现,也就是正则化。

说了半天,其实总结就是一句话,正则化的目的就是防止过拟合!

L1正则化和L2正则化

终于进入正题了,深呼吸开动你的大脑,干货来了。

一般,正则化项就是一些L1范数和L2范数(因为L0范数用的少,所以不作讨论)。

L1范数——各参数的绝对值之和(稀疏规则算子)

L2范数——各参数的平方和的开方(权重衰减)

初中数学就能理解这些了,那到底在损失函数中加入这些玩意有什么用呢?好,别慌,很简单,公众号文章的目的就是用口水话讲看起来高深的玩意。

L1正则化

细心的读者肯定发现了,在上面L1 范数的概念中的最后写了个稀疏规则算子,对,我也不知道是什么一开始(毕竟不是学数学出身的)。6个字中应该只有最前面2个字有价值吧,语文还是可以的(哈哈)。“稀疏”,就是少的意思,想想损失函数后面加个带参数的项,想干嘛?前面罗里吧嗦说了很多,意思就是如果没这个项,模型复杂度高,模型容易过拟合。加了这个项,就可以防止过拟合(大神是这么说的)。所以,稀疏二字的意思可以得知,肯定是将参数变少了呗,模型复杂度降低了。

一般来说,xi的大部分元素(也就是特征)都是和输出yi没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xi额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑(比如噪声数据),从而干扰了对正确yi的预测。稀疏规则化算子的引入就是为了完成特征自动选择,它会去干掉这些没有信息的特征,也就是把这些特征对应的权重变为为0。

我们来看个经典的图:

\

在二维的情况下,只有2个参数,利用梯度下降算法在(w1, w2)平面上可以画出目标函数的等高线。而那个四边形就是正则化项(L1)对应的图形。最优解就在等高线和四边形相交的地方。从图中可以看出,相交的地方,w1等于0。回到之前讨论的,稀疏二字,也就是将w1干掉了,模型最后剩下w2参数。换句话讲,该正则项的目的就是将关联不大的特征直接剔除,只保留部分特征。因为在有些数据下,只有少数特征对模型有贡献,绝大部分特征是没有贡献的。所以,L1范数(||W||1)的重要作用就是特征选择。

L2正则化

L2范数: ||W||2。这玩意能改善过拟合。让L2范数的规则项||W||2最小,我们可以使W的每个元素都很小,接近于0。但与L1范数不同的是不会让它等于0,而是接近于0。想想看为什么不也直接让它等于0呢?

如果我们将w都变的很小很小,但是又不等于0,就好比一个人去小吃街吃好吃的,一开始进小吃街就将前几家店的东西吃撑了,后面还有好多美食没品尝到,这是不是傻呢?大部分店都吃一些是不是就知道哪些才好吃,下次去的时候就会优先选择好吃的店。对于模型也差不多这个意思吧,如果把有些参数都干掉,万一这个参数未来在某些情况能发生作用呢(天知道)。可能举得例子不太贴切,表达的意思应该可以理解吧。这样做的目的就是,让模型的泛化能力更强些(因为模型的参数更多了。知识储备多了,可以解决一些复杂的问题)

\

也用一个经典的图来说明,从图中可以看出,二维平面下L2正则化的函数图形是个圆,与方形相比,被磨去了棱角。最优解的点就是为了让w1和w2的值都变得尽量小,当w变小时,园就会变小,w的值将会向0靠近。L2正则项可以获得很小的权重系数,减小模型的复杂度。

小结

L1会趋向于产生少量的特征,而其他的特征都是0。而L2会选择更多的特征,这些特征都会接近于0.

只有少数特征起重要作用的情况下,选择L1范数比较合适,因为它能自动地选择特征。

而如果所有特征中大部分特征都能起作用,而且起的作用很平均,那么使用L2范数更合适。

上一篇:实用:用深度学习方法修复医学图像数据集
下一篇: 贝叶斯机器学习前沿进展
精选推荐
CES 2018:英特尔推出49量子位芯片争夺量子霸权
CES 2018:英特尔推出49量子位芯片争夺量子霸权

[2018-01-10]  在与Google、IBM的一场关于建立量子计算系统的马拉松比赛中,英特尔通过了一个关键的里程碑。近日,这个科技巨头已经推出了一个49个量子位 ...

全自动膝关节置换手术机器人被美国FDA批准上市
全自动膝关节置换手术机器人被美国FDA批准上市

[2019-10-14]  美国Think Surgical公司已获得美国食品和药物管理局(FDA)的批准,在美国销售用于全膝关节置换(TKA)的TSolution One®全膝关节应用 ...

人工神经网络技术解码人类行为和想象时的大脑活动信号
人工神经网络技术解码人类行为和想象时的大脑活动信号

[2017-08-23]  为搜索引擎过滤信息,棋盘游戏对弈,识别图像 人工智能在某些任务中远远超过了人类智能。来自弗莱堡由神经科学家私人讲师Tonio Ball博士领导的几个杰出的BrainLinks-Bra......

麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群
麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群

[2019-10-31]  几天前,小编向大家介绍过麻省理工(MIT)研发的一种自组装机器人集群(点此阅览),它们可以用统一标准的小单元自动组装出各种大型结构。 ...

Crossbar将电阻式RAM推入嵌入式AI
Crossbar将电阻式RAM推入嵌入式AI

[2018-05-17]  电阻RAM技术开发商Crossbar表示,它已与航空航天芯片制造商Microsemi达成协议,允许后者在未来的芯片中嵌入Crossbar的非易失性存储器。此举是在先进制造业节点的领先代工厂选......

亚马逊计划建一个4000万美元的机器人中心
亚马逊计划建一个4000万美元的机器人中心

[2019-11-07]  爱吧机器人网消息,亚马逊11月6日宣布了一项计划,计划在美国马萨诸塞州韦斯特伯勒建立一个4000万美元、35万平方英尺的机器人创新中心。新 ...

机器人iCub作为嵌入式AI的标准机器人研究平台的重要性
机器人iCub作为嵌入式AI的标准机器人研究平台的重要性

[2017-12-24]  机器人的研究在过去10年中得益于一个具有嵌入式人工智能(AI)的标准化开源平台——人形机器人iCub。iCub最初在意大利被创建,如今在欧洲、美国、韩国、新加坡和日本的实验室......

美国喷气推进实验室的AI驱动无人机挑战人类飞行员
美国喷气推进实验室的AI驱动无人机挑战人类飞行员

[2017-12-08]  随着无人机及其组件越来越小,效率越来越高,功能越来越强大,我们已经看到越来越多的研究开始让无人机自主飞行在半结构化的环境中,而不依赖于外部定位。 宾夕法尼亚大学在......

本周栏目热点

深度学习反向传播算法(BP)原理推导及代码实现

[2017-12-19]  分析了手写字数据集分类的原理,利用神经网络模型,编写了SGD算法的代码,分多个epochs,每个 epoch 又对 mini_batch 样本做多次迭代计算。这其中,非常重要的一个步骤,......

如何在机器学习项目中使用统计方法的示例

[2018-07-23]  事实上,机器学习预测建模项目必须通过统计学方法才能有效的进行。在本文中,我们将通过实例介绍一些在预测建模问题中起关键作用的统计学方法。...

[2017-08-28]  模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。1、固体退火原理:将固体加温 ...

Machine Learning-感知器分类算法详解

[2018-05-31]  今天我们来讲解的内容是感知器分类算法,本文的结构如下:什么是感知器分类算法,在Python中实现感知器学习算法,在iris(鸢尾花)数据集上训练一个感知器模型,自适应线性神......

机器人是怎么深度学习的?

[2016-03-29]      一个人独处时,感觉有点孤单,怎么办?微软亚洲研究院推出的微软小冰,或许 ...