0
点赞
收藏
分享

微信扫一扫

西瓜书~《机器学习》 第一二章笔记

干自闭 2022-01-11 阅读 84

第一章 绪论

1.1 机器学习的定义

我们经常通过经验做出预判,通过计算机如何实现?
机器学习正是这样的一门学科,人的“经验”对应计算机中的“数据”,让计算机来学习这些经验数据,生成一个算法模型,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。

Mitchell给出了一个形式化的定义,假设:(NG 第一节课中给出定义)

  • P:计算机程序在某任务类T上的性能。
  • T:计算机程序希望实现的任务类。
  • E:表示经验,即历史的数据集。

若该计算机程序通过利用经验E在任务T上获得了性能P的改善,则称该程序对E进行了学习。

1.2 基本术语

  • 所有记录的集合为:数据集

  • 每一条记录为:一个实例(instance)或样本(sample)。

  • 例如:色泽或敲声,单个的特点为特征(feature)或属性(attribute)。

  • 属性取值 : 属性值(attribute value)

  • 属性空间(attribute space):

  • 对于一条记录,如果在坐标轴上表示,每个西瓜都可以用坐标轴中的一个点表示,一个点也是一个向量,例如(青绿,蜷缩,浊响),即每个西瓜为:一个特征向量(feature vector)。

  • 一般地,令D={x1;x2;…;xm}表示包含m个示例的数据集,每个示例由d个属性描述(如西瓜数据使用了3个属性),则每个示例xi = (xi1;xi2;…;xid)是d维样本空间X中的一个向量,其中xij是xi在第j个属性上的取值(如西瓜一例x32 = 硬挺),d成为样本xi的维数。

  • 一个样本的特征数为:维数(dimensionality); 当维数非常大时,也就是现在说的“维数灾难”。

计算机程序学习经验数据生成算法模型的过程中,每一条记录称为一个“训练样本”,同时在训练好模型后,我们希望使用新的样本来测试模型的效果,则每一个新的样本称为一个“测试样本”。定义:

  • 所有训练样本的集合为:训练集(trainning set)特殊

  • 所有测试样本的集合为:测试集(test set) 一般

假设(hypothesis):学得模型对应了关于数据的某种潜在规律,因此亦称”假设“。
真相/真实(ground-truth):潜在规律。
学习器(learner):本书有时将模型也称为学习器,可看作学习算法在给定数据和参数空间的实例化。
机器学习出来的模型适用于新样本的能力为:泛化能力(generalization),即从特殊到一般。

西瓜的例子中,我们是想计算机通过学习西瓜的特征数据,训练出一个决策模型,来判断一个新的西瓜是否是好瓜。可以得知我们预测的是:西瓜是好是坏,即好瓜与差瓜两种,是离散值。同样地,也有通过历年的人口数据,来预测未来的人口数量,人口数量则是连续值。定义:

  • 预测值为离散值的问题为:分类(classification)。

  • 预测值为连续值的问题为:回归(regression)。

标记(label):训练示例的结果信息。
样例(example):拥有标记信息的示例。
标记空间(label space)/输出空间:所有标记的集合。
对只涉及两个类别的”二分类(binary classification)”任务,通常称其中一个类为“正类(positive class),另一个为“反类(negative class)/负类”。
涉及多个类别的时,则称为“多分类(multi-class classification)”任务。
一般地,预测任务就是希望通过对训练集进行学习,建立一个从输入空间到输出空间的映射。
测试(testing):学得模型后,使用其进行预测的过程。
测试样本(testing sample)/测试示例/测试例:被预测的样本。
聚类(clustering):将训练集分成若干组。
簇(cluster):每一组称为一个簇。

根据训练数据是否拥有标记信息,学习任务课大致划分为两大类:“监督学习(supervised learning)/有导师学习” 和“无监督学习(unsupervised)/无导师学习”。
分类和回归时监督学习的代表,聚类是无监督学习的代表。

机器学习的目标是使学得的模型能很好的适用于“新样本”,而不仅仅在训练样本上工作的好。
泛化(generalization)能力:学得模型适用于新样本的能力。
通常假设样本空间中全体样本服从一个未知的“分布(distribution)”,我们获得每一个样本都是独立地从这个分布上采样获得的,即“独立同分布(independent and identically distributed)”。

1.3 假设空间

归纳学习>概念学习>布尔概念学习:是好瓜还是不是

1.4 归纳偏好

第二章 模型评估与选择

2.1 经验误差与过拟合

m为样本数,a为样本分类错误数
错误率(error rate):E = a/m
精度(accuracy): 1 − a m 1-\frac{a}{m} 1ma
误差(error):学习器的预测输出与样本的真实输出之间的差异(误差期望)

  • 训练误差(training error)或经验误差(empirical error):在训练集上的误差
  • 测试误差(test error):在测试集上的误差
  • 泛化误差(generalization error):学习器在所有新样本上的误差

过拟合(overfitting):学习能力过于强大,把训练样本自身的一些特点当成所有潜在样本都会有的一般              性质,导致泛化能力下降
欠拟合(underfitting):学习能力太差,对训练样本的一般性质尚未学好在这里插入图片描述
在过拟合问题中,训练误差很小,但测试误差很大;
在欠拟合问题中,训练误差和测试误差都比较大。
欠拟合问题容易克服: 如在决策树学习中扩展分支,在神经网络学习中增加训练轮数;
但过拟合问题是机器学习面临的关键障碍。

模型选择:在理想状态下,选择泛化误差最小的学习器。

2.2 评估方法

如何选择最适合的算法?
我们希望得到的是泛化误差小的学习器,理想的解决方案是对模型的泛化误差进行评估,然后选择泛化误差最小的那个学习器。但是,泛化误差指的是模型在所有新样本上的适用能力,我们无法直接获得泛化误差。

