模型评估与选择

信息检索、Web搜索等场景中经常需要衡量正例被预测出来的比率或者预测出来的正例中正确的比率,此时查准率和查全率比错误率和精度更适合。假设检验为学习器性能比较提供了重要依据,基于其结果我们可以推断出若在测试集上观察到学习器A比B好,则A的泛化性能是否在统计意义上优于B,以及这个结论的把握有多大。
展开查看详情

1.胡鹏

2.第 二 章 :模型评估 与选择

3.大纲 经验误差与过拟合 评估方法 性能度量 比较检验 偏差与方差 阅读材料

4.经验误差与过拟合 错误率 & 误差: 错误率 : 错分样本的占 比: 误差:样本真实输出与预测输出之间的差异 训练 ( 经验 ) 误差:训练集上 测试误差:测试集 泛化 误差:除训练集外所有样本 由于 事先并不知道新样本的特征, 我们 只能努力使经验误差最小化; 很多时候虽然能在训练集上做到分类错误率为零,但多数情况下这样的学习器并不好

5.经验误差与过拟合 过拟合 : 学习器把训练样本学习的“太好”,将训练样本本身的特点 当做所有样本的一般性质,导致泛化性能下降 优化目标加正则项 early stop 欠拟合: 对 训练样本的一般性质尚未学好 决策树 : 拓展分支 神经网络 : 增加 训练轮数

6.经验误差与过拟合 过拟合:学习器把训练样本本身特点当做所有潜在样本都会具有的一般性质 . 欠拟合:训练样本的一般性质尚未被学习器学好 .

7.经验误差与过拟合 过拟合:学习器把训练样本本身特点当做所有潜在样本都会具有的一般性质 . 欠拟合:训练样本的一般性质尚未被学习器学好 .

8.评估方法 现实 任务中往往会 对 学习器的泛化性能、时间开销、存储开销、可解释性等方面的因素进行评估并做出选择 我们假设测试集是从样本真实分布中独立采样获得,将测试集上的“测试误差 ” 作为泛化误差的近似,所以测试集要和训练集中的样本尽量互斥。

9.评估方法 留出法: 直接将数据集划分为两个互斥集合 训练 / 测试集划分要尽可能保持数据分布的一致性 一般若干次随机划分、重复实验取平均值 训练 / 测试样本比例通常为 2:1~4:1 通常将包含个 样本的数据集 拆分 成训练集 和测试集 :

10.评估方法 交叉 验证法: 将数据集分层采样划分为 k 个大小相似的互斥子集,每次用 k-1 个子集的并集作为训练集,余下的子集作为测试集,最终返回 k 个测试结果的均值, k 最常用的取值是 10 .

11.评估方法 与留出法类似,将数据集 D 划分为 k 个子集同样存在多种划分方式,为了减小因样本划分不同而引入的差别, k 折交叉验证通常随机使用不同的划分重复 p 次,最终的评估结果是这 p 次 k 折交叉验证结果的均值,例如常见的“ 10 次 10 折交叉验证” 假设数据集 D 包含 m 个样本,若令 ,则得到留一法: 不受随机样本划分方式的 影响 结果往往比较准确 当数据集比较大时,计算开销难以忍受

12.评估方法 自助法: 以自助采样法为基础,对数据集 有放回采样 次得到训练集 , 用做测试集。 实际模型与预期模型都使用 个训练样本 约有 1/3 的样本没在训练集中出现 从初始数据集中产生多个不同的训练集,对集成学习有很大的 好处 自助 法在数据集较小、难以有效划分训练 / 测试集时很有用;由于改变了数据集分布可能引入估计偏差,在数据量足够时,留出法和交叉验证法更常用。

13.评估方法 自助法: 以自助采样法为基础,对数据集 有放回采样 次得到训练集 , 用做测试集。 实际模型与预期模型都使用 个训练样本 约有 1/3 的样本没在训练集中出现 从初始数据集中产生多个不同的训练集,对集成学习有很大的 好处 自助 法在数据集较小、难以有效划分训练 / 测试集时很有用;由于改变了数据集分布可能引入估计偏差,在数据量足够时,留出法和交叉验证法更常用。

14.性能度量 性能度量是衡量模型泛化能力的评价标准,反映了任务需求;使用不同的性能度量往往会导致不同的评判结果 在预测任务中,给定样例集 评估学习器的性能 也即把预测结果 和真实标记比较 . 回归任务最常用的性能度量是“均方误差”:

15.性能度量 对于分类任务 , 错误率和精度是最常用的两种性能度量: 错误率:分错样本占样本总数的比例 精度:分对样本占样本总数的比率 分类错误率 精度

16.性能度量 信息检索、 Web 搜索等场景中经常需要衡量正例被预测出来的比率或者预测出来的正例中正确的比率,此时查准率和查全率比错误率和精度更适合。 统计真实标记和预测结果的组合可以得到“混淆矩阵” 查准率 查全率

