【机器学习】过拟合问题

**欠拟合(Underfitting)也叫高偏差,是指我们的假设模型与训练样本之间的映射效果不好,通常可能的原因是模型太简单,或者我们所用到的参数太少。
另一个极端
过拟合(Overfitting)**是指与训练样本拟合地非常好,但是却对新数据的预测效果不好。可能的原因是我们选择了过于复杂的模型。
下面用Andrew Ng的两幅图来表示欠拟合和过拟合在线性回归和逻辑回归中的效果:
【机器学习】过拟合问题
【机器学习】过拟合问题
那么如何解决过拟合问题呢?主要有两种方法:
第一种,减少多余的参数。
第二种,正则化(Regularization)。
我们主要讲一下正则化。正则化方法是指向原始模型引入额外的信息,以便防止过拟合的一类方法的统称。一般分为L1正则化和*L2正则化。*本文讲的是L2正则化方法。
L2正则化是指在目标函数J(θ)J(\theta)后加一个惩罚项,使得权重更加接近于原点。
具体公式为:
J(θ)=12m[i=1mCost(hθ(x(i)),y(i))+λj=1nθj2] J(\theta)=\frac{1}{2m}[\sum_{i=1}^{m}Cost(h_\theta(x^{(i)}),y^{(i)})+\lambda\sum_{j=1}^n\theta^2_j]
其中λj=1nθj2\lambda\sum_{j=1}^n\theta^2_j为惩罚项。
需要注意的是θ0\theta_0不应该被加入到惩罚项中,因为θ0\theta_0并没有乘以实际的样本特征。在实际的过程中,需要注意如和调节λ\lambda值的大小,如果λ\lambda值过大,可能会出现欠拟合的情况,如果λ\lambda值过小,则有可能出现过拟合的情况。

正则化的线性回归

线性回归的梯度下降法经过正则化后,公式变为:
θ0=θ0αmi=1m(hθ(x(i))y(i))x0(i) \theta_0=\theta_0-\frac{\alpha}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}

θj=θj(1αλm)αmi=1m(hθ(x(i))y(i))xj(i) \theta_j=\theta_j(1-\alpha\frac{\lambda}{m})-\frac{\alpha}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}

正则化的逻辑回归

逻辑回归的梯度下降法经过正则化后,公式变为:
θ0=θ0αmi=1m(hθ(x(i))y(i))x0(i) \theta_0=\theta_0-\frac{\alpha}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}

θj=θj(1αλm)αmi=1m(hθ(x(i))y(i))xj(i) \theta_j=\theta_j(1-\alpha\frac{\lambda}{m})-\frac{\alpha}{m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}
与线性回归相同。