机器学习入门——正则化

机器学习入门——正则化

问题引入

机器学习入门——正则化
当预测函数的项次数过高时,算法为了降低代价,也就是差异,会跑出一条畸形的曲线。

虽然这条畸形的曲线完美的拟合了所有的数据点,但是显然这样一条曲线并不具有可推广性、泛化性。对于以后给出的数据也不能准确的预测。这种情况称为拟合过度

一般在数据量较小,而特征值较多的情况下,过度拟合发生的概念较高。

正则化

为了在保留较小的高次项的基础上,解决过度拟合,我们需要进行正则化。

我们对于原有的代价函数J(θ)J(\theta),使之增加对于高次项的惩罚,例如:
J(θ):=J(θ)+1000θ42J(\theta):=J(\theta)+1000\theta_4^2
这样做的影响很明显,最后的预测函数中,θ4\theta_4会尽可能的小。


但是实际上,我们需要让预测函数曲线更加的平滑,这需要使所有的参数都不要太大,所以,一般的正则化如下:
机器学习入门——正则化
注意,由于θ0\theta_0影响的只是预测值的上下浮动距离,所以并不需要对其正则化。

正则化……λ\lambda

λ\lambda是正则化参数,用于调节对这些参数的惩罚力度。

使用正则化后,我们的代价函数其实做到了两方面事情:拟合、防止过度拟合。而λ\lambda起到了一个调节天平的作用。

λ\lambda过小,相当于没有正则化,起不到防止过度拟合的作用。

λ\lambda过大,会导致除θ1\theta_1外的项都趋近于0,最后的预测函数图像就类似一条水平线,我们称之为欠拟合
机器学习入门——正则化

正则化……线性回归……梯度下降法

我们将J(θ)J(\theta)写成上述形式后,J(θ)J(\theta)θ1...θn\theta_1...\theta_n求偏导数的结果如下:
机器学习入门——正则化
移项后变为:
机器学习入门——正则化

正则化……线性回归……特征方程法

在求逆之前加上一个如下矩阵:
机器学习入门——正则化
值得注意的是,加完这个矩阵后,结果的矩阵一定可逆,也就不需要使用伪逆运算了。

正则化……逻辑回归

在代价函数上加一项λ2mj=1nθj2\dfrac{\lambda}{2m}\sum_{j=1}^n\theta_j^2即可避免过度拟合。
机器学习入门——正则化
最后的偏导数部分,和你想的一样,除了hθ(x)h_\theta(x)意义不同外,其它都是一样的:
机器学习入门——正则化