-->

机器学习40讲_13_12_正则化处理收缩方法与边际化

你好,我是王天一。

今天我和你分享的主题是正则化处理收缩方法与编辑化。

正则化它是机器学习当中最重要的概念之一,可以说是机器学习里的刮骨疗毒,刮的呢是过拟合。

这个任何机器学习方法都无法摆脱的复箍之躯。

本质上讲呢,过拟合就是模型过于复杂,复杂到削弱了它的泛滑性能。

由于训练数据的数目是有限的那我们总可以通过增加参数的数量来提升模型的复杂度,进而呢降低训练误差。

可是人尽皆知的是学习的本领越专精,那么应用的口径就越狭窄。

过于复杂的模型。

就像那个御膳房里专门切黄瓜的御厨,让他改切萝卜就下不去刀了。

正则化是用于抑制过拟合呃很多方法的同称,它通过动态调整估计参数的取值,来降低模型的复杂度,以偏差的增加为代价来换取方差的下降。

它的原理在于啊,当一些参数足够小的时候,他们所对应的属性啊对于输出结果的贡献就会微乎其微。

这就相当于在实质上去,除了非相关属性的影响。

在线性回归当中呢,最常见的正则化方式就是在损失函数里添加一个正则化项。

那么添加的正则化项呢往往是待估计参数的一个p范数。

这个p呢可以取到不同的值,将均方误差和参数的范数两者之和作为一个整体来进行约束和优化。

就相当于说额外的添加了一重关于参数的一个限制条件啊,必须得满足这个限制条件才是合理的解。

这样做的好处呢就是避免大量参数同时出现较大的趋值。

由于正则化的作用呢通常是让参数估计值的幅度哎产生一个下降。

所以在统计学里,它也被称为叫系数收缩的方法。

将正则画像应用在基于最小二乘的线性回归里面啊,就可以得到线性回归的不同的修正。

添加正则画像之后呢,这个损失函数可以写成拉格朗日橙子的姓氏。

点击文稿。

你可以看到这个表达式。

在这个表达式里面呢,拉姆达是用来平衡均方误差和参数约束两者之间关系的一个超参数。

当正则化项是参数的一范数的数,修正的结果就是lasso.当正则化项是参数二范数平方的数,修正的结果就是零回归。

当这个正则化项是一半数和二范数平方啊,两个的线性组合的数,修正的结果就是弹性网络lyself l和领回归啊,这两类正则化具有不同的几何意义。

点击文稿,你可以看到它们的可视化的表示。

在这个图当中呢,蓝色的点表示外普通最小二乘法计算出来的这个最优参数啊,也就是最优解。

那么外面的每一个蓝色的圆圈呢都表示的是损失函数的等值线。

这意味着在每个圆圈上当,我取到这个不同参数的时候,它们的误差都是相等的。

而从里到外呢这个误差会越来越大红色边界呢表示的则是正则画像对参数取值的一个约束。

出于方便起见呢,这里假定了未知参数的数目是两个,那么就可以画在一个二维的坐标轴上领。

回馈的要求是什么呢?两个参数的平方和小于某个固定的取值,也就是w一的平方加上w二的平方小于一个t这时的解空间是什么呢?就是一个圆形,一个圆形。

而lasso要求两个参数的绝对值之和小于某个固定的趋值啊,也就是w一的绝对值加上w二的绝对值小于t.这个时候它的解空间就变成了这个浅色区域所代表的一个方形不同的正则画项啊,给参数不同的约束。

那么它们的几何意义也是不一样的。

不管你采用哪一种政策化的方式最优解呢,它都只能出现在浅色区域所代表的这个约束条件之中。

所以呢这个误差等直线和红色边界,它第一个焦点第一个出现的焦点就是正则化处理后的最优的参数。

那么焦点出现的位置呢会取决于边界的形状,圆形的领回归边界它是平滑的曲线。

所以这个误差等值线呢,实际上可能在任何位置和边界相切,也就是在这个圆儿的任何位置啊产生一个切点。

