目录
1)Deciding what to try next
2)Evaluating a hypothesis
3)Model selection and training/validation/test sets
4)Diagnosing bias vs. variance
5)Regularization and bias/variance
6)Learning curves
7)Deciding what to try next
1)Deciding what to try next
我们对之前的线性回归预测房价的算法进行了正则化,但是当我们预测新房子房价时,我们会发现意想不到的误差,此时我们应该怎么做呢?
这就是我们接下来介绍的机器学习诊断算法:虽然会需要一点时间,但是会为我们开发学习算法节省大量时间。
2)Evaluating a hypothesis
下图是一个过拟合的模型,对于新的数据集它的预测能力很差:
对于过拟合检验:常做的是分割数据集,分为训练集和测试集。
对于线性回归和逻辑回归,我们计算它们的代价函数和误分类比率。
3)Model selection and training/validation/test sets
这种方法是我们现在经常使用的,把数据集分成:训练集,交叉验证集,测试集。
接下来,我们分别计算不同模型对应的训练误差,交叉验证误差,测试误差。选择测试误差最小的模型。
4)Diagnosing bias vs. variance
这一部分我们通过判断高偏差或高方差来判断模型是欠拟合还是过拟合。
我们通过将训练集误差和验证集误差绘制在一张图上来判断偏差和方差:
- 当训练集误差和交叉验证集误差近似时,高偏差/欠拟合。
- 当训练集误差远小于交叉验证集误差时,高方差/过拟合。
5)Regularization and bias/variance
这一部分主要介绍正则化程度对模型误差的影响。
我们同样把训练集误差和交叉验证集误差与正则化参数绘制在一张图上:
- 当较小时,训练集误差较小(过拟合),而交叉验证集误差大;
- 随着增大,训练集误差不断增加(欠拟合),而交叉验证集先减小后增大;
6)Learning curves
学习曲线有助于我们判断偏差还是方差问题,它是关于训练集数量的曲线。
先看高偏差问题:增加训练集数量对于高偏差问题没什么帮助。
高方差问题:增加数据集数量有一定帮助。
7)Deciding what to try next
再来回顾我们第一讲介绍的方法:看看他们的效果:
神经网络模型可以如下考虑: