Hi,大家好,我是半亩花海。接着上次的回归中的正则化(含过拟合、惩罚)继续更新《白话机器学习的数学》这本书的学习笔记,在此分享分类中的正则化相关评估原理。本章的基于前几节已建立的模型进行评估知识的学习,欢迎大家交流学习!
目录
一、分类的正则化
在上一篇问文章中我们介绍了正则化,正则化是减少过拟合的有效手段。上一节《机器学习 | 评估原理——回归中的正则化(含过拟合、惩罚)-优快云博客》讨论的是回归的情况,对于分类也可以应用正则化,大家还记得逻辑回归的目标函数吗?也就是对数似然函数,如下所示。
同理,分类也就是在这个目标函数中增加正则化项即可。
注意一下前面添加了负号,那么对数似然函数本来以最大化为目标。但是,这次我想让它变成和回归的目标函数一样的最小化问题,所以加了负号。这样就可以像处理回归一样处理它,所以只要在整体后面加上正则化项即可。
换句话说,反转符号是为了将最大化问题替换为最小化问题。反转了符号之后,在更新参数时就要像回归一样,与微分的函数的符号反方向移动才行。目标函数的形式变了,参数更新的表达式也会变。不过,只要再把正则化项的部分也微分即可。
二、包含正则化项的表达式的微分
在之前的的学习中,我们把回归的目标函数分成了 和
,这是新的目标函数的形式,我们要对它进行微分。
因为是该目标函数式加法样式,所以需要对各部分进行偏微分。
是原来的目标函数,讲解回归的时候我们已经求过它的微分形式,如下式所示。
所以接下来只要对正则化项进行微分即可。正则化项只是参数平方的和(如下式所示),所以其微分也比较好求。
对正则化项进行微分的结果如下。
可以看出,在微分时表达式中的 被抵消,微分后的表达式变简单了。那么最终的微分结果如下式所示。
将此最终微分结果代入到参数更新表达式里,得到参数更新表达式如下式所示。
这就是这加入了正则化项的参数更新表达式。不过,我们之前说过一般不对 应用正则化。
对
微分的结果为 0,所以
时表达式中的
就消失了。因此,实际上我们需要像这样区分
和
这两种情况,如下两式所示。
逻辑回归的流程也是一样的:
原来的目标函数是
,正则化项是
,现在对
进行微分。
在上面的表达式中我们已经求过逻辑回归原来的目标函数
的微分,不过现在考虑的是最小化问题,所以要注意在前面加上负号。也就是要进行符号的反转。
另外,刚才我们已经求过正则化项
的微分了,可以直接使用。
也就是说这次不需要任何新的计算。那么,参数更新表达式应该是这样的——这次我把
的情况区分出来了。
刚才我们介绍的方法其实叫 L2 正则化。除 L2 正则化方法之外,还有 L1 正则化方法。它的正则化项 是这样的。
L1 正则化的特征是被判定为不需要的参数会变为 0,从而减少变量个数。而 L2 正则化会抑制参数,使变量的影响不会过大,不会把参数变为 0。之前我们说过二次式变为一次式的例子,用 L1 正则化就可以实现。
使用哪个正则化取决于要解决什么问题,不能一概而论。现在只要记住有这样的方法就行,将来一定会有用的。