您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 机器学习第2章 模型评估与选择
第2章模型评估与选择主要内容•经验误差与过拟合•评估方法•性能度量•比较检验•偏差与方差误差•误差(error):学习器实际预测输出与样本真实输出之间的差异•训练集:训练误差(trainingerror),(经验误差,empiricalerror)•训练集的补集:泛化误差(generalizationerror)•我们希望泛化误差小的学习器过拟合•过拟合(overfitting):训练过度使泛化能力下降•欠拟合(underfitting):未能学好训练样本的普遍规律•过拟合是机器学习的关键障碍且不可避免!•模型误差包含了数据误差,或者说模型信息中包含了噪声。学习器泛化评估——实验测试•测试集:测试误差(testingerror)•训练集𝑆和测试集𝑇组成数据集𝐷。•假设测试样本是从真实分布中采样而得,避免因数据划分引入偏差。•测试集应与训练集互斥。测试方法数学表达注意事项优缺点留出法(hold-out)𝐷=𝑆∪𝑇𝑆∩𝑇=∅分层采样(stratifiedsampling)重复试验取平均评估结果测试集小,评估结果方差较大训练集小,评估结果偏差较大交叉验证法(crossvalidation)𝐷=𝐷1∪⋯∪𝐷𝑘𝐷𝑖∩𝐷𝑗=∅(𝑖≠𝑗)𝑝次𝑘折交叉验证稳定性和保真性很大程度取决于𝑘留一法(Leave-One-Out,LOO)𝐷=𝐷1∪⋯∪𝐷𝑘𝐷𝑖∩𝐷𝑗=∅𝑖≠𝑗𝑘=𝐷每次使用一个样本验证不受随机样本划分方式影响数据量大时计算量大自助法(bootstrapping)𝑆=𝐷𝑇=𝐷\S可重复采样/有放回采样数据集较小有用改变初始数据集的分布,引入偏差调参与最终模型•参数调节(parametertuning)•算法参数→人工设定候选值•模型参数→通过学习产生候选模型•数据集训练集→训练估计模型验证集→模型参数调整测试集→估计泛化能力•学习算法和参数配置确定后要用整个数据集重新训练模型性能度量•性能度量(performancemeasure):衡量模型泛化能力的评价标准•回归(regression):均方误差(meansquarederror)•离散数据:𝐸𝑓;𝐷=1𝑚(𝑓𝒙𝑖−𝑦𝑖)2𝑚𝑖=1•连续数据:𝐸𝑓;𝒟=𝑓𝒙−𝑦2𝑝𝒙𝑑𝒙𝒙~𝒟•分类(classification):错误率(errorrate)和精度(accuracy)•离散数据:𝐸𝑓;𝐷=1𝑚𝕀(𝑓𝒙𝑖≠𝑦𝑖)𝑚𝑖=1,acc𝑓;𝐷=1𝑚𝕀(𝑓𝒙𝑖=𝑦𝑖)𝑚𝑖=1•连续数据:𝐸𝑓;𝒟=𝕀𝑓𝒙≠𝑦𝑝𝒙𝑑𝒙𝒙~𝒟,acc𝑓;𝒟=𝕀𝑓𝒙=𝑦𝑝𝒙𝑑𝒙𝒙~𝒟任务需求——以二分类为例•混淆矩阵(confusionmatrix),非对角,纠缠相•查准率(precision):𝑃=𝑇𝑃𝑇𝑃+𝐹𝑃•查全率(recall):𝑅=𝑇𝑃𝑇𝑃+𝐹𝑁•P-R曲线•面积、平衡点(Break-Even-Point,BEP)•𝐹1度量:𝑃,𝑅的调和平均•𝐹𝛽度量:𝑃,𝑅的加权调和平均多混淆矩阵•先分别计算查准率和查全率,再平均•宏查准率(macro−𝑃):macro−𝑃=1𝑛𝑃𝑖𝑚𝑖=1•宏查全率(macro−𝑅):macro−𝑅=1𝑛𝑅𝑖𝑚𝑖=1•宏𝐹1(macro−𝐹1)•先平均各混淆矩阵对应元素,再计算查准率和查全率•微查准率(micro−𝑃):micro−𝑃=𝑇𝑃𝑇𝑃+𝐹𝑃•微查全率(micro−𝑅):micro−𝑅=𝑇𝑃𝑇𝑃+𝐹𝑁•微𝐹1(micro−𝐹1)ROC与AUC•受试者工作特征曲线(ReceiverOperatingCharacteristic)•横轴——假正例率:FPR=𝐹𝑃𝑇𝑁+𝐹𝑃•纵轴——真正利率:TPR=𝑇𝑃𝑇𝑃+𝐹𝑁•AUC(AreaUnderROCcurve)•AUC=12(𝑥𝑖+1−𝑥𝑖)∙(𝑦𝑖+𝑦𝑖+1)𝑚−1𝑖=1•AUC反应样本预测的排序质量•AUC=1−ℓ𝑟𝑎𝑛𝑘(排序损失)代价敏感错误率与代价曲线•非均等代价(unequalcost)•代价矩阵(costmatrix)•代价敏感错误率:加权的错误率•代价曲线(costcurve):•横轴——正例概率代价𝑃+𝑐𝑜𝑠𝑡=𝑝×𝑐𝑜𝑠𝑡01𝑝×𝑐𝑜𝑠𝑡01+(1−𝑝)×𝑐𝑜𝑠𝑡10•纵轴——归一化代价𝑐𝑜𝑠𝑡𝑛𝑜𝑟𝑚=FNR×𝑝×𝑐𝑜𝑠𝑡01+FPR×(1−𝑝)×𝑐𝑜𝑠𝑡10𝑝×𝑐𝑜𝑠𝑡01+(1−𝑝)×𝑐𝑜𝑠𝑡10比较检验•如何比较?——从统计的角度•统计假设检验(hypothesistest):根据测试错误率估计推断泛化错误率的分布。•提出假设→找到符合某种概率分布的中间变量→利用该概率分布确定在某个置信度(confidence)下是否接受该假设单个学习器•二项检验•泛化错误率为𝜖的学习器,𝑚个测试样本,测试错误率为𝜖•假设“𝜖≤𝜖0”,置信度为1−𝛼,拒绝域为𝜖≥𝜖,其中临界值𝜖=max𝜖s.t.𝑚𝑖𝑚𝑖=𝜖0×𝑚+1𝜖𝑖(1−𝜖)𝑚−𝑖𝛼•t检验•𝑘个测试错误率𝜖1,⋯,𝜖𝑘,可看做泛化错误率𝜖0的独立采样•计算得平均测试错误率𝜇和样本方差𝜎2,则𝜏𝑡=𝑘(𝜇−𝜖0)𝜎服从自由度𝑘−1的t分布•假设“𝜇=𝜖0”,显著度𝛼,拒绝域为𝜏𝑡𝑡𝛼/2一个数据集多个学习器•成对t检验•学习器A和B,𝑘折交叉验证法得测试错误率𝜖𝑖𝐴和𝜖𝑖𝐵(𝑖=1,…,𝑘)•计算得差值∆𝑖及它们的均值𝜇和样本方差𝜎2•假设“𝜖𝑖𝐴=𝜖𝑖𝐵”,显著度𝛼,拒绝域为𝜏𝑡=𝑘𝜇𝜎𝑡𝛼/2•McNemar检验•学习器A和B,留出法得列联表(contingencytable)•假设“𝑒01=𝑒10”,显著度𝛼,拒绝域为𝜏𝜒2=(𝑒01−𝑒10−1)2𝑒01+𝑒10𝜒𝛼2多个数据集和多个学习器•Friedman检验•由数据集𝐷1,…,𝐷𝑁对算法A𝑖(𝑖=1,…,𝑘)测试结果排序得算法平均序值𝑟𝑖•假设“各算法性能相同”,,显著度𝛼,拒绝域为𝜏𝐹=(𝑁−1)𝜏𝜒2𝑁𝑘−1−𝜏𝜒2𝐹𝑘−1,𝑘−1𝑁−1(𝛼/2),其中𝜏𝜒2=12𝑁𝑘𝑘+1(𝑟𝑖2𝑘𝑖=1−𝑘(𝑘+1)24)•Nemenyi后续检验•若假设被拒绝,计算平均序值差别的临界值域𝐶𝐷=𝑞𝛼𝑘(𝑘+1)6𝑁•假设“两个算法性能相同”,显著度𝛼,拒绝域为𝑟𝑖−𝑟𝑗𝐶𝐷偏差与方差•泛化误差可分解为偏差、方差和噪声之和。•𝐸𝑓;𝐷=𝔼𝐷(𝑓𝒙;𝐷−𝑦𝐷)2=⋯=𝑏𝑖𝑎𝑠2𝒙+𝑣𝑎𝑟𝒙+𝜀2•偏差度量了学习算法的偏离程度,𝔼𝐷(𝑓𝒙;𝐷−𝔼𝐷[𝑓𝒙;𝐷])2•方差度量了数据扰动所造成的影响,(𝔼𝐷𝑓𝒙;𝐷−𝑦)2•噪声刻画了学习问题本身的难度,𝔼𝐷(𝑦𝐷−𝑦)2•谢谢!
本文标题:机器学习第2章 模型评估与选择
链接地址:https://www.777doc.com/doc-3186700 .html