**欠拟合(Underfitting)也叫高偏差,是指我们的假设模型与训练样本之间的映射效果不好,通常可能的原因是模型太简单,或者我们所用到的参数太少。
另一个极端过拟合(Overfitting)**是指与训练样本拟合地非常好,但是却对新数据的预测效果不好。可能的原因是我们选择了过于复杂的模型。
下面用Andrew Ng的两幅图来表示欠拟合和过拟合在线性回归和逻辑回归中的效果:


那么如何解决过拟合问题呢?主要有两种方法:
第一种,减少多余的参数。
第二种,正则化(Regularization)。
我们主要讲一下正则化。正则化方法是指向原始模型引入额外的信息,以便防止过拟合的一类方法的统称。一般分为L1正则化和*L2正则化。*本文讲的是L2正则化方法。
L2正则化是指在目标函数J(θ)后加一个惩罚项,使得权重更加接近于原点。
具体公式为:
J(θ)=2m1[i=1∑mCost(hθ(x(i)),y(i))+λj=1∑nθj2]
其中λ∑j=1nθj2为惩罚项。
需要注意的是θ0不应该被加入到惩罚项中,因为θ0并没有乘以实际的样本特征。在实际的过程中,需要注意如和调节λ值的大小,如果λ值过大,可能会出现欠拟合的情况,如果λ值过小,则有可能出现过拟合的情况。
正则化的线性回归
线性回归的梯度下降法经过正则化后,公式变为:
θ0=θ0−mαi=1∑m(hθ(x(i))−y(i))x0(i)
θj=θj(1−αmλ)−mαi=1∑m(hθ(x(i))−y(i))xj(i)
正则化的逻辑回归
逻辑回归的梯度下降法经过正则化后,公式变为:
θ0=θ0−mαi=1∑m(hθ(x(i))−y(i))x0(i)
θj=θj(1−αmλ)−mαi=1∑m(hθ(x(i))−y(i))xj(i)
与线性回归相同。