西瓜书第一章和第二章学习笔记

西瓜书第一章:绪论

1.1 引言

本书用“模型”泛指从数据中学得的结果。有文献用“模型”指代全局性结果(如一颗决策树),而用“模式”指局部性结果(例如一条规则)。

1.2 基本术语

数据集:记录的集合称为数据集,其中每条记录是关于一个事件或对象的描述。

属性、特征、特征向量(feature vector,与线代的特征向量(eigenvector)不是一个意思)。

预测的是离散值:分类任务。

聚类分析:根据“距离”来进行分类。

有监督学习:训练数据有明确的标记;无监督学习:训练数据没有明确的标记。

需要注意的是,机器学习的目标是使学得的模型可以很好的适用于“新样本”,即有很好的泛化(generalization)能力。因此,尽管训练集通常只是样本空间的一个很小的采样,我们仍希望它能很好地反映出样本的特性,否则就很难期望在训练集上学得地模型在整个样本空间上都工作得好。

1.3 假设空间

假设空间由样本特征所有可能假设组成。

西瓜书第二章:模型评估与选择

2.1 经验误差与过拟合

精度=1-错误率=1-分类错误的样本数量/分类样本总数量
误差:我们把学习器的实际预测输出与样本的真实预测输出之间的差异称为误差(error)。在训练集上的误差成为训练误差(training error)或经验误差(empricial error),在测试集上的误差成为测试误差(test error),在新样本上的误差成为泛化误差(generalized error)。

我们的目标是:让,泛化误差或测试误差,达到最小值。
我们能够做到的是:让,训练误差或经验误差,达到最小值。
如果我们选择让学习器把样本学习的“很好”(让训练误差或经验误差达到最小),那么可能会将训练集的样本特有特征也考虑进入分类算法内,从而使得对非训练集数据进行预测时产生偏差,降低泛化能力。这种现象叫做过拟合。
反之,如果为了避免将过多无关的样本特有元素考虑进入分类算法,而选择惩罚“学习”行为,有可能回导致没有学习到重要的特征,这种现象叫做欠拟合。

简而言之:目标和实际能力的区别,会导致过拟合和欠拟合的问题。

从P!=NP定理容易发现,欠拟合容易避免,而过拟合问题总是存在(见西瓜书)。

在现实任务中,需要选择学习算法和参数配置,选择的过程就是“模型选择”问题。

2.2 评估方法

我们通常通过泛化误差来对学习算法和参数配置进行选择,这就需要我们构建测试集(testing set),并用测试误差(testing error)作为泛化误差(generalized error)的近似。

需要注意的是:测试样本要尽可能不出现在训练集当中。

产生训练集和测试集的方法主要有以下几种:

2.2.1 留出法

留出法(hold-out)直接将数据集分成两个互斥的集合。在分割过程中,要尽量保证数据分布的一致性,避免因为数据划分过程引入额外的偏差而对最终结果产生影响。

为了保证数据分布的一致性,我们可以根据数据分布将数据分为不同的层次,然后在不同层次上分别按照比例进行抽样,最后将不同层次上的抽样汇总,构成测试集。这种方法被称为分层采样法(stratified sampling)可以确保测试集的数据分布与总样本的数据分布相似。

留出法的问题是:单次留出法获得的测试集结果未必稳定,我们需要多次留出,并观察多次留出后,测试结果的效果如何。将多次留出的过程标准化后,我们可以得到交叉验证法。

2.2.2 交叉验证法

交叉验证法(cross validation)指的是将数据集分为K个互斥子集(需要保证每个子集的数据分布具有一致性,即通过分层采样获得),以K-1个子集的并集作为训练集,以另一个子集作为测试集。这样就可以获得K组训练/测试集,可以做K次训练和训练,最终返回的结果取决于K次结果的均值。

交叉验证法的稳定性和保真性很大程度上取决于K的取值,所以我们通常将交叉验证法的K明确说出,称为"K折验证法"。

但是K次回归都来自同一种分割方法得到的互斥子集。为了进一步保证结果的泛化结果的稳健性和保真性,我们需要进行多次分割(P次),并在不同分割结果上使用“K折验证法”。最终的评估结果是P次K折交叉验证结果的均值。我们将其称为“P次K折交叉验证”。

注:若样本总数为M,令K=M,那么每一个样本集就只有一个数据,这种方法叫“留一法”(Leave-one-out,LOO)。留一法最大限度的使用了数据集中的信息,同时因为使用了测试集来对算法进行调整,过拟合问题也可以得到一定程度上的解决。所以留一法的评估结果往往被认为比较准确。但是留一法的运算量比较大,当样本量较大时,使用留一法的计算开销是难以忍受的,而且留一法的训练效果并不是一定就比其他方法好。

2.2.3 自助法

我们希望能够尽量获取数据集中有用的信息,但在留出法和交叉验证法中,有一部分数据被用作了测试集;留一法的计算复杂度又太高。

