机器学习笔记09:过拟合,正则化回归 木灵的炼金工作室

过拟合问题

最小二乘法是无偏性的,也就是说,在正常运行情况下,最小二乘算法会得到在训练集上均方误差最小的模型。在某些情况下,由于模型的学习能力过剩(参数过多),在训练时很可能过于接近训练集,也就是将训练样本自身的一些特点当作了所有泛化样本共有的性质,反而导致泛化情况下误差增大的现象称为过拟合现象。对于广义的(也就是包括了高阶的或非多项式的)线性回归模型,过拟合的产生多是由于模型提供了过多的参数,而这些参数(尤其是高阶项的参数)在拟合过程中得到了过大的值,导致曲线过于”曲折”,不能正常反映客观规律(一般是简洁而平滑的)。

对于这个问题,最直观的解决方案是去除一部分属性和模型的参数,但这种方式可能会舍弃掉潜在的有效规律,故不是一个非常好的做法。

我们分析上述过拟合产生的原因:由于某些点发的偏离数据,某些参数得到了过大的值,因此我们可以通过某种方法限制这些过大的参数值。

L2正则化,岭回归

如果想要通过某种方法控制一个模型的拟合结果,最好的抓手就是代价函数。

对于有$n$个参数的线性模型$\Theta$,我们重写最小二乘法的代价函数:

\[J(\Theta) = \frac{1}{m}[\sum_{i=0}^m(h_\Theta(X_i) - y_i)^2+\gamma\sum_{j=1}^n\theta_j^2]\]

通过最小化上述的代价函数,我们即可得到”削减参数总值”的模型。这样的方法是在20世纪50年代,由前苏联数学家吉洪诺夫提出的,被称为吉洪诺夫正则化、岭回归。我们可以调控$\gamma$来控制我们所期望拟合出曲线的”平滑程度”。

注意到上述求和式中$j$是从$1$开始计数的,这是因为$\theta_0$是一常数项,其大小只影响截距而不影响曲线的形态,没有必要将其一并最小化。

岭回归的正规方程解释

我们在之前推导出最小二乘优化的超定方程解法:

\[\vec{W}=(\vec{A}^T\vec{A})^{-1}\vec{A}^T\vec{Y}\]

并特化地指出在矩阵$\vec{A}^T\vec{A}$不可逆时使用Moore–Penrose广义逆运算的解法。实际上,这种解法仍无法回避多重共线性问题:即虽然矩阵$\vec{A}^T\vec{A}$可逆,但它有若干列向量极度接近共线状态,这就导致其行列式非常接近$0$,而逆矩阵计算时行列式位于分母之上:

\[A^{-1} = \frac{A^*}{ \begin{Vmatrix} A \end{Vmatrix} }\]

这就导致了在多重共线性情况下,通过最小二乘优化求出的模型参数的数值非常大,导致过拟合的发生。

岭回归给了我们另一种解决$\vec{A}^T\vec{A}$不可逆的方式:约定矩阵$C$为如下形式(这个矩阵被称为岭矩阵):

\[C = \begin{pmatrix} 0& 0& 0& ...& 0\\ 0& 1& 0&...& 0\\ 0& 0& 1&...& 0\\ ...&...&...&...&...\\ 0&0&0&...&1\\ \end{pmatrix}\]

则岭回归的模型可以写作如下形式:

\[\vec{W}=(\vec{A}^T\vec{A}+\lambda C)^{-1}\vec{A}^T\vec{Y}\]

可以证明,上式的结果与梯度下降法的结果相等。


Copyright AmachiInori 2017-2021. All Right Reserved.
Powered By Jekyll.
amachi.com.cn