如何进行模型评估与选择
经验误差与过拟合
经验误差:我们把学习器的实际预测输出与样本的真实输出之间的差异称为误差,学习器在训练集上的误差称为训练误差或经验误差
过拟合:学习器把训练样本学的太好了,很可能把已经训练的样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样会导致泛化能力的下降。这种现象在机器学习中称为过拟合。与过拟合相对的叫欠拟合。
评估方法
1.留出法
留出法是将数据集分为两个互斥的集合,其中一个作为训练集S,另外一个作为测试集T。即D = S ∪ T ,S ∩ T = 空集 ,在S上训练出模型后,用T来评估其测试误差。
分层采样:保留类别比例的采样方式通常称为分层采样。例如70%训练集,30%测试集。现在有1000个样本,500正例,500反例。分层采样得到S应该350个正例,350个反例。T应该是150正例,150反例。
注意:单次使用留出法是往往不够稳定,在使用时一般要采用若干次随机划分、重复进行实验评估后取得平均值作为留出法的评估结果。
2.交叉验证法
交叉验证法先将数据集D分为k个大小相似的互斥子集,D = D1∪D2∪D3∪D4.....∪Dk。且Di∩Dj = 空集(i不等于j),每个子集的Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。每次用k-1个子集的并集作为训练集,余下的作为测试集。从而可以进行k次训练和测试。最终返回k个测试结果的均值。显然交叉验证法评估的稳定性和保真性在很大程度上取决于k值。又把它称为k折交叉验证。
缺点:数据集较大时计算开销较大。
3.自助法
给定包含m个样本的数据集,我们对它进行采样得到D':每次随机挑选一个样本拷贝到D'中,然后再将样本放回D中。D'作为训练集,D\D'作为测试集(在D中出现未在D'中出现)。样本在m次采样中始终不会被采到的概率是(1-1/m)的m次方,约等于0.368.
缺点:会引入估计偏差。
4.调参与最终模型
性能度量
回顾任务一般采用均方误差
1.错误率与精度
错误率:分类错误的样本占总数的比例
精度:分类正确的样本占总数的比例
2.查准率和查全率
假设要识别照片中的狗的,在一些照片中,包含12只狗的照片和一些猫的照片。算法识别出有8只狗。在确定的8只狗中,5只实际上是狗(真阳性TP),而其余的是猫(假阳性FP)。该程序的精度为5/8,而其召回率为5/12。
Predicted
Actual 狗(+) 猫(-)
狗(+) 5(TP) FN 12
猫(-) 3(FP) TN
8
TP: T 是指标记正确, P 是指实际中的类别是P类, 所以
TP:正确地标记为正。
FP:错误地标记为正(即原来是负,标记成正)。
FN:错误地标记为负(即原来是正,标记成负)。
TN:正确地标记为负。
查准率 = 精度 = precision
查全率 = 召回率 = recall
P-R曲线:由查准率和查全率作为横纵坐标
3.ROC和AUC
ROC全称是受试者工作特征
ROC曲线:纵轴是真正例率,横轴是假正例率。
AUC:是ROC曲线下的面积。
4.代价敏感错误率与代价曲线
比较检验
1.假设检验
2.交叉验证t检验
3.McNemar检验
4.Friedman检验与Nemenyi检验
偏差与方差