周志华《机器学习》笔记:第2章 模型估计与选择

1、经验误差与过拟合
  分类错误数占样本总数的比例称为“错误率”,精度=1-错误率。
  学习器的实际预测输出与样本的真实输出之间的差异称为“误差”,学习器在训练集上的误差称为训练误差/经验误差,在新样本上的误差称为“泛化误差”。
  希望得到泛化误差小的学习器,因此应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,由于学习能力过于强大导致过拟合,由于学习能力低下造成欠拟合。
  各类学习算法都必然带有一些针对过拟合的措施,然而过拟合是无法彻底避免的。

2、评估方法
  我们只有一个包含m个样例的数据集D,通过对D进行适当的处理,从中产生出训练集S和测试集T。
2.1留出法
  “留出法”直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为训练集T。训练/测试集的划分要尽可能保持数据分布的一致性,例如在分类任务中至少要保持样本的类别比例相似。如果从采样的角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为“分层采样”。
  单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果。通常将2/3~4/5的样本用于训练,剩余样本用于测试。
2.2交叉验证法
  先将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。
  交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,通常又称为“k折交叉验证”。与留出法相似,将数据集划分为k个子集同样存在多种划分方式,为减少因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值。
  假定数据集中包含m个样本,若令k=m,则得到了交叉验证法的一个特例:留一法。
2.3自助法
  为减少训练样本规模不同造成的影响,同时比较高效地进行实验估计。自助法(bootstrapping)以自助采样法为基础。给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’。显然,D中有一部分样本在D’中多次出现,而一部分样本不出现。通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中。于是将D’用作训练集,D/D’用作测试集。这样的测试结果,亦称“包外估计”。
  自助法在数据集较小、难以有效划分训练/测试集时很有效,然而自助法产生的数据集改变了初始数据集的分布,这回引入估计偏差。因此,在初始数据量足够时,留出法和交叉验证法更常用一些。
2.4调参与最终模型
  在进行模型评估与选择时,需要对算法参数进行设定,即“调参”。现实中常用的做法,是对每个参数选定一个范围和变化步长。
  在模型选择完成后,学习算法和参数配置已选定,此时应该用数据集D重新训练模型。模型在训练过程中使用了所有m个样本,才是最终提交给用户的模型。另外,用于评估测试的数据集常称为“验证集”。训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。

3、性能度量
2.3.1错误率与精度
  错误率是分类错误的样本数占样本总数的比例,精度是分类正确的样本数占样本总数的比例。
2.3.2查准率、差全率与F1
  对于二分类问题,将样例根据真实类别与学习器预测类别的组合划分为真正例、假正例、真反例、假反例四种情形,令TP、FP、TN、FN分别表示其对应的样例数。

真实情况
预测情况
正例
反例
正例
TP(真正例)
FN(假反例)
反例
FP(假正例)
TN(真反例)

  查准率P与查全率R分别定义为

P=TPTP+FP

R=TPTP+FN

  查准率即为:预测正并真实正的占预测正的比例;查全率即为:预测正并真实正占真实正的比例。
  查准率和查全率是一对矛盾的度量。查准率-查全率曲线,简称“P-R曲线”。在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者。如果两个学习器的P-R曲线交叉,难以一般性断言两者孰优孰劣。比较合理的判据是比较P-R曲线下面积的大小。
  为综合考虑查准率、查全率的性能度量,“平衡点”即“查准率=查全率”时的取值,更常用的是F1度量。
  当对查准率和查全率的重视程度有所不同,F1度量的一般形式Fβ. β>0度量了查全率对查准率的相对重要性。β=1时退化为标准的F1,β>1时查全率有更大影响,β<1时查准率有更大影响。
  对于有多个二分类混淆矩阵,可以在各混淆矩阵上分别计算查准率和查全率,再计算平均值,这样就得到“宏查准率”、“宏查全率”以及“宏F1”;还可将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、 FN的平均值,再基于这些平均值计算出“微查准率”、“微查全率”和“微F1”。
2.3.3 ROC与AUC
  很多学习器是为测试样本产生一个实值或概率预测,然后这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为反类。排序本身的质量好坏,体现了综合考虑学习器在不同任务下的“期望泛化性能”的好坏,或者说,“一般情况下”泛化性能的好坏。ROC,“受试者工作特征”曲线。
  我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了“ROC”曲线。ROC曲线的纵轴是“真正例率”(TPR),横轴是“假正例率”(FPR)。
TPR=TPTP+FN

FPR=FPTN+FP

  真正例率即为:预测正并真实正占真实正的比例;假正例率即为:预测正并真实反占真实反的比例。
2.3.4代价敏感错误率与代价曲线
  为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”。在非均等代价下,希望的不再是简单地最小化错误次数,而是希望最小化“总体代价”。
  
4、比较检验
5、偏差与方差

你可能感兴趣的:(Machine,Learning,机器学习)