拟合(Overfitting)及正则化方法(regularization)

是什么?

如果我们有非常多的特征,通过学习得到的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有可能是不可逆的,但是这里加了这一项之后,可以证明它是可逆的。这不仅达到了正则化的目的也解决了不可逆的问题。

 

posted on 2017-07-16 22:16  J_K_Guo  阅读(619)  评论(0编辑  收藏  举报