机器学习基础概念——过拟合和欠拟合

欢迎关注,敬请点赞!

文章转载自:欠拟合、过拟合、偏差、方差

1. 基本概念

  1. 偏差:偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了算法本身的拟合能力。hθ(xi)yih_\theta (x_i) - y_i
  2. 方差:方差度量了训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。1mi=1m(hθ(xi)yi)2\displaystyle \frac {1}{m} \sum^m_{i = 1} (h_\theta (x_i) - y_i)^2
  3. 欠拟合:模型太简单,经验误差大,在训练的过程中基本没学到有价值的内容。
  4. 过拟合:模型学习了太多的训练样本的“个性”,经验误差小,但是对于未知的样本泛化能力差(泛化误差大)。
  5. 经验误差:模型关于训练样本集的平均误差(也称经验风险)。
  6. 结构风险:结构风险在经验风险的基础上加上表示模型复杂度的正则化项。
  7. 泛化误差:模型在新样本集(测试集)上的平均误差。
    泛化误差 = 偏差 + 方差 + 噪声
  8. 噪声:描述了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

1.1 偏差和方差

返回顶部
如果模型是低偏差和低方差,那肯定是最好的一个选择。
但是偏差和方差在一定程度上是矛盾的:
如果偏差降低,那方差可能会相应的升高;
如果方差降低,那偏差可能相应升高。
所以我们是尽量的寻求偏差和方差的一个平衡点。

下图比较形象的表达偏差和方差的含义:
偏差和方差
偏差太大,说明模型欠拟合;
方差太大,说明模型过拟合。

2. 欠拟合和过拟合

返回顶部

2.1 学习曲线

通过学习曲线来识别模型是否发生了欠拟合、过拟合:
学习曲线
横轴为训练样本数量,纵轴为误差

2.2 复杂程度曲线

复杂程度曲线
横轴为模型复杂程度,纵轴为误差
上图中:模型在点A处,在训练集以及测试集上同时具有较高的误差,此时模型的偏差较大,模型欠拟合
模型在点C处,在训练集上具有较低的误差,在测试集上具有较高的误差,此时模型的方差较大,模型过拟合
模型复杂程度控制在点B处为最优。

2.3 支持向量机的过拟合和欠拟合

返回顶部
支持向量机过拟合和欠拟合
支持向量机采用的正则化系数C=1λC = \frac{1}{\lambda}是常规正则化系数的导数,C越大,过拟合;C越小,欠拟合,更容易记忆。

2.4 KNN回归的过拟合和欠拟合

返回顶部
n_neighbor=25
n_neighbor=5
邻居数(n-neighbors)越大,欠拟合(bias);越小,过拟合(vias)

3. 如何解决欠拟合和过拟合

返回顶部

3.1 解决欠拟合

  1. 增加特征项;
  2. 添加多项式特征项;
  3. 减小正则化系数;
  4. 增加模型复杂度。

3.2 解决过拟合

过拟合问题是机器学习和深度学习里面主要需解决的一个问题。解决过拟合的办法主要有:

  1. 重新做特征工程;
  2. 增加训练样本数量;
  3. 降低模型复杂程度;
  4. 增大正则项系数;
  5. 采用dropout方法【用于神经网络】;
  6. early stoping,早停法【当模型在验证集上的误差比上一次训练结果差的时候停止训练】;
  7. 减少迭代次数;
  8. 增大学习率;
  9. 添加噪声数据;
  10. 树结构中,可以对树进行剪枝。
    以上只是举一些例子,不同的问题还是需要根据不同的情况分析

欢迎关注,敬请点赞!
返回顶部

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章