相比之下呢方形的lasso边界啊是有棱有角的一个直线啊,一点都不平滑啊,就是一条直线。

这种情况下呢,切点最可能出现在这个方形的顶点上面出现在顶点上,意味着什么呢?顶点是这个边界和坐标轴的交点切点出现,在这里意味着某个参数的取值就被衰减为零。

这张图呢形象的说明了领回归和lassl的区别。

领回归的作用呢是衰减,不同属性的权重效果是让所有的属性一起向圆心收拢啊,也就是一起向所有参数都等于零的这个方向去收拢。

Lesson呢会直接将某些属性的权重降低为零。

啊,我直接就把你砍掉了。

那么完成的呢是属性过滤的任务。

弹性网络作为两者的折中,它结合了两者的优点,它不会轻易的将某些属性抛弃啊,从而呢让全部的信息都得以保留。

但是对不重要的特征也不留情面,会毫不客气的大幅度削减它的权重系数。

上面这种对正则化的认识呢来自于频率主义的视角。

那么在上一季的专栏当中,我也曾经介绍过从概率的角度看呢,领回归是当参数w满足正态分布时用最大后验概率进行估计的结果。

Leasso则是当参数w满足拉普拉斯分布时用最大后验概率进行估计的结果。

这样的结论呢体现出来贝叶斯主义对政策化的理解。

所谓的正则化就是引入关于参数的这个鲜艳的信息。

但是要是翻开贝叶斯主义的机器学习词典的话啊,你是找不到政策化这个词。

因为这个概念呢并没有显示的存在,而是隐式的融入到了贝斯定理之中。

贝叶斯方法它会假设带估计的未知参数满足一定的概率分布。

因此呢未知参数对预测结果的影响啊并不体现为满足某种最优性的估计值啊。

没错,我说的就是最大自然,估计它的影响应该是通过积分消除掉未知参数所引入的这个不确定性。

这个过程呢在之前探讨贝叶斯视角下的概率的时候啊,已经通过爱丽丝和bob投球的这个例子啊做了解释。

你可以回忆一下,在贝叶斯的术语当中啊,把未知的随机变量按照它的概率分布啊给它积分成常量消解掉。

这个变量的过程就是边际化。

边际化呢是贝叶斯估计当中非常重要的核心概念,他起到的就是政策化的作用。

还是以线性回归为例,假设每个输出y都是它的属性x的线性组合和服从正态分布零西格玛平方的噪声,两者的叠加。

那么属性的权重系数w呢则满足均值为零,方差为阿尔法啊这样的一个未知参数的经验分布。

那么利用训练数据y来估计测试数据啊,也就是未知的数据。

外星的时候啊,首先就可以写出表示输出的这个预计分布这样的一个条件概率。

在这个条件概率当中呢,它包含着阿尔法啊,还有西格马平方这两个独立于训练数据的超参数,两者分别对应着参数的性质,还有噪声的性质。

那么在频率主义的最大自然估计当中呢,预测结果并不会将参数w的估计准确性表示到结果当中。

而贝叶斯主义它会根据w每一个可能的取值计算出对应的结果啊,外星再对连续分布的w取平均再对连续分布的w做积分,以得到外星的概率分布。

这个呢就是上面的这个表达式的含义。

对于预测的结果外星来说,那它的不确定性一方面来源于训练数据外,另一方面呢也来源于未知的超参数,阿尔法还有西格玛的平方。

但事实上呢超参数只是一个人为设定的数值啊,在真实的估击任务当中啊,我们需要得到的是和任何多余的参量都没有关系的。

这个条件概率我们说在全贝叶斯的框架之下,要积分掉超参数的影响,那就必须一视同仁的。

对于超参数也进行一个概率分布的建模,超算数也是满足一定的分布的啊,那么这样的分布呢也要通过积分来消除掉它的不确定性的影响。

这些超参数的先验信息呢,我们把它叫做超先验啊,引入超线验之后,目标的这个概率就可以进一步的写成预计分布。

对于超参数的一个积分。

