【吃瓜教程】机器学习读书笔记(1)

本文介绍了机器学习的基本概念,包括从数据中学习模型,以及监督学习和无监督学习的任务类型。讨论了训练误差、泛化误差和过拟合、欠拟合的概念,提出了模型评估的方法如留出法、交叉验证和自助法。此外,文章还涵盖了性能度量,如错误率、精度、查准率、查全率和F1分数,以及如何通过P-R曲线比较学习器的性能。
摘要由CSDN通过智能技术生成

chap1 绪论

1.1 什么是机器学习?

能从数据中学习出规律的一类算法,在计算机上从数据产生模型。(本书用"模型"泛指从数据中学得的结果

  • 一个更形式化的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验 E在T中任务上获得了性能改善,则我们就说关于 T和P,该程序对E进行了学习.

1.2 基本术语

假定我们收集了一批关于西瓜的数据 =意思是"取值为"

(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂:稍蜷;敲声=沉闷), (色泽=浅自;根蒂=硬挺;敲声=清脆)

  • 数据集。 data set:所有记录的集合

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

  • 单个的特点为特征(feature)或属性(attribute) 例如色泽或者敲声。属性的取值为属性值(attribute value)

  • 属性空间 (attribute space) /样本空间 (sample space)/输入空间:属性张成的空间,例如我们把"色泽" “根蒂” "敲声"作为三个坐标轴,则它们张成一个用于描述西瓜的三维空间

  • 特征向量(feature vector):对于一条记录,如果在坐标轴上表示,每个西瓜都可以用坐标轴中的一个点表示,一个点也是一个向量

  • 一个样本的特征数为:维数(dimensionality),该西瓜的例子维数为3[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uFMJCzy-1689948411963)(/Users/kai/Library/Application Support/typora-user-images/image-20230720223440123.png)]

  • 学习/训练:从数据学得模型的过程

  • 训练数据 training data 训练样本 training sample 训练集 training set(训练样本组成的集合)

如果希望学得一个能帮助我们判断没剖开的是不是“好瓜"的模型仅有前面的示例数据显然是不够的要建立这样的关于“预测”(prediction)的模型,我们需获得训练样本的“结果“信息,例如"((色泽=青绿;根蒂=蜡缩敲声=浊响),好瓜)

  • 好瓜称为“标记 label
  • 样例 example :拥有标记信息的示例
  • 标记空间/输出空间:(xi,yi) yi为实例xi的标记,Y为标记的集合,称为输出空间
  • 预测值为离散值的学习任务为:分类(classification)。 例如 好瓜/坏瓜
    • 只有两个类别的“二分类”(binary clasification)任务:正类positive class 和 反类/负类 negative class
    • 多个类别的“多分类”任务(multi-class classification)
  • 预测值为连续值的学习任务为:回归(regression)。例如西瓜成熟度 0.9、0.88

学得模型后

  • 使用其进行预测的过程称为"测试" (testing)

  • 测试样本:被预测的样本 例如在学得f 后,对测试例x, 可得到其预测标记y =f(x).

  • 聚类 clustering :将训练集中的西瓜分组,每组称为一个簇 cluster;这些自动生成的簇可能对应一些潜在的概念划分,例如 浅色瓜/深色瓜 本地瓜/外地瓜。这些概念我们事先不知道,学习过程中使用的训练样本通常不拥有标记信息

根据训练数据是否拥有标记信息,学习任务分为:

  • 监督学习 supervised learning : 分类和回归

  • 无监督学习 unsupervised learning : 聚类

  • 泛化 generalization :学得模型适用于样本的能力

1.3 假设空间

归纳induction:从特殊到一般的泛化过程

演绎deduction:从一般到特殊的特化过程(unsupervised learning)

归纳学习 inductive learning

  • 广义 :从样例中学习

  • 狭义: 从训练数据中学得概念 concept ,即概念学习

    • 布尔概念学习,0/1布尔值的目标概念的学习
编号色泽根蒂敲声好瓜
1青绿蜷缩浊响
2乌黑蜷缩浊响
3青绿硬挺清脆
4乌黑稍蜷沉闷

我们的学习目标为好瓜,由前三种因素确定,布尔表达式为 : 好瓜<->(色泽=?) ^ (根蒂=?) ^ (敲声=?)

任务:通过上表的训练集进行学习,确定好瓜

用空集表示概念不成立的假设

用通配符*表示可以取任何值

假设三种属性分别有3,2,2种可能取值,有36种假设空间,再加上一种极端情况,即不存在好瓜,则假设空间大小为4 * 3 * 3 + 1

有许多策略对这个假设空间进行搜索,例如自顶向下、自底向上

版本空间 version space:假设空间的最大子集,每个元素都不与假设空间冲突

1.4 归纳偏好

chap2 模型评估和选择

2.1 经验误差与过拟合

误差 error :学习器的实际预测输出与样本的真实输出之间的差异

  • 训练误差/经验误差:在训练集上的误差
  • 泛化误差generalization error:学习器在所有新样本上的误差
  • 测试误差:测试集上得到的误差

当学习器把训练集学得“太好”的时候,可能会将一些训练样本的自身特点当做了普遍特征;同时也有学习能力不足的情况,即训练集的基本特征都没有学习出来。

  • 学习能力过强,以至于把训练样本所包含的不太一般的特性都学到了,称为:过拟合(overfitting)。
  • 学习能太差,训练样本的一般性质尚未学好,称为:欠拟合(underfitting)。

对于NP问题或更复杂的问题,过拟合是无法彻底避免的

只要相信P!=NP,过拟合就无法避免

2.2 评估方法

