【参考资料】
coursera机器学习课程第六周——课程笔记
https://blog.csdn.net/ccblogger/article/details/78645976
http://www.ai-start.Jom/ml2014/html/week6.html
【模型选择】
1、多项式的次数d
1)、数据集分成training、cross validation、test分别用于拟合函数、模型选择和预测,
选择交叉验证集误差最小的模型
2)、多项式次数d太小,导致高偏差、欠拟合;多项式次数d太大,导致高方差、过拟合
欠拟合(underfit) 高偏差(high bias)
正常拟合(just right) 偏差和方差均较小
过拟合(overfit) 高方差(high variance)
2、正则化参数λ、样本量m
1)、偏差(bias)、方差(variance)、学习曲线(learning curve)
2)、正则化参数λ越大,对θ惩罚越大:θ->0,假设函数是一条水平线,即欠拟合、高偏差;
正则化参数λ越小,相当于正则化作用越弱,即过拟合、高方差。
3)、学习曲线是误差与训练集和交叉验证集之间的关系,分为高偏差和高方差两种情况(欠拟合和过拟合)
高偏差情况下数据量的增加对误差的减小并没有效果,即m的增加对于算法的改进无益。
高方差情况下通过增加样本量训练集的拟合程度很好,而且误差逐渐降低,说明m的增加对算法的改进有帮助。
3、如何决策
1)、训练集误差大、交叉验证集误差也大:欠拟合、高偏差、多项式次数d太小、λ太大;
1)、训练集误差小、交叉验证集误差却很大:过拟合、高方差、多项式次数d太大、λ太下、样本量太少。
【设计流程】
1、设计流程
1)、使用简单算法尽快实现,然后再交叉验证集上实现并测试;
2)、画出学习曲线来决定是否需要更多的数据、更多的特征;
3)、误差分析:检查交叉验证集中被错误分类的样本,观察得到特性。
2、数值评估
1)、交叉验证集误差
交叉验证集误差很大,肯定不是一个很好的学习算法,
但误差很小也不能证明该算法是一个很好的学习算法(偏斜类(skewed classes))。
2)、查准率(precision)、查全率(recall)与F值
查准率:预测发病样本,真发病的概率;
查全率:患病的样本,也预测患病的概率;
F = P * R /(P + R )
3、数据量
1)、数据量越大,高方差、过拟合问题越不可能发生;
2)、特征量越多,高偏差、欠拟合问题越不可能发生。