学习报告 第二周
前言:第一章讲述了机器学习领域的基本概念,包括模型、数据集等重要的专有名词。在算法的帮助下,能从数据集中提取了模型;对于同一数据集而言,给定不同的算法,会提取不同的模型,甚至给定同一算法的不同参数,也能得到不同的模型。那么,在这诸多模型当中,如何选择最佳的模型呢?
这个过程,称之为模型选择。模型选择,会遵循一定的标准:首先,要将数据集分为若干部分,其中一部分用于训练模型,另一部分用于测试模型的泛化能力;然后,对于测试的结果,我们给定一个性能度量参数,从数值上比较不同模型的泛化能力;再然后,通过复杂的比较检验方法,对不同的模型性能进行比较;最后,对于模型的性能,尝试给出一个解释。
以上就是第二章的内容。主要涉及的要点,还是机器学习领域的通识性知识;内容较多,比较晦涩,和人的常识略有不同。;例如:比较不同模型的泛化能力,往往不能直接比较错误率/精度的大小,要通过多方面复杂的比较检验来进行。需要反复查阅、体会。
2.1 经验误差与过拟合
一如既往一开始先看几个概念
错误率:分类错误的样本数占样本总数的比例
精度:分类正确的样本数占样本总数的比例 (1-错误率)
误差:学习器实际预测输出与样本的真实输出之间的差异
经验误差:学习器在训练集上的误差
泛化误差:学习器在新样本上的误差
特别的是 经验误差很小、在训练集上表现很好的学习器 多数情况下表现都不太好
当学习器把样本学得“太好”了的时候,很可能已经把训练样本自身的一些特点当做了所有样本都会具有的一般性质,导致泛化性能下降,即过拟合。欠拟合与之相反
Ps:过拟合是机器学习面临的关键障碍,是无法避免的
2.2 评估方法
在现实任务中,我们往往有多种学习算法可供选择,甚至对同一个学习算法,当使用不同的配置时,也会产生不同的模型。从这些模型中选择最恰当的,这就是机器学习中的“模型选择”问题。理想的解决方案是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。
给定一个“测试集”用来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。
- 留出法
将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T,即D = S ∪ T ,S ∩ T = ∅。
① 训练/测试集的划分要尽可能保持数据分布的一致性
② 单词使用留出法得到的评估结果往往不够稳定可靠,一般要采用若干次随机划分、重复试验评估过去平均值作为留出法的评估结果。 - 交叉验证法
将数据集D划分为k个大小相似的互斥子集,然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。
交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值。
与留出法相似,将数据集D划分为k个子集同样存在多种划分方式。为减少因样本划分不同而引入的差别,通常要随机使用不同的划分重复p次,最终评估结果取均值。 - 自助法
每次随机从D中挑选一个样本,将其拷入D’,然后将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;重复执行m次后,得到包含了m个样本的数据集D’。将D’作为训练集,D\D’用作测试集。
2.3 性能度量
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有横梁模型泛化能力的评价标准,这既是性能度量。性能度量反映了任务需求!!!
-
错误率与精度
错误率定义:
精度定义:
-
查准率、查全率与F1
例:在信息检索中 “检索出的信息中有多少比例是用户感兴趣的”为“查准率”;“用户感兴趣的信息中有多少被检索出来了”为“查全率”对于二分类问题,可将样例根据真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情况
查准率和查全率是一对矛盾的变量。一般来说,查准率高是,查全率往往偏低;而查全率高时,查准率往往偏低。查准率-查全率曲线,简称“P-R曲线”,图为“P-R图”,评估性能好坏就是比较P-R曲线下面积的大小;引入“平衡点(BEP)”(它是“查准率=查全率”时的取值)进行平衡点比较。
F1度量:基于查准率与查全率的调和平均定义的
在一些应用中,对查准率和查全率的重视程度有所不同。案例如下:- 商品推荐系统中,为了尽可能少打搅用户,更希望推荐内容确是用户感兴趣的,查准率很关键。
- 逃犯信息检索系统中,更可能少漏掉逃犯,此时查全率比较重要。
F1度量的一般形式——Fβ,能让我们表达出对查准率/查全率的不同偏好,它定义为
-
ROC与AUC
截断点(cut point),p与0.5比较,大于0.5为正例,反之。
ROC曲线则是从拍讯本身质量的好坏角度出发来研究学习期泛化性能的有力工具。
ROC全称是“受试者工作特征”曲线;ROC曲线纵轴是“真正例率(TPR)”,横轴是“假正例率(FPR)”。
TPR=TP/(TP+FN)
FPR=FP/(FN+FP)
AUC是ROC曲线下的面积。AUC=1—排序损失。AUC的取值范围在0.5和1之间。比较数值。
经典解析:ROC曲线图中的四个点和一条线。第一个点,(0,1),即FPR=0,TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。Wow,这是一个完美的分类器,它将所有的样本都正确分类。第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。
-
代价敏感错误率与代价曲线
2.4 比较检验
- 假设检验
- 交叉验证t检验
- McNemar检验
- Friedman检验与Nemenyi检验
2.5 偏差与方差
解释学习算法泛化性能的一种重要的工具。