听到这儿呢,你肯定被这么多乱七八糟的符号啊,以及这复杂的过程搞得晕头转向。

因为正常人都会有这种感觉啊,这呢也是贝叶斯概率啊,或者说贝叶斯的机器学习啊所为人诟病的一个缺点啊,过程过于复杂,积分太多啊,难以求出解析解。

所以呢要计算这个复杂的积分的话,我必须要使用一些近似的技巧啊。

第一个技巧是什么呢?利用条件概率的性质啊,我可以写出在已知训练数据的时候,参数还有超参数的这个条件概率。

接下来呢在根据训练数据确定超参数的时候呢,就需要做出一些简化啊,不做简化的话,这是没法解的啊,是一个无解的问题。

简化的方式是什么呢?将超参数啊在实数域上的概率密度,我给它近似为最可能的取值。

这最可能的取值呢分别表示为阿尔法MP,还有西格玛平方MP.这样做实际上就是用最可能的一个点啊去代替原来的概率分布,利用贝叶斯定理可以得出来啊,所谓的最可能的超参数趋值啊,它是应该让后验概率啊最大化啊,也就是已知数据的时候,超参数它取到的概率应该是最大化的啊,这种情况下它对应的就是最可能的点取值。

在计算当中呢,因为超参数的取值是任意的啊,我也不知道它具体有哪些偏好,所以把他们的超限压啊设定为无信息的限压就是一个合理的选择。

无信息的先验呢通常是均匀分布,那么超参数自己的先验概率这时候就变成一个常数。

所以呢寻找最可能的阿尔法MP,还有西格玛平方的MP,就变成了计算边际似然概率的最大值。

那么把这个边际自然概率对待估计的参数进行进一步展开的话啊,就可以将后验概率最大化,等效成为似然概率的最大化。

似然概率的最大化,就要求我们计算这个似然概率。

那么计算自然概率呢就是要找到让训练数据外出现概率最大的这样的超参数。

阿尔法还有西格玛的平方,表示噪声的强度的这个超参数。

西格玛平方呢其实它是一个固定的取值啊,通常呢我们可以通过多次的试验啊,直接的测出来,直接给它测出一个纸。

那么在确定了西格马平方之后,接下来呢就可以用梯度下降法啊这种最优化的方法来求解最优的阿尔法。

总结起来呢,利用贝叶斯概率来确定最优参数的步骤啊,是可以归纳成下面的这个流程。

首先求解的对象是已知训练数据的情况下啊,测试数据的条件概率。

那么要计算这个条件概率呢,就要对所有的未知的参数也好,超参数也好,进行积分啊,消除掉这些变量。

而在这个已知的数据和未知的超参数之间搭起一座桥梁啊,把这两者联系起来的正是待估计的参数。

W他把条件概率的求解分解成两个部分。

一个部分呢是根据已知数据去推断参数。

另一个部分是根据参数推断未知数据。

在根据已知数据推断参数的时候呢,又要先推断超参数啊,再利用超参数和数据一块的来推断参数。

当然了,对于超参数的推断是复杂的过程啊,但是可以通过边际自然概率加以简化。

点击文稿,你可以看到这个过程当中,所有的公式的推导和具有直观几何意义的领回归。

相比呢贝斯编辑处理当中啊,一个接一个的条件概率没法不让人头疼。

那么这么复杂的方法,它到底有什么意义呢?它的价值就在于计算出来的结果啊,就是最优的结果。

这事怎么来理解呢?频率主义的正则化只是引入了一个正则化系数拉姆达,但拉姆达的最优值到底是多少呢?不知道只能靠重复实验来确定。

这时候呢就需要用验证集来评估每个备选的拉姆达它的最优性啊,但即使选出来的这个lambda啊,在验证数据集上是最优的,他也未见得啊,就在所有的数据当中都是最优。

相比之下呢,贝叶斯主义的边际化啊在参数估计当中就完成了正则化的这个过程,让边际自然概率最大的超参数,它就是最优的超参数。

