目录
10-1 决定下一步计划
假设在进行机器学习时,已经得到了代价函数最小化的值,但在预测新的输入时产生了误差,算法改进方法如下:
1.使用更多训练样本
2.选用更少的特征,避免过拟合
3.选用更多特征
4.增加多项式特征
5.增大或减小正则化参数λ
10-2 评估假设
举例:
size | price |
2104 | 400 |
1600 | 330 |
2400 | 369 |
1416 | 232 |
3000 | 540 |
1985 | 300 |
1534 | 315 |
1427 | 199 |
1380 | 212 |
1494 | 243 |
将第一至第七行设为训练集,第八至十行设为测试集(通常随机选择70%数据作训练集,剩下30%作训练集)
之后首先对训练集进行学习得到参数θ,即最小化训练误差J(θ),随后计算测试误差
0/1分类错误
若h_θ(x)≥0.5,y=0或h_θ(x)<0.5,y=1 时,err(h_θ(x),y)=1
10-3 模型选择和训练/验证/测试集
模型选择问题
在一次函数至十次函数内选择合适的模型,用d表示多项式次数,选择模型就是选择d。
首先选择第一个模型,最小化训练误差得到参数向量θ^(1),再依次选择其他模型,得到参数向量θ^(2)......θ^(10),再对这些模型求出测试集误差:(J_test)(θ^(1))......(J_test)(θ^(10))
观察哪个模型测试集误差最小,选择该模型。但这一方法仅能很好的拟合测试集数据不能公正的估计该假设对新样本的效果
因此采用如下方法:
将一组数据集分为训练集(60%)、交叉验证集(20%)、测试集(20%)
模型选择步骤仍是,首先选择第一个模型,最小化训练误差得到参数向量θ^(1),再依次选择其他模型,得到参数向量θ^(2)......θ^(10),再对这些模型求出验证集误差:(J_cv)(θ^(1))......(J_cv)(θ^(10))
观察哪个模型验证集误差最小,选择该模型。
10-4 诊断偏差与方差
增大多项式次数,训练误差下降
增大多项式次数,验证误差下降,但若进一步增大多项式次数,验证误差上升
如下图所示:
若训练误差或交叉验证误差很高,如何判断是高偏差还是高方差。
若是高偏差问题,训练集和验证集误差都较大
若是高方差问题,训练集误差较小,验证集误差较大
10-5 正则化和偏差、方差
对四次多项式进行拟合
当λ过大时会产生欠拟合问题,λ过小会产生过拟合问题,因此需要合理选择λ
三种误差定义如下:
依次尝试λ=0、0.01、0.02、0.04、0.08......10.24,并最小化相应的J(θ)得到参数θ,之后用验证集进行验证,选取交叉验证集误差最小的作为λ
当λ增大时,训练集误差不断增大
λ过小时,产生高方差问题;当λ增大时,交叉验证误差不断减小,当λ进一步增大时,交叉验证误差增大,当λ过大时,产生高偏差问题
10-6 学习曲线
当训练样本很少时,训练误差较小。
训练误差随着训练样本数增多而增大,测验集误差随着训练样本数增多而减小。
当出现高偏差问题时
使用更多训练集数据,使测验集误差不断减小并趋于稳定,对改进算法并无很大的帮助
当出现高方差问题时
因此,使用更多训练集数据,能使测验集误差减小,对改进算法有益
10-7 决定下一步
1.使用更多训练样本
解决高方差问题
2.选用更少的特征,避免过拟合
解决高方差问题
3.选用更多特征
解决高偏差问题
4.增加多项式特征
解决高偏差问题
5减小或增大正则化参数λ
解决高偏差/方差问题