[Machine Learning] 正则化(Regularization)
点Ta
5 Regularization(正则化)
5.1 The problem of overfitting
case1:
- 第一个模型是一个线性模型,欠拟合,不能很好地适应训练集;
- 第三个模型是一个四次方的模型,过于强调拟合原始数据,而丢失了算法的本质:预测新数据。即,若给出一个新的值使之预测,它将表现的很差;
- 而中间的模型似乎最合适。
case2:
同上。
过拟合的解决方法
5.2 Cost Function
上面的回归问题中模型是:
一般而言,正是那些高次项导致了过拟合的产生,所以如果能让这些高次项的系数接近于 0 的话,就能很好的拟合了,所以可以在一定程度上减小这些参数???? 的值,这正是正则化的基本方法。当要减少????3和????4的大小,需要做的便是修改代价函数,在其中????3和????4 设置一点惩罚。在尝试最小化代价时也需要将这个惩罚纳入考虑中,并最终导致选择较小一些的????3和????4。
修改后的代价函数:
通过这样的代价函数选择出的????3和????4 对预测结果的影响就比之前要小许多。假如有非常多的特征,并不知道其中哪些特征需要惩罚,可以将对所有的特征进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。这样的结果是得到了一个较为简单的能防止过拟合问题的假设:
其中????又称为正则化参数(Regularization Parameter)。 注:根据惯例,我们不对????0 进行惩罚。经过正则化处理的模型(粉色)与原模型(蓝色)的可能对比如下图所示:
如果选择的正则化参数 λ 过大,则会把所有的参数都最小化了,那么????(不包括????0)都会趋近于 0,这样我们所得到的只能是一条平行于????轴的直线,模型变成 ℎ????(????) =????0,造成欠拟合。
5.3 Regularizede linear regression(正则化线性回归)
对于线性回归的求解,之前推导了两种学习算法:一种基于梯度下降,一种基于正规方程。
正则化线性回归的代价函数为:
如果要使用梯度下降法令这个代价函数最小化,因为未进行正则化,所以梯度下降算法将分两种情形:
对上面的算法中???? = 1,2, . . . , ???? 时的更新式子进行调整可得:
可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令????值减少了一个额外的值。
注:在梯度下降时,对任意的θj的处理可以分为两部分,J(θ)的偏导数 + 单独针对该θj的正则化项。
同样也可以利用正规方程来求解正则化线性回归模型,方法如下所示:
图中的矩阵尺寸为 (???? + 1) ∗ (???? + 1)。
5.4 Regularized Logistic Regression(正则化的逻辑回归模型)
针对逻辑回归问题,之前已学习过两种优化算法:首先学习了使用梯度下降法来优化代价函数????(????),接下来学习了更高级的优化算法,这些高级优化算法需要自己设计代价函数????(????)。
对于逻辑回归,代价函数正则化的表达式:
要最小化该代价函数,通过求导,得出梯度下降算法为:
注:看上去同线性回归一样,但是知道 ℎ????(????) = ????(????????????),所以与线性回归不同。????0不参与其中的任何一个正则化。