是什么?
如果我们有非常多的特征,通过学习得到的hypothesis可能能够好地适应训练集(代价函数可能几乎为0),但是对于新的数据不能很好的预测(泛化能力差)。
如图:
模型一:欠拟合(Underfitting)
模型三:过拟合(Overfitting)
怎么克服?
一般参数越少,得到的hypothesis越光滑越简单。
对于过拟合问题我们可以采用以下方法:
1. 减少特征
(1)人工选择保留哪些特征
(2)使用模型选择算法自动选取特征,比如PCA等。
2. 正则化(regularization):保留所有特征,但是给某些或者全部特征加惩罚项。
正则化
以线性回归问题为例(逻辑回归表达式一样,只不过hypothesis不同)
一个较为简单的使用正则化来防止过拟合的例子:
其中,λ称为正则化参数(Regularization Parameter)
注意,这里的 j 从1开始,在实际应用中,j从0还是从1开始差别不大。一般都从1开始。
因为未对Θ0正则化,所以梯度下降法分两步:
可以看出,第二项和不加正则化时相同,只是第一项对Θj进行了缩小。当学习速率取比较小,样本数量很多时,Θj改变不大(系数是小于1但是很接近1的一个实数)。
对于正规方程法加了正则化项之后最终公式如下:
注:1. 图中矩阵的行=列=特征数
2.对于正规方程法他的XTX有可能是不可逆的,但是这里加了这一项之后,可以证明它是可逆的。这不仅达到了正则化的目的也解决了不可逆的问题。