为此,需要使用一个“测试集”来测试学习器对新样本的判别能力,然后用测试集的“测试误差”作为泛化误差的近似,需要注意的是测试集应该尽可能与训练集互斥(即测试样本尽量未在训练集中出现,未在训练过程中用过)。

在包含m个样例的数据D集中得到训练集S和测试集T,有以下几种方法:

2.2.1 留出法

将数据集D划分为两个互斥的集合,一个作为训练集S,一个作为测试集T,即D=S∪TS∩T=∅

需要注意的是:

  1. S、T的划分要尽可能保持数据分布的一致性,避免因划分过程引入额外偏差而对结果产生影响,

  2. 一般采用分层抽样,保持样本类别比例相似。

  3. 单次使用留出法不可靠,一般采用若干次随机划分,重复进行试验后取平均值作为留出法的评估结果

  4. 常用的划分为:大约2/3~4/5的样本用于训练,剩下的用于测试。

2.2.2 交叉验证法(k折交叉验证)

将数据集D划分为k个大小相同的互斥子集,每个子集 D i D_{i} Di都尽可能保持数据分布的一致性 (即从D中分层抽样)
D = D 1 ∪ D 2 ∪ ⋯ ∪ D k , D i ∩ D j = ∅ ( i ≠ j ) D=D_{1}\cup D_{2}\cup\dots \cup D_{k},D_{i}∩D_{j}=\emptyset (i≠j) D=D1D2DkDiDj=i=j

  • 每次用k-1个子集的并集作为训练集,余下的子集作为测试集

  • 可进行k次训练和测试,最终返回k个测试结果的均值

  • 交叉验证法评估结果的稳定性很大程度上取决于k的取值,k最常用的取值是10,此时称为10折交叉验证,其他常用5,20;
    在这里插入图片描述

  • 把数据集D划分为k个子集存在许多划分方式,为减小因样本划分不同而引入的差别,k折交叉验证通常要使用随机不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,如“10次10折交叉验证”。

  • 特例:留一法,当k=m时,划分的k个子集的每个子集中只有一个样本,其中被实际评估的模型与期望评估的用D训练出的模型相似,评估结果准确,但对计算机开销是巨大的。

2.2.3 自助法

给定包含m个样本的数据集D,每次随机从D 中挑选一个样本,将其拷贝放入D',然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到。
重复执行m 次,就可以得到了包含m个样本的数据集D'。可以得知在m次采样中,样本始终不被采到的概率取极限为:在这里插入图片描述

  • 自助法在数据集较小,难以有效划分训练/测试集时很有用,相比于留出法和交叉验证法,可以减少训练样本规模不同造成的影响

  • 然而自助法产生的数据集(随机抽样)改变了初始数据集的分布,这会引入估计偏差。

  • 因此在初始数据量足够时,留出法和交叉验证法更常用。

2.2.4 调参和最终模型

给定包含m个样本的数据集D ,在模型评估与选择过程中由于需要留出 一部分数据进行评估测试,事实上我们只使用了一部分数据训练模型.因此,在模型选择完成后,学习算法和参数配置己选定,此时应该用数据集D 重新训练模型(即让最初划分出来用于评估的测试集也被模型学习,增强模型的学习效果)。
这个模型在训练过程中使用了所有m个样本,这才是我们最终提交给用 户的模型.

2.3 性能度量

①性能度量(performance measure):衡量模型泛化能力的评价标准,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果。
②均方误差(mean squared error):回归任务中最常用的性能度量
均方误差

2.3.1 错误率和精度

错误率:分类错误的样本数占样本总数的比例在这里插入图片描述
精度:分类正确的样本数占样本总数的比例
在这里插入图片描述

2.3.2 查准率/查全率/F1

错误率和精度虽常用,但不能满足所有的需求

对于二分类问题,分类结果混淆矩阵与查准/查全率定义如下:在这里插入图片描述
在这里插入图片描述

  • 查准率与查全率是一对矛盾的度量。一般来说,查准率越高时,查全率往往偏低;而查全率高时,查准率往往偏低。
  • “P-R曲线”是描述查准/查全率变化的曲线

  • P-R曲线定义如下:根据学习器的预测结果(一般为一个实值或概率)对测试样本进行排序,将”最可能”是正例的样本排在前面,”最不可能”是正例的排在后面,按此顺序逐个把样本作为正例进行预测,每次计算出当前的P值和R值,如下图所示:在这里插入图片描述
    若一个学习器C的P-R曲线被另一个学习器A的P-R曲线完全包住,可称学习器A的性能优于学习器C。
    若两个学习器的P-R曲线发生交叉,则比较它们的面积,面积大的性能优。但一般来说,面积很难估算,因此衍生了“平衡点”(Break-Event Point,简称BEP),即当P=R时的取值,平衡点的取值越高,性能越优。
    P和R指标有时会出现矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,又称F-Score。F-Measure是P和R的加权调和平均,即:
    在这里插入图片描述
    特别地,当β=1时,也就是常见的F1度量,是P和R的调和平均,当F1较高时,模型的性能越好。
    在这里插入图片描述在这里插入图片描述

有时候我们会有多个二分类混淆矩阵,例如:多次训练或者在多个数据集上训练,那么估算全局性能的方法有两种,分为宏观和微观。简单理解,宏观就是先算出每个混淆矩阵的P值和R值,然后取得平均P值macro-P和平均R值macro-R,再算出Fβ或F1,而微观则是计算出混淆矩阵的平均TP、FP、TN、FN,接着进行计算P、R,进而求出Fβ或F1。

2.3.3 ROC与AUC

2.3.4 代价敏感错误率与代价曲线

举报

相关推荐

0 条评论