吴恩达老师的机器学习教程笔记
减少误差的一些方法
- 获得更多的训练实例——解决高方差
- 尝试减少特征的数量——解决高方差
- 尝试获得更多的特征——解决高偏差
- 尝试增加多项式特征——解决高偏差
- 尝试减少正则化程度 λ——解决高偏差
- 尝试增加正则化程度 λ——解决高方差
什么是欠拟合?什么是过拟合?
欠拟合:在训练集上存在较大误差
过拟合:在训练集上误差较小,在测试集(实际使用)上误差较大
如何计算?
将数据集分为70%训练集,30%测试集。
在训练集上进行训练,在测试集上计算误差。
对于线性回归模型:利用测试集计算误差
对于逻辑回归模型:利用测试集计算误差、还要计算误分类比率(错误分类占总分类的比率)
多模型选择
假设有多个不同次数的二项式模型等待选择:
将训练集分为训练集60%,交叉验证集20%,测试集20%
模型选择的方法为:
- 使用训练集训练出 10 个模型
- 用 10 个模型分别对交叉验证集计算得出交叉验证误差(代价函数的值)
- 选取代价函数值最小的模型
- 用步骤 3 中选出的模型对测试集计算得出推广误差(代价函数的值)
判断欠拟合和过拟合
- 训练集误差和交叉验证集误差近似时:偏差/欠拟合
- 交叉验证集误差远大于训练集误差时:方差/过拟合
正则化方法来防止过拟合
在我们在训练模型的过程中,一般会使用一些正则化方法来防止过拟合。但是我们可能会正则化的程度太高或太小了,即我们在选择 λ 的值时也需要思考与刚才选择多项式模型次数类似的问题。
我们选择一系列的想要测试的 𝜆 值,通常是 0-10 之间的呈现 2 倍关系的值(如:0,0.01,0.02,0.04,0.08,0.15,0.32,0.64,1.28,2.56,5.12,10共 12 个)。我们同样把数据分为训练集、交叉验证集和测试集。
选择𝜆的方法为:
1.使用训练集训练出 12 个不同程度正则化的模型
2.用 12 个模型分别对交叉验证集计算的出交叉验证误差
3.选择得出交叉验证误差最小的模型
4.运用步骤 3 中选出模型对测试集计算得出推广误差,我们也可以同时将训练集和交叉验证集模型的代价函数误差与 λ 的值绘制在一张图表上:
1.当 𝜆 较小时,训练集误差较小(过拟合)而交叉验证集误差较大
2.𝜆 的增加,训练集误差不断增加(欠拟合),而交叉验证集误差则是先减小后增加
学习曲线
欠拟合状态:
随着训练集加入更多的数据,绘制误差,发现增加数据并不能减少误差。
过拟合状态:
欠拟合状态,随着测试集的增加,可以减少误差。