机器学习入门——正则化
问题引入
当预测函数的项次数过高时,算法为了降低代价,也就是差异,会跑出一条畸形的曲线。
虽然这条畸形的曲线完美的拟合了所有的数据点,但是显然这样一条曲线并不具有可推广性、泛化性。对于以后给出的数据也不能准确的预测。这种情况称为拟合过度。
一般在数据量较小,而特征值较多的情况下,过度拟合发生的概念较高。
正则化
为了在保留较小的高次项的基础上,解决过度拟合,我们需要进行正则化。
我们对于原有的代价函数,使之增加对于高次项的惩罚,例如:
这样做的影响很明显,最后的预测函数中,会尽可能的小。
但是实际上,我们需要让预测函数曲线更加的平滑,这需要使所有的参数都不要太大,所以,一般的正则化如下:
注意,由于影响的只是预测值的上下浮动距离,所以并不需要对其正则化。
正则化……
是正则化参数,用于调节对这些参数的惩罚力度。
使用正则化后,我们的代价函数其实做到了两方面事情:拟合、防止过度拟合。而起到了一个调节天平的作用。
当过小,相当于没有正则化,起不到防止过度拟合的作用。
当过大,会导致除外的项都趋近于0,最后的预测函数图像就类似一条水平线,我们称之为欠拟合。
正则化……线性回归……梯度下降法
我们将写成上述形式后,对求偏导数的结果如下:
移项后变为:
正则化……线性回归……特征方程法
在求逆之前加上一个如下矩阵:
值得注意的是,加完这个矩阵后,结果的矩阵一定可逆,也就不需要使用伪逆运算了。
正则化……逻辑回归
在代价函数上加一项即可避免过度拟合。
最后的偏导数部分,和你想的一样,除了意义不同外,其它都是一样的: