【机器学习】关于正则化的一些理解

什么是过拟合问题?

当样本有许多特征的时候,假设的模型过于复杂,虽然能完美预测训练集,但是对位置的样本集不能做出准确的预测。过度的考虑了与训练集的匹配,并不具有泛化能力。
【机器学习】关于正则化的一些理解 (线性回归)
【机器学习】关于正则化的一些理解(逻辑回归)

可以看出对于回归问题与分类问题,上诉虽然能很好预测训练集,但是不具有预测训练集外其他样本的能力。而且可以看出随着x的次数约大,模型约复杂,过拟合问题越明显。

如何处理过拟合问题

1、丢弃一些不能帮助我们正确预测的特征
2、保留所有特征,但是减少高次项参数大小,如正则化

什么是正则化?

首先正则化是用来解决过拟合问题的。
对于上述回归问题而言,如果回归模型为
(PS:这是保留了所有特征。为什么需要含有高次项模型?为什么不是一次项呢?因为直线并不适用于所有数据,有时我们需要曲线来适应我们的数据)【机器学习】关于正则化的一些理解
为了处理过拟合问题,我们需要降低高次项的影响,所有尽可能的需要其theta系数尽可能接近0(个人感觉很抽象,不能通过可视化图形来想象~)。而这些theta系数是通过使代价函数尽可能小(代价函数越小,表示预测的越准确)来选取的。

基于正则化的代价函数

常规的代价函数为
【机器学习】关于正则化的一些理解
对于上述的四次方程,修改后的代价函数,假设为
【机器学习】关于正则化的一些理解
为了减少theta3和theta4的大小,我们要做的便是修改代价函数,在其中theta3和theta4 设置一点惩罚。在尝试最小化代价时也需要将这个惩罚纳入考虑中,并最终导致选择较小一些的theta3和theta4。
可以这样理解:为了使代价函数最小,尽可能需要降低theta3和theta4的值,无限接近于0,如果theta3和theta4值过大,那么代价函数最小值相比也是非常大的


假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。这样的结果是得到了一个较为简单的能防止过拟合问题的假设,正则化的代价函数为
【机器学习】关于正则化的一些理解
如果正则化参数过大,会导致theta都过小,最终回归模型近似为一条直线,因为theta0不参与正则化,近似于h(X) = theta0+o(X)极小值。

正则化的线性回归求解

对于线性回归的求解,有两种学习算法:一种基于梯度下降,一种基于正规方程。
(1)梯度下降
【机器学习】关于正则化的一些理解对于j=1、2…n进一步化简
【机器学习】关于正则化的一些理解
可以看出,正则化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令theta值减少了一个额外的值。
(2)正规方程
【机器学习】关于正则化的一些理解

正则化的逻辑回归求解

【机器学习】关于正则化的一些理解
梯度下降与线性回归类似,但是记住两者的h(X)不同