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

机器学习之——正则化

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

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

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

什么是正则化?

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

上面的式子就是结构风险最小化策略的通用表达式,其中第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范数更合适。

上一篇:实用:用深度学习方法修复医学图像数据集
下一篇: 贝叶斯机器学习前沿进展
精选推荐
这些人型机器人是如此真实,你的肉眼几乎无法区分
这些人型机器人是如此真实,你的肉眼几乎无法区分

[2017-09-03]   我们生活在一个区分现实与幻想变得越来越困难的世界。由于机器人技术的进步,创造人工的人类正在逐渐接近完美的最终目标。我们现在看到的机器人不再只是一块发光二极管,......

什么是机器人学?机器人学简介
什么是机器人学?机器人学简介

[2017-12-14]  机器人学是工程学与科学的交叉学科,包括机械工程,电气工程,计算机科学等。机器人技术涉及机器人的设计、制造、操作和应用,以及用于控制、感官反馈和信息处理的计算机系统。...

国外眼科手术机器人为视网膜静脉阻塞患者带来希望
国外眼科手术机器人为视网膜静脉阻塞患者带来希望

[2017-03-20]  视网膜静脉阻塞,简称RVO,对患者来说是一种严重的疾病。该病病因为视网膜静脉中存在血液凝块,这可能导致视力严重下降,在某些情况下,病 ...

谷歌大脑发布ROBEL基准 鼓励用低成本机器人训练AI系统
谷歌大脑发布ROBEL基准 鼓励用低成本机器人训练AI系统

[2019-10-11]  训练AI系统的机器人D& 39;Claw和D& 39;Kitty用于控制机器人的人工智能系统,测量其性能所使用的基准通常仅限于为工业环境设计的昂贵硬件, ...

机器人从工业走向家庭  库卡KUKA目标是引领中国市场
机器人从工业走向家庭 库卡KUKA目标是引领中国市场

[2017-12-08]  机器人正在改变着人们的生活方式,而库卡KUKA想要在中国这个大蛋糕中占有一块大份额,库卡公司正在引领市场...

一个让深度学习惨败的通用人工智能领域——语境处理
一个让深度学习惨败的通用人工智能领域——语境处理

[2019-11-04]  Context是指用来解释一段给定文本或语句的来源框架,我们可以翻译为上下文或语境。维基百科将context定义为:*在符号学、语言学、社会学和 ...

MIT最新“人机”互连系统 让双腿机器人复制人体技能
MIT最新“人机”互连系统 让双腿机器人复制人体技能

[2019-11-01]  MIT的小爱马仕想借用你的大脑 ,图片来自: João Ramos爱吧机器人网消息,麻省理工学院(MIT)的研究人员展示了一种新型遥操作系 ...

MIT研制出可以像植物一样生长的机器人
MIT研制出可以像植物一样生长的机器人

[2019-11-09]  麻省理工学院开发了一种新型机器人,这种机器人可以本质上自我延伸,其生长方式与植物幼苗向上生长的方式惊人相似。值得注意的是,研究人员 ...

本周栏目热点

关于应用机器学习作为搜索问题的入门简介

[2018-01-03]  机器学习的应用可以理解为一个搜索问题,即根据某个项目的已知信息和可获取的资源,找到从输入到输出的最好的映射。在本文你即将看到把应用机器学习当作搜索问题的概念...

[2017-03-02]   随着人工智能的不断发展,许多新的机器学习技术、架构和算法被提出,但这里有三个宏观趋势,将成为机器学习中,游戏规则的改变者。 机 ...

顶级AI会议NIPS压轴2017(附PPT、视频、代码大汇总)

[2017-12-19]  NIPS,全称神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems),是一个关于机器学习和计算神经科学的国际会议。该会议固定在每年的12月举行...

机器学习之——正则化

[2018-05-18]  最近在刷李航的《统计学习方法》这本书,在很多算法的损失函数里,都出现类似的描述:损失函数最小化原则一般就是用正则化的极大似然估计进 ...

机器学习算法可预测出乳腺癌治疗率(图)

[1970-01-01]    据外媒报道,患有同种疾病的不同病人在接受同一种治疗方案时,其获得的疗效也会存在不同,这就给医生留下了一个难题:他们怎样才能知道 ...