17.性能度量 根据学习器的预测结果按正例可能性大小对样例进行排序,并逐个把样本作为正例进行预测,则可以得到查准率 - 查全率曲线,简称“ P-R 曲线” 平衡点是 曲线上 “查准率 = 查全率”时的取值,可用来用于度量 P-R 曲线有交叉的分类器性能高低

18.性能度量 比 P-R 曲线平衡点更用常用的是 F1 度量: 比 F1 更一般的形式 , : 标准 F1 : 偏重查全率 ( 逃犯信息检索 ) : 偏重查准率 ( 商品推荐系统 )

19.性能度量 类似 P-R 曲线,根据学习器的预测结果对样例排序,并逐个作为正例进行预测,以“假正例率”为横轴,“真正例率”为纵轴可得到 ROC 曲线 , 全称“受试者工作特征 ”. ROC 图的绘制:给定 个正例和 个负例,根据学习器预测结果对样例进行排序,将分类阈值设为每个样例的预测值,当前标记点坐标为 , 当前若为真正例,则对应标记点的坐标为 ; 当前若为假正例,则对应标记点的坐标为 , 然后用线段连接相邻点 .

20.性能度量 若某个学习器的 ROC 曲线被另一个学习器的曲线“包住”,则后者性能优于前者;否则如果曲线交叉,可以 根据 ROC 曲线下面积大小进行比较,也即 AUC 值 . 假设 ROC 曲线由 的点按序连接而形成 ,则: AUC 可估算为: AUC 衡量了样本预测的排序质量。

21.代价敏感错误率 现实任务中不同类型的错误所造成的后果很可能不同,为了权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”。 以二分类为例,可根据领域知识设定“代价矩阵”,如下表所示,其中 表示将第 i 类样本预测为第 j 类样本的代价。损失程度越大, 与 值的差别越大。 在非均等代价下,不再最小化错误次数,而是最小化“总体代价”,则“代价敏感”错误率相应的为:

22.代价曲线 在非均等代价下, ROC 曲线不能直接反映出学习器的期望总体代价,而“代价曲线”可以。 代价曲线的横轴是取值为 [0,1] 的正例概率代价 纵轴是取值为 [0,1] 的归一化代价

23.代价曲线 代价曲线图的绘制: ROC 曲线上每个点对应了代价曲线上的一条线段,设 ROC 曲线上点的坐标为 (TPR,FPR), 则可相应计算出 FNR, 然后在代价平面上绘制一条从 (0,FPR) 到 (1,FNR) 的线段,线段下的面积即表示了该条件下的期望总体代价;如此将 ROC 曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为所有条件下学习器的期望总体代价。

24.代价曲线 代价曲线图的绘制: ROC 曲线上每个点对应了代价曲线上的一条线段,设 ROC 曲线上点的坐标为 (TPR,FPR), 则可相应计算出 FNR, 然后在代价平面上绘制一条从 (0,FPR) 到 (1,FNR) 的线段,线段下的面积即表示了该条件下的期望总体代价;如此将 ROC 曲线上的每个点转化为代价平面上的一条线段,然后取所有线段的下界,围成的面积即为所有条件下学习器的期望总体代价。

25.性能评估 关于性能 比较 : 测试 性能并不等于泛化性能 测试性能随着测试集的变化而变化 很多机器学习算法本身有一定的 随机性 直接选取相应评估方法在相应度量下比大小的方法不可取! 假设检验为学习器性能比较提供了重要依据,基于其结果我们可以推断出若在测试集上观察到学习器 A 比 B 好,则 A 的泛化性能是否在统计意义上优于 B ,以及这个结论的把握有多大。

26.二项检验 假设 , 若 测试错误率小于 则 在 的显著度下,假设不能被拒绝 , 也即能以 的 置信度认为,模型的泛化错误率不大于 . 记泛 化 错误率为 , 测试 错误率为 , 假定测试样本从样本总体分布中独立采样而来,我们可以使用“二项检验”对 进行假设检验。

27.t 检验 对应的,面对多次重复留出法或者交叉验证法进行多次训练 / 测试时可使用“ t 检验”。 假定得到了 k 个测试错误率, , 假设, 对于显著度 , 若 位于临界范围 内 , 则假设不能被拒绝,即可认为泛 化 错误率 , 其置信度为 .

28.交叉验证 t 检验 现实任务中,更多时候需要对不同学习器的性能进行比较 对两个学习器 A 和 B, 若 k 折交叉验证得到的测试错误率分别为 和 ,可用 k 折交叉验证“成对 t 检验”进行比较检验。若两个学习器的性能相同,则他们使用相同的训练 / 测试集得到的测试错误率应相同,即 .

29.交叉验证 t 检验 先 对每对结果求差, , 若两个学习器性能相同,则差值应该为 0 ,继而用 来对“学习器 A 与 B 性能相同”这个假设做 t 检验。 假设检验的前提是测试错误率为泛化错误率的独立采样,然而由于样本有限,使用交叉验证导致训练集重叠,测试错误率并不独立,从而过高估计假设成立的概率,为缓解这一问题,可采用“ 5 * 2 交叉验证”法 .