线性回归里的欠拟合和过拟合
- 欠拟合 (underfitting)
也叫做高偏差 (high bias) 。使用的特征过少导致成本函数过高。模型不能很好地拟合训练数据。 - 过拟合 (overfitting)
也叫高方差 (high variance) 。使用多个特征建模的预测函数非常完美地拟合了训练数据,其成本函数的值接近于零,但对新的数据预测时效果很差。
线性回归算法的欠拟合和过拟合
针对房价预测模型,左边是欠拟合的情况,右边是过拟合的情况。中间表示模型比较好的拟合了训练数据集。
逻辑回归算法的欠拟合和过拟合
针对分类算法,左边是欠拟合,右边是过拟合,中间的模型比较好地拟合了训练数据集。
特征太多,而训练样本数据太少,则很可能出现过拟合。下面是一些解决过拟合问题的方法:
- 减少特征个数
- 手动减少特征个数
- 模型选择算法,比如主成份分析法 (PCA) 。主要原理就是把特征的重要性拿来排序,然后只选择前面几个权重比较大的特征,忽略排在后面的权重比较小的特征。
- 正则化
- 保留所有的特征,减小特征的权重 θj 的值。确保所有的特征对预测值都有少量的贡献。
- 当每个特征 xi 对预测值 y 都有少量的贡献时,这样的模型可以良好地工作
这就是正则化的目的,为了解决特征过多时的过拟合问题。
正则化
其中 λ 的值有两个目的,即要维持对训练样本的拟合,又避免对训练样本的过拟合。如果 λ 太大,则能确保不出现过拟合,但可能会导致对现有训练样本出现欠拟合。
怎么样从数学上理解正则化后的逻辑回归算法的成本函数解决了过拟合问题呢?
从数学角度来看,成本函数增加了一个正则项 λ∑nj=1θ2j 后,成本函数不再唯一地与预测值与真实值的差距决定,还和参数 θ 的大小有关。有了这个限制之后,要实现成本函数最小的目的, θ 就不能随便取值了,比如某个比较大的 θ 值可能会让预测值与真实值的差距 (hθ(x(i))−y(i))2 值很小,但会导致