通常我们采用测试集来测试学习器对新样本的判别能力,然后以测试误差作为泛化误差的近似。

同时保证测试集应尽可能与训练集互斥,例如,不能将练习题作为考试题。

我们对数据集D进行处理,从中产生训练集S与测试集T

训练集和测试集的划分方法

2.2.1 留出法

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

需要注意的是:

  • 训练/测试集的划分要尽可能保持数据分布的一致性,以避免由于分布的差异引入额外的偏差,常见的做法是采取分层抽样。
  • 同时,由于划分的随机性,单次的留出法结果往往不够稳定,一般要采用若干次随机划分,重复实验取平均值的做法。
  • 常见的划分:大约2/3-4/5的样本用作训练,剩下的用作测试

2.2.2 交叉验证法

步骤:

  1. 将数据集D划分为k个大小相同的互斥子集,满足D=D1∪D2∪…∪Dk,Di∩Dj=∅(i≠j),同样地尽可能保持数据分布的一致性,即采用分层抽样的方法获得这些子集。

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

  3. 这样就可以得到k组测试集,从而进行k次训练和测试,最终返回的是这k个测试结果的平均值

该方法的评估结果很大程度上取决于k的取值,通常也叫做 k折交叉验证 k-fold cross validation

k最常用的取值是10,此时为10 折交叉验证

与留出法类似,将数据集D划分为K个子集的过程具有随机性,因此K折交叉验证通常也要重复p次,称为p次k折交叉验证,常见的是10次10折交叉验证,即进行了100次训练/测试。特殊地,当划分的k个子集的每个子集中只有一个样本时,称为“留一法”,显然,留一法的评估结果比较准确,但对计算机的消耗也是巨大的。

2.2.3 自助法 bootstrapping

自助法的基本思想是:给定包含m个样本的数据集D,每次随机从D 中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D 中,使得该样本在下次采样时仍有可能被采到。重复执行m 次,就可以得到了包含m个样本的数据集D’。

可以得知在m次采样中,样本始终不被采到的概率取极限为:
lim ⁡ x → ∞ ( 1 − 1 / m ) m → 1 e ≈ 0.368 \lim_{x \to \infty}(1-1/m)^m \to \frac{1}{e} \approx 0.368 xlim(11/m)me10.368
即通过自助采样,D约有36.8%的样本未出现在D’中,于是我们将D’作为训练集 D\D’ 作为测试集。这样我们仍有1/3的数据不在训练集中,可以用作测试。这样的测试结果称为包外估计

  • 自助法在数据集较小,难以有效划分训练集/测试集时很有用,但由于自助法产生的数据集(随机抽样)改变了初始数据集的分布,因此引入了估计偏差。在初始数据集足够时,留出法和交叉验证法更加常用。

2.2.4 调参与最终模型

大多数学习算法都有些参数(parameter) 需要设定,参数配置不同,学得模型的性能往往有显著差别,这就是通常所说的"参数调节"或简称"调参" (parameter tuning)。

学习算法的很多参数是在实数范围内取值,因此,对每种参数取值都训练出模型来是不可行的。常用的做法是:对每个参数选定一个范围和步长λ,这样使得学习的过程变得可行。

  • 例如:假定算法有3 个参数,每个参数仅考虑5 个候选值,这样对每一组训练/测试集就有5^3= 125 个模型需考察

当选定好模型和调参完成后,我们需要使用初始的数据集D重新训练模型,即让最初划分出来用于评估的测试集也被模型学习,增强模型的学习效果。

另外需注意的是,我们通常把学得模型在实际使用中遇到的数据称为测试数据,为了加以区分,模型评估与选择中用千评估测试的数据集常称为“验证集”(validation set).

  • 例如,在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参.

2.3 性能度量 performance measure

衡量模型泛化能力的评价标准

什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。

对于D = {(X1 , Y1) , (X2,Y2), . . . , (Xm , Ym)} , 其中Yi是示例Xi 的真实标记,要评估学习机f的性能,许比较预测结果f(x)与真实标记y

在回归任务中,即预测连续值的问题,最常用的性能度量是“均方误差”(mean squared error)

请添加图片描述

2.3.1 错误率与精度

在分类任务中,即预测离散值的问题,最常用的是错误率和精度,错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例,易知:错误率+精度=1。

请添加图片描述
请添加图片描述

2.3.2 查准率percision、查全率recall与F1

错误率和精度不能满足所有的需求。例如:在推荐系统中,我们只关心推送给用户的内容用户是否感兴趣(即查准率),或者说所有用户感兴趣的内容我们推送出来了多少(即查全率)。因此,使用查准/查全率更适合描述这类问题。

对于二分类问题,分类结果混淆矩阵与查准/查全率定义如下:
TP+FP+TN+FN=样例总数
请添加图片描述

查准率和查全率是一对矛盾的度量。

  • 例如我们想让推送的内容尽可能用户全都感兴趣,那只能推送我们把握高的内容,这样就漏掉了一些用户感兴趣的内容,查全率就低了;如果想让用户感兴趣的内容都被推送,那只有将所有内容都推送上,这样查准率就很低了。
  • 通常只有在一些简单任务中才可能使查全率和查准率都很高。

P-R曲线

P-R图直观地显示出学习器在样本总体上的查全率、查准率

  • 在进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全“包住",则可断言后者的性能优于前者。例如图2.3中学习器A的性能优千学习器C;
  • 如果两个学习器的P-R曲线发生了交叉,例如图2.3中的A与B,则难以判断优劣,只能在具体条件下比较

请添加图片描述
若要判断优劣,合理的判据是比较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。
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaiii918

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值