一、基本概念
1、泛化误差、经验误差
泛化误差:在未来样本上的误差。
经验误差:在训练集上的误差,又称“训练误差”。
2、过拟合、欠拟合
过拟合:指训练误差和测试误差之间的差距太大。(模型拟合程度高,在训练集上表现好,在测试集上表现差,“死记硬背”,泛化能力差)
造成原因:
1、训练集样本单一,样本不足;
2、训练集中噪声干扰大;
3、模型过于复杂。
解决方案:正则化方法。(1)直接提供正则化约束的参数正则化方法,如L1/L2正则化;(2)通过工程上的技巧来实现更低泛化误差的方法,如提前终止(Early stopping)和Dropout;(3)不直接提供约束的隐式正则化方法,如数据增强等。
欠拟合:指模型不能在训练集上获得足够低的误差。(模型拟合程度差,没学到规律)
解决方案:通过增加网络复杂度或者在模型中增加特征
二、模型选择
1、获得测试结果——评估方法
(1)获取测试、训练集方法
1、留出法(hold-out):数据集直接分为互斥两部分
注意事项:(1)保持数据分布一致性,避免引入额外偏差;
(2)多次随机划分,避免单次不稳定。
2、(k-)折交叉验证法(cross validation):划分为k个大小相似的互斥子集,每次用k-1个子集训练,剩下一个作为测试集,进行k次,最终采取k个测试结果的均值。
3、自助法 (bootstrap):基于“自助采样” (bootsrap sampling), 亦称“有放回采样”、“可重复采样”。
优缺点:
优点:自助法在数据集较小、难以有效划分训练/测试集时很有用。
缺点:然而自助法改变了初始数据集的分布,这回引入估计偏差。
(2)调参——对性能往往对最终性能有关键影响
1、算法的参数:一般由人工设定,亦称“超参数”。
2、模型的参数:一般由学习确定。
3、调参过程相似:先产生若干模型,然后基于某种评估方法进行选择。
(算法参数选定后,要用“训练集+验证集”重新训练最终模型)
2、评估性能(泛化能力)优劣——性能度量——导致不同的评判结果
回归任务用——均方误差
(1)错误率:
(2)精度:
(3)查准率(Precision):预测结果和真实结果都为正的样本占总的预测结果为正的样本的比例
P = TP/(TP+FP)
(4)查全率(Recall):预测结果和真实结果都为正的样本占总的正样本的比例
R = TP/(TP+FN)
(5)F1 度量:
β>1——查全率;β<1——查准率
(6)
(7)AUC:为ROC曲线下与坐标轴围成的面积(0.5~1.0)。
AUC = 1- l rank
AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低, 无应用价值。
(8)ROC(受试者工作特征),ROC曲线纵轴为“真例率”(TPR),横轴为“”(FPR)
3、判断实质差别——比较检验
1、在某种度量下取得评估结果后,不可以直接比较以评判优劣
理由如下:
(1)测试性能不等于泛化性能;
(2)测试性能随测试集的变化而变化;
(3)很多机器学习算法本身有一定的随机性。
2、统计假设检验:
(1)两学习器比较
➢ 交叉验证 t 检验 (基于成对 t 检验): k 折交叉验证; 5x2交叉验证
➢ McNemar 检验 (基于列联表,卡方检验)
(2)多学习器比较
➢ Friedman检验 (基于序值,F检验; 判断”是否都相同”)
A、B算法有交叠——没有显著差别
A、C没有交叠,且算法A显著优于C
➢Nemenyi 后续检验 (基于序值,进一步判断两两差别)
4、偏差-方差分解
(10
泛化性能决定因素:学习算法的能力、数据的充分性、学习任务本身难度。
(2)下图为泛化误差与偏差、方差的关系示意图
(3)偏差、方差冲突
训练不足时,学习器拟合能力不 强,偏差主导;
随着训练程度加深,学习器拟合 能力逐渐增强,方差逐渐主导;
训练充足后,学习器的拟合能力 很强,方差主导。