章2.模型评估与选择
2.1经验误差与过拟合
错误率(m个样本中a个分错):E=a/m;精度=1-E=1-a/m
误差:学习器实际预测输出与样本的真实输出之间的差异
→训练误差/经验误差:学习器在训练集上的误差;泛化误差:学习器在新样本上的误差
过拟合(过配)~无法彻底避免;欠拟合(欠配)~易克服
2.2评估方法
一、“模型选择”思路:理论上,对候选模型的泛化误差进行评估,选择泛化误差最小的模型。
二、评估方法:通过实验测试评估模型的泛化误差。选用“测试集”,以测试集上的“测试误差”近似“泛化误差”(测试集要求:1、假设:每个测试样本独立同分布于样本真实分布;2、测试集尽量与训练集互斥)。
三、从数据集中划分“训练集”与“测试集”的方法:
1、留出法:即直接划分(需保持数据分布的一致性,e.x.“分层采样”:“正例/反例”值在D、S、T每个集合中都相等)
注:用留出法需采用若干次随机划分、重复进行实验评估后取均值作为评估结果;
S/T的比例较大较小都不太好,一般将2/3~4/5的样本用于训练,其余用作测试。
2、交叉验证法(/k折交叉验证):
通常,k=2、5、10(10最常用)
将数据集D划分为k个子集,通常随机使用不同的划分重复p次,评估结果为“p次k折交叉验证”结果的均值。
(特例:令k=D中样本数→“留一法”,适用于数据集较小时)
3、自助法:D中含m个样本,对D进行m次重复有放回随机抽样得D',令S=D',T=D\D',测试结果即“包外估计”。
四、调参及确定最终模型
实际中,对每个参数选定变化范围和变化步长,从而确定出许多套候选参数,用每套候选参数训练出模型,并评估比较。(调参对最终模型性能有极其关键的影响)
用D中S训练模型后,模型的学习算法和参数配置被选定,再用全部数据集D重新训练模型,得到最终模型。
2.3性能度量
性能度量:衡量模型泛化能力的评价标准。(取决于任务需求、算法和数据等)
分类任务中常用性能度量:
1、错误率与精度
分类错误率:
离散型: 连续性:
分类精度:
离散型:
连续型:
2、查准率(准确率)、查全率(召回率)与F1
对于二分类问题(正反例):
不同学习器学习性能的比较:(P-R曲线)
包裹的优于被包裹的,若交叉,比较平衡点刻度(越大越优)或F1(/):
F1基于调和平均;
基于加权调和平均
另:宏查准率、宏查全率、宏F1;微查准率、微查全率、微F1
3、ROC与AUC(略)
4、代价敏感错误率与代价曲线(略)
2.4比较检验
“假设检验”;交叉验证t检验;McNemar检验;Friedman检验、Nemenyi后续检验
(具体方法见书)
2.5偏差与方差
偏差-方差分解 用于解释学习算法泛化性能
泛化性能由学习算法的能力、数据的充分性、学习任务本身的难度共同决定。
存在“偏差-方差窘境”
(注:本篇学习笔记参考周志华 '机器学习' 一书。)