主要内容
- 诊断偏差和方差
- 正则化和 偏差/方差
- 学习曲线
- 改善算法方法的总结
- 对于偏差和方差的深入理解
一、诊断偏差和方差
1.1 模型表现不好的两种情况
1.2 判断模型高偏差、高方差的方法
1.3 判断方法和结论
二、正则化和 偏差/方差
2.1 正则化选择的影响
- 我们在训练模型的时候,通常会使用一些正则化方法来防止过拟合
- 但是正则化的程度(也即选择的 λ 的值的大小)太小或者太小也会造成模型的过拟合 / 欠拟合问题
- 通常情况下,我们选择测试的 λ 的值,一般是 0-10 之间的呈现 2 倍关系的值
2.2 例如:考虑正则化的线性回归模型
-
当 λ 过大,θ 被惩罚后会变得很小、接近于0,最后方程只剩下 θ0 这一项,成为一条直线,导致高偏差bias、欠拟合
-
当 λ 过小,正则项不起作用,导致高方差 variance、过拟合

2.3 选择合适的 λ 的方法
- 使用训练集练出 12个不同程度正则化的模型
- 用 12 个模型分别对交叉验证集计算出交叉验证误差
- 选择出交叉验证误差最小的模型
- 运用步骤3中选出的模型对测试集进行测试

2.4 λ 对代价函数(模型)的影响分析
三、学习曲线
3.1 学习曲线的概念
- 学习曲线 是一种很好的工具,使用学习曲线能判断某个学习算法是否处于偏差、方差问题
- 学习曲线 是学习算法的一个很好的 合理检验
- 学习曲线是将训练集误差和交叉验证集误差作为训练集实例数量的函数绘制而来的曲线

3.2 利用学习曲线判断高偏差/欠拟合
3.3 利用学习曲线判断高方差/过拟合
四、改善算法方法的总结
4.1 调试一个算法的六个方法
- 获得更多的训练数据——解决高方差问题
- 尝试减少特征的数量——解决高方差问题
- 尝试更多的特征数量——解决高偏差问题
- 尝试添加多项式特征——解决高偏差问题
- 尝试减少正则化程度λ ——解决高偏差问题
- 尝试增大正则化程度λ ——解决高方差问题
4.2 神经网络大小对模型的影响
- 使用较小的神经网络,类似于参数较少的情况,容易导致高偏差和欠拟合,但计算代价小
- 使用较大的神经网络,类似于参数较多的情况,容易导致高方差和过拟合,虽然计算代价比较大,但是可以通过正则化手段来调整而使得算法更加适应数据
- 通常选择较大的神经网络并采用正则化处理会比采用较小的神经网络效果要好
4.3 神经网络中的隐藏层数对模型的影响
- 对于神经网络中的隐藏层的层数的选择,通常从一层开始逐渐增加层数,为了更好的做出选择,可以把数据分为训练集、交叉验证集和测试集,并对不同的隐藏层层数的神经网络进行训练,然后选择交叉验证集代价最小的神经网络
五、对于偏差和方差的深入理解
5.1 偏差和方差的概念
- 偏差: 描述的是预测值的期望与真实值之间的差距。偏差越大,越偏离真实数据集
- 方差: 描述的是预测值的变化范围,离散程度,也就是离期望值的距离。方差越大,预测结果数据的分布越散
5.2 基于偏差 / 方差的误差
- 基于偏差的误差:是模型预期的预测与将要预测的真实值之间的差值。偏差是用来衡量模型的预测同真实值的差异。
- 基于方差的误差:基于方差的误差描述了一个模型对给定的数据进行预测的可变性。比如,当你多次重复构建完整模型的进程时,方差是在预测模型的不同关系间变化的多少。
5.3 具体分析

- 左上图:低偏差bias,低方差variance。预测结果准确率很高,并且模型比较健壮(稳定),预测结果高度集中。
- 右上图:低偏差bias,高方差variance。预测结果准确率较高,但是模型不稳定,预测结果比较发散。
- 左下图:高偏差bias,低方差variance。预测结果准确率较低,但是模型稳定,预测结果比较集中。
结果准确率很高,并且模型比较健壮(稳定),预测结果高度集中。 - 右上图:低偏差bias,高方差variance。预测结果准确率较高,但是模型不稳定,预测结果比较发散。
如果觉得文章不错的话,可以给我点赞鼓励一下我哦,欢迎小伙伴们收藏学习
关注我,我们一起学习,一起进步!!!