西瓜书+实战+吴恩达机器学习(二)机器学习基础(偏差、方差、调试模型技巧)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhq9695/article/details/87552883

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

泛化误差可分解为偏差、方差、噪声之和。

  • 偏差:度量了学习算法的期望预测与真实结果的偏离程度
  • 方差:度量了同样大小的数据集的变动所导致的学习性能的变化
  • 噪声:表达了在当前任务上任何学习算法所能达到的期望泛化误差下界
  • 泛化性能:由学习算法的能力、数据的充分性、学习任务本身难度所共同决定的

与偏差方差所对应的是欠拟合和过拟合。

  • 欠拟合:偏差主导了泛化错误率,学习器的拟合能力不够强,不能学习到数据的普遍特性
  • 过拟合:方差主导了泛化错误率,学习器的拟合能力过于强,甚至学习了一些数据的个性

泛化误差与偏差、方差的关系如下图所示(图源:机器学习):

1. 偏差方差的解决方法

偏差,是指模型不能很好的学习到数据的普遍特性,所谓欠拟合

  1. 使用更好的优化算法
  2. 增加特征数量
  3. 搜索更好的超参数
  4. 使用不同的算法架构

方差,是指模型过于好的学习了数据,甚至学习了一些数据的个性,所谓过拟合

  1. 更多的训练数据
  2. 使用正则化
  3. 减少特征数量
  4. 搜索更好的超参数
  5. 使用不同的算法架构

贝叶斯最佳误差和训练集误差的差距,等效为偏差。

训练集误差和开发集误差的差距,等效为方差。

2. 高偏差高方差的学习曲线

横坐标为训练集大小,纵坐标为错误分类率或者代价函数。

在高偏差的情况下如下图所示(图源:吴恩达机器学习):

在高偏差的情况下如下图所示(图源:吴恩达机器学习):

3. 调试模型技巧

  1. 降低训练集上的代价函数,如果不能有效的降低,考虑是偏差原因
  2. 降低开发集上的代价函数,如果不能有效的降低,考虑是方差原因
  3. 降低测试集上的代价函数,如果不能有效的降低,考虑可能是开发集太小和测试集不匹配,使用更大的开发集
  4. 使其在真实世界中表现良好,如果不能有效的表现,考虑可能是开发集或测试集设置选择的不正确,或者代价函数不能有效的评估误差

对于特征不同的维度取值相差很远,可以采用特征缩放,即归一化,有助于训练。


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

猜你喜欢

转载自blog.csdn.net/zhq9695/article/details/87552883
今日推荐