当前位置:   article > 正文

西瓜书机器学习笔记(第二课):模型选择与评估_二分类代价矩阵cost01

二分类代价矩阵cost01

模型选择与评估

经验误差与过拟合

  • 经验误差vs泛化误差
    本质上就是训练集上的误差vs“未来”样本上的误差;
    经验误差并非越小越好,因为会出现过拟合

  • 过拟合与欠拟合
    通俗理解,欠拟合就是太粗了(把不符合要求的也放进来了),比如把树叶识别成了大树;而过拟合是太细了(要求太苛刻了把符合要求的也淘汰了),比如误以为有锯齿的树叶才是树叶,而误杀了没有锯齿的树叶。

评估方法:如何获得测试结果

  • 评估方法:关键在于如何获得“测试集”,训练集与测试集应该是互斥的
  • 留出法(hold-out):把数据集拆分为训练集和测试集,需要保持数据分布一致性;可以多次重复划分;测试集占20%-30%左右;
  • 交叉验证法(cross-validation):k折交叉验证法,将数据集D划分大小相似的互斥子集,每次使用k-1个子集的并集作为训练集,剩下的那个作为验证集,可以得到k组训练集/测试集,进行k次训练和测试。最后的结果是这k个测试结果的均值。
  • 自助法(bootstrap):每次随机从含m个样本的数据集D中挑选一个样本,放入新的数据集D’中,重复m次,这样就得到了具有m个元素的数据集D’,然后用D’作为训练集,用D-D’作为测试集。这样的方法下,D’中有些样本是重复的,大约有36.8%的元素不出现。
  • "调参"与最终模型:人工设定的参数就是“超参数”,对应机器学习的参数,参数对模型的影响非常大。

性能度量:如何评估性能优劣

  • 回归任务:常采用均方误差
  • 分类任务:错误率vs精度:错误率和精度是一组互补的关系,也即是它们的和为100%=1
  • 查准率vs查全率:根据混淆矩阵定义TP/FN/FP/TN,其中T=True表示真,F=False表示假,P=Positive表示正例,N=Negative表示反例。这样就可以定义查准率P=TP/TP+FP(准确性Precision Ratial)和查全率R=TP/TP+FN(完整性Recall Ratial)了。查全率和查准率也是此消彼长的。
  • PR图,BEP平衡点:通过平衡点来判断学习器的优劣。此处理解有点难度,所以专门写了一篇供讨论
    在这里插入图片描述
  • F1度量:比BEP更常用的F1度量。β<1,查准率有更大的影响,β>1,查全率有很大的影响。β代表对查准率和查全率的倾向性,如推荐系统更倾向于查准率,逃犯系统更倾向于查全率。F的公式由P和R两个指标合成,通用公式如下:
    F = ( 1 + β ² ) P R / β ² P + R F=(1 + β² )PR/β²P+R F=(1+β²)PR/β²P+R
  • 宏XX(macro) vs 微XX(micro):对于多分类问题,先平均后计算或者先计算后平均。macro的算法复杂度稍微比micro要多,原因在进行了更多的除法运算。
  • ROC曲线(Recevier Operating Characteristic),AUC(Area Under Curve):真正例率(TPR=true positive ratio纵轴)和假正例率(FPR=false positive ratio横轴)曲线就是AUC曲线。
    t p r = T P / m + = T P / T P + F N = R ; tpr=TP/m+=TP/TP+FN=R; tpr=TP/m+=TP/TP+FN=R;m+就表示全部的基准正例,可以认为是男生中的直男比例
    f p r = F P / m − = F P / F P + T N fpr=FP/m-=FP/FP+TN fpr=FP/m=FP/FP+TNm-表示全部的基准反例,可以认为是女生中的假小子比例
    在这里插入图片描述
    面积越大,性能越好。
  • 非均等代价:比如把患者诊断为健康,和健康诊断为患者的代价是不一样的。可以使用二分类代价矩阵进行展示cost01(cost0->1)和cost10(cost1->0),值越大,代价越高。
  • 代价敏感错误率:引入代价的错误率,其实就是给错误发生给与cost权重。

比较校验:如何判断实质性差别

  • 假设验证(hyposis test)在度量某种评估结果之后,还不能直接根据指标的评价来评判孰优孰略。因为测试性能不等于泛化性能,其中有一些随机的因素,而且测试集具有局限性。假设验证可以根据统计学规律推断出模型A的泛化性能比B好的概率。
  • 交叉验证t检验(基于成对t检验):如果两个学习器A和B,他们的性能差值为0,则可以认为他们的性能相同,所以我们可以对k折交叉验证(KCV)产生的每对结果做差值,然后进行t检验。步骤大致为1.计算出差值的均值和方差;2.计算τ值,如果结果小于阈值,认为没有显著性差别,如果大于阈值,则认为有显著性差别,平均错误率小的那个比较优越。
  • McNemar检验:建立两学习器分类差别列联表。得到e01,e10。如果e01和e10的差值在临界以内,认为没有显著性差别,否则,认为误差较小的那个性能较好。
    -在这里插入图片描述
  • Friedman+Nemenyi:用于多个算法之间的比较,使用排序算法Friedman检验,可以使用下图来进行直观的理解:
    在这里插入图片描述

偏差与方差

  • 回归任务中的泛化误差可以拆分为:E=bias+var+ε² 偏差+方程+误差
  • 偏差-方差 窘境(bias-variance-dillema):训练不足,拟合能力不强,偏差主导;训练加深,拟合能力增强,方差开始逐渐主导。
  • 总结:泛化性能由学习算法的能力、数据的充分性及学习任务的难度共同决定。
    在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/265762
推荐阅读
相关标签
  

闽ICP备14008679号