自助法(bootstrapping)兼顾了信息使用量与效率:设数据集中一共有M个样本,我们首先抽出一个样本,计入训练集中,然后将该样本放回,再抽一个新样本,计入训练集。重复抽取、计入、放回的动作M次。因为我们有M个样本,仅有1/M!的概率会将所有的样本都抽中。根据KaTeX parse error: Double subscript at position 9: \lim_{n}_̲ (1-\frac{1}{m}…易得,取极限之后,一个样本大约有36.8%的概率永远不会在抽样中被选中。

我们将抽样的结果作为训练集,将没有被抽中的作为测试集。
此时,实际评估的模型与期望评估的模型都使用M个训练样本,而我们仍有35%左右的样本没有出现在测试当中,这样的测试结果,也称为“包外估计”(out-of-bag-estimation)。

自助法在数据集比较小、难以有效划分训练/测试集的时候很有用;此外,自助法能够从初始数据集中产生多个不同的训练集,对集成学习等方法有很大的好处。但是自助法产生的数据集的分布会和原始数据变得不一样,从而引入估计偏差,因此当数据量足够时,留出法和交叉验证法更常用一些。

2.2.4 调参与最终模型

大多数学习算法都有些参数(parameter)需要设定,参数配置不同,模型的性能会有很大的不同。我们对参数进行调节的过程叫做调参(parameter tuning)。

调参和算法选择没有本质的区别,同样是分割样本后对配有不同参数的模型进行回归,观察配有何种参数的模型的效果更好。在选定不同参数时,往往规定一个参数的变动范围,然后在这个范围内均匀的选取参数。这样做的运算复杂度会变得非常高。

2.2.5 一点补充

给定包含M个样本的数据集D,在模型评估与选择过程中由于需要流出一部分数据进行评估测试,事实上我们只是用了一部分数据进行模型训练。因此,在完成模型选择之后,当学习算法和参数配置已经确定的时候,应该用数据集D重新训练模型。这个模型在训练过程中使用了所有的M个样本,这才是我们最终提交给用户的模型。

我们通常把学习而得的模型在实际使用中遇到的数据称为测试集数据,为了加以区分,模型评估与选择中用于评估测试的数据集经常被称为“验证集”(Validation set)。在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,给予验证集上的性能来进行模型选择和调参。

2.3 性能度量

这一节讲述具体的性能度量指标。如果说上一节讲述了“函数”(如何组合数),这一节讲述的叫做“数”。

比较常见的性能度量指标是均方误差,即,对预测结果与真实值的差的平方进行求和。平方求和处理更加方便,而且可以体现对误差的非线性惩罚,并且符合投影的公式(线性代数投影矩阵公式 P=A(AT*A)-1AT

更一般的,对数据分布和概率密度函数,均方误差可用积分代替求和。

2.3.1 错误率与精度

分类问题适合用错误率与精度来对结果的好坏进行描述。精度=1-错误率。

2.3.2 查准率、查全率与F1

东西有好坏,判断有对错,两个维度的标准结合起来可以构成混淆矩阵。

东西 好, 判断 对了 :TP True Positive
东西 好, 判断 错了 :FN false Negative
东西 不好, 判断 对了 : TN True Negative
东西 不好, 判断 错了 : FP False Positive

P=查准率:我挑的好东西有多大概率是好的=TP/(TP+FP)
R=查全率:我能把多少好东西挑出来=TP(TP+FN)

如果要想把好的都挑出来,如果,将好的挑出来的难度,随着好的东西一个个被挑出会逐渐增大,那么把好东西挑出来的过程中,就更容易混入不好的东西(从边际收益的角度去理解做一件事的收益和成本)。反之,如果我希望挑出来的都是好东西,那么随着挑选标准变得严格,也很容易将一些好东西给排除掉。所以P和R往往不可兼得。

我们可以根据学习器的预测结果对样例进行排序,排在前面的是学习器认为元素“最可能”是好东西的样本,排在最后的是学习器认为元素“最不可能”是好东西的样本。以R为横轴,P为纵轴,建立P-R曲线。

如果说一个曲线可以在外围把另一个曲线完全包住(即,对里面那条曲线的任一点来说,都可以在外面那条曲线找到一点,使得P和R同时大于里面那条曲线的一点。),则可以断言后者的性能优于前者。若曲线有交叉,很难判断孰优孰劣。

为了判断综合查准率与查全率后,什么方法的效果最好,人们提出了“平衡点”(Break-Event Point,简称BEP)等方法。BEP是查准率等于查全率时的取值。

但BEP过于简化,更常用的时F1=2PR/(P+R)=2*TP/(样例总数+TP-TN)。

在一些应用中,对查准率和查全率的重视程度不同,会加入调节参数,得到F1的一般形式(1+β2)PR/(β2*P)+R,β表示P相对于R的重视程度,β越大,对P的重视程度越低。

有时候我们会有多个二分类矩阵,有宏F1和微F1等多种方法来衡量整体的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值