机器学习中的正则化是什么原理?

注:因为的公式输入不便以及排版等等种种问题,这里仅仅转载了文字部分。建议你移步至我的博客阅览:KAAAsS‘s Blog - 简明机器学习教程

本篇文章作为下一篇实践篇的理论基础发布。注意,文章面向那些有一定机器学习基础的人,故文中涉及的部分内容并没有详细介绍。如果你还不太了解机器学习,那么我建议你先放下这篇文章。如果可能的话,还请你期待一下未来有可能出现的理论篇(☆゚∀゚)。话不多说,进入正题。

在机器学习中,我们应该已经见识过正则化(regularization)这一强大的解决过拟合(overfitting)问题的利器了。我们知道,在数据点不多的情况下,往往合理使用正则化能极大地改善过拟合问题。但是,你真的想过正则化是怎么起作用的吗?而为什么有时扩增数据集也能解决过拟合问题?如果你现在还不太清楚的话,那么这篇文章将会给你一个答案。

在估计模型参数的时候,我们往往会采取极大似然法来进行估计。这里做简单说明,对于一个分类模型,根据贝叶斯定理,我们有:

其中,X是数据集,y是数据类别,w是模型参数。其中我们知道分母就是归一化因子:

。我们来看剩下的几项,P(w|y)即在已知数据集下模型参数的概率,即w的后验概率(posterior)。而在贝叶斯观点看,我们就是要找一个值,让这个概率变得最大。剩下两项:P(y|w,X)叫似然(likelihood),它刻画了对不同的模型参数w而言,当前数据集出现的可能性。这一项可以被看作是一个关于w的函数,即似然函数(likelihood function)。还剩的一项P(w),叫先验概率(prior),也就是w的分布。不难看出,后验概率∝似然×先验概率。

回到极大似然法,同个这个方法估计模型参数的时候,我们注意到我们实际上仅仅关注了似然函数,而另一边的先验概率却被我们忽略了。试想,若我们忽略了w会如何?我们已经知道似然其实刻画的是数据集出现的可能性,而对于不同的极大似然解,似乎极大似然是“一视同仁”的。什么意思呢?就是说,在不同的两个极大似然解之间,极大似然方法丧失了辨别能力!所以,为了解决这个问题,我们需要引入那剩下的一项——先验概率。从而我们就能选择出一个更好的模型参数。是时候拿出纸和笔了。

考虑先验概率P(w),我们可以采用以下形式的高斯分布(即多元高斯分布):

m是数据点的个数,因为算上了偏置,所以w就是m+1维向量了。α是分布的精度。好了,现在我们根据上面的正比关系继续研究:

接下来让我们导入先验概率到极大似然估计中。记负对数似然函数(likelihood function)为J(w),即-ln P(y|w,X)=L(w)。即:

其中,由于$latex-ln\left\{ (\frac{ \lambda}{2\pi})^{\frac{m+1}{2}}\right\}$与w无关,所以大可省去。所以,我们的模型参数就可以通过极小化下式获得:

诶,等等……这不是正则化吗!没错,就是这样。而这种估计方法的名字正如它的名字那样——最大后验(maximum posterior,MAP)。而正则化是符合奥卡姆剃刀原理的,运用正则化方法后,在能正确贴合数据集的情况下,选择了最简单的模型。不过要注意的是,一般情况下,我们不会对偏置的那一项进行正则化。因为这会使得结果趋向于靠近原点。接下来我们来考虑训练中正则化的形式,首先来推导正则化后的梯度:

在线性回归的时候,我们还用知道了正规方程(normal equation),这里我们来推导正则化以后它的形式。因为是线性回归,J(w)定义如下:

令梯度为0:

其中,由于λ的系数是无所谓的,所以:

到此为止,本文就进入了尾声。通过本篇文章,希望你能建立起一个更系统话的对正则化的认识。如果你还有问题,欢迎你直接评论本文,或者发送至我的邮箱:[email protected]。如果你希望帮助我继续写下这些文章,可以在我博客的About-捐助页面找到捐助我的入口,随便砸我一个包子啦QwQ。

你可能感兴趣的:(机器学习中的正则化是什么原理?)