相应的啊我也可以通过选取啊在求出来的这个条件概率的这个分布当中啊,具有最大的概率的取值。

最大概率的这个y星啊作为最优的输处。

这样做的好处呢就是所有的数据都可以用于训练,不需要额外的划分出一个验证基础的。

啊,这段数据较少的时候是非常有用的。

在编程里呢,很多第三方的派送库啊,都可以直接实现不同的政策化处理。

在SK论啊这个库当中线性模型的模块liny model类啊,它的两个类啊,lasso类,还有rich类啊,就可以分别的实现l一政策化,还有l二的政策化使用这两个类啊,对上一篇文章中拟合出来的多元线性回归的模型啊,包含着四个属性的多元线性回归的模型进行政策化处理。

在处理当中呢,将两种算法当中正则化降的参数啊都设置为拉姆达等于零点零五啊,就可以得到修正之后的结果啊,点击文稿。

你可以看到这个结果,线性系数的变化,它直观的体现出两种政策化不同的效果。

啊,在没有政策化处理的多元线性回归当中啊,用红框圈出来的这个系数啊是比较反直觉,它是一个小于零的值啊,意味着什么呢?意味着门将的表现对球队的积分啊起到的是一个副作用,这样的结论明显不合常理。

但是我们看到啊,这个问题在两种政策化的操操作当中都得以了解决。

Lassso是将四个特征当中两个的系数缩减为零啊,这意味着有一半的特征被淘汰掉的啊,这这其中就包括这倒霉的守门员。

因为在lesso看来呢,对于比赛做出贡献的只有中场和前锋球员,只有这两个属性的参数是非零的。

啊,相比之下呢中场的作用又远远的不及前锋。

这样的结果呢其实可以理解成啊对于我们日常生活当中啊,对英超注重进攻的这个直观印象的一个印证。

和蓝速相比啊,领回归它保留了所有的特征啊,并且给门将的表现呢赋予了一个接近于零的权重啊,来削弱他对结果的影响。

其他的权重系数它也和原始的多元回归结果更加接近。

但是领回归和lsso回归啊,两者的均方误差都会高于普通线性回归的均方误差。

它的原因在于啊通过降低方差来抑制过拟合,必然会导致偏差的上升。

今天呢我和你分享了频率观点下的正则化,还有贝叶斯观点下的边界化,以及他们在线性回归中的应用。

包括这以下四个要点。

第一,正则化的作用是抑制过拟合,通过增加偏差来降低方差,提升模型的半化性能。

第二,正则画像的作用是对企业空间添加约束,在约束范围内寻找产生最小误差的系数。

第三,频率视角下的正则化和贝叶斯视角下的边际化,两者的作用是相同的。

第四,编辑化对未知的参数和超参数进行积分,以消除它们的影响。

天然的具有模型选择的功能。

在今天的内容当中啊,尤其是在贝叶斯的编辑化当中啊,我们介绍了很多公式。

其实贝叶斯对于概率的处理啊本身就是一个非常非常复杂的过程啊,这也是他一直啊没有流行起来的原因。

如果说对于这些公式啊,不能完全理解和掌握啊,也没有关系啊,也不用着急。

重点呢是先理解概念啊,对流程有一个整体的把握啊,如果能够在这些基础上的话,继续的吃透这些公式啊,那对于理解贝叶斯方法还是大有好处。

但是呢我们还是要先抓重点啊,先抓主线啊,没有必要一开始就陷入到啊公式复杂的细节当中去。

最后需要说明的是呢,正则化的最优参数啊,通常会通过交叉验证进行模型选择来产生啊,也就是在不同的数据子集上啊,我计算出不同的拉姆达在择优取值。

但是呢由于呃英超数据集这个数据集的样本数目比较少啊,只有二十个,所以呢也就没添加这个交叉验证的过程。

领回归和lesso都能降低模型的方差。

但是他们处理参数的方式是不一样啊,得到的结果也有所不同。

那么在你看来,这两种正则化的手段分别会适用于什么样的场景呢?欢迎发表你的观点。