2018-10-24
《机器学习》(西瓜书)笔记(2)-模型评估与选择
模型评估与选择
2.1经验误差与过拟合
错误率: 分类错误的样本数占样本总数的比例。
精度: 1-错误率
误差: 学习器的实际预测输出与样本真实输出之前的差异称为误差。
训练误差/经验误差: 学习器在训练集上的误差。
泛化误差: 学习器在新样本上的误差。
过拟合:学习器把训练样本学得“太好”了的时候,很可能已经把训练样本的自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降。
欠拟合: 对训练样本的一般性质尚未学好。
有多种因素导致过拟合,其中最常见的情况是由于学习能力过于强大,以至于吧训练样本所包含的不太一般的特性都学到了,而欠拟合则通常是由于学习能力低下造成的。
过拟合是机器学习面临的关键障碍;然而我们必须意识到,过拟合是无法彻底避免的,我们所能做的只是“缓解”,或者说减小其风险,关于这一点,可以大致这样理解:机器学习面临的问题通常是NP难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底避免过拟合,则通过经验误差做小化就能获最优解,这就意味着我们构造性地证明了“P=NP”;因此只要相信“P≠NP”,过拟合就不可避免。NP完全问题
2.2评估方法
通常我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。为此,需使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样而得的。但需要注意的是,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练过程中使用。
一个数据集既要训练又要测试,需要从中产生训练集和测试集,下面介绍几种常见的做法:留出法,交叉验证法,自主法。
留出法

需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。通常采用分层抽样。
单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果。
常见做法是将大约2/3~4/5的样本用于训练,剩余样本用于测试。
交叉验证法

交叉验证法的一个特例:留一法
假定数据集D中包含m个样本,若令k=m,则是留一法。
优点:不受随机样本划分方式的影响,评估结果往往比较准确
缺点:数据比较大的时候,计算开销难以忍受。留一法的估计结果也未必永远比其他评估方法准确。
自助法

2.3性能度量
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量。

错误率与精度

查准率,查全率,F1
查准率:预测出的正例中实际也是正例(分子) 在 所有预测出的正例(分母)中的比例。
查全率:预测出的正例中实际也是正例(分子) 在 所有真正正例(分母)中的比例。

查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

P-R图直观地显示出学习器在样本总体上的查全率、查准率。在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全包住,则可断言后者的性能优于前者,如A和C。
还可以比较曲线所围成的面积。
平衡点(Break-Even Point)也是衡量的一个指标。他是查准率=查全率时的取值。在基于平衡点的比较,可以认为学习器A优于B。

其中β>0度量了查全率对查准率的相对重要性,β=1时退化为标准的F1,;β>1时查全率有更大影响,β<1时查准率有更大影响。

ROC与AUC


AUC:
代价敏感错误率与代价曲线



2.4 比较检验
假设检验
交叉验证t检验
McNemar检验
Friedman检验和Nemenyi后续检验
2.5偏差与方差



参考文献:周志华 著. 机器学习, 北京: 清华大学出版社, 2016年1月.
Y's Blog
