机器学习吃瓜教程(1)绪论及第二章笔记
绪论
1.1 基本概念
机器学习:从提供的经验数据上通过“学习算法”得到模型
常用术语:
- 数据集:示例(样本)、属性(特征)、属性值、属性空间(样本空间、输入空间)、示例也叫特征向量
- 数据集的属性个数称为
维数
, - 学习过程:训练数据、训练样本 组成 训练集、假设、真相(truth)、学习器、标记空间
- 学习任务分为 监督学习(分类(离散)、回归(连续值))和无监督学习(代表有聚类)。
- 分类包含 二分类,多分类。
- 二分类:
- 分类包含 二分类,多分类。
- 归纳和演绎是科学推理的两大基本手段:
- 归纳:从特殊到一般的泛化,从具体的事情归结出一般性规律,
- 演绎:从一般到特殊的特化过程,从基础原理推演出具体状况。
- 假设空间:
- 学习过程 看成在所有假设组成的空间里进行搜索的过程,搜索目标是找到与训练集“匹配”的假设。
1.4 归纳偏好
- 机器学习(Machine-Learning)算法在学习过程中对某种类型假设的偏好,称为归纳偏好,或简称为偏好。
- 任何一个有效的机器学习(Machine-Learning)算法必有其归纳偏好。
- 奥卡姆剃刀是一种常用的、自然科学研究中最基本的原则,即若有多个假设与观察一致,则选择最简单的那个。
- 在具体现实问题中,算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
1.5 发展历程
第二章 模型评估与过拟合
2.1 经验误差与过拟合
基本概念:
- 错误率: $E = $
- 精度: 精度=1 - 错误率。
- 误差:训练误差,泛化误差。
- 过拟合:在训练样本中表现良好,导致泛化能力下降,只能缓解,不能避免
- 欠拟合:未能学习到训练样本的
2.2 评估方法
测试集:使用测试集来测试学习器对新样本的判别能力,然后以测试集上的”测试误差“作为泛化误差的近似。通常假设测试样本也是从样本真实分布中独立同分布采样而得。但需注意,测试机应尽可能与训练集互斥。
留出法
直接将数据集分为两个互斥的集合,分别作为训练集和测试集。
需要注意两个问题:
- 训练/测试集划分尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,通常使用分层采样
- 一般要采用若干次随即划分,重复进行实验评估后取平均值作为留出法的评估结果。
常见做法是 大约2/3,4/5的数据作为训练集,其他作为测试集。
交叉验证法
先将数据集D划分为k个大小相似的互斥子集,即
D
=
D
1
∪
D
2
∪
⋯
∪
D
k
D
i
∩
D
j
=
∅
(
i
≠
j
)
D = D_1 \cup D_2 \cup \cdots \cup D_k D_i \cap D_j = \emptyset (i \neq j )
D=D1∪D2∪⋯∪DkDi∩Dj=∅(i=j)
每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后每次用k-1个自己的并集作为训练集,余下的子集作为测试集,这样就可获得k组训练/测试集,从而进行k次训练和测试,最终返回的k个测试结果的均值。
显然,交叉验证法评估结果的稳定性和保真性很大程序取决于k的取值,通常把交叉验证法称为”k折交叉验证“,k常用的取值是10、5、20等。
与留出法相似,将数据集D划分危k个子集同样存在多种划分方式,为减小因样本划分不同而引入的差别,k折交叉验证通常要随即使用不同的划分重复p次,最终的评估结果是p次k折交叉验证结果的均值。
假设数据集D包含m个样本,若令k = m,则得到交叉验证法的一个特例:留一法(Leave-One-Out),通常与实际评估的模型很相似,因此认为评估结果比较准确。
自助法
调参与最终模型
大多数学习算法都有参数需要设定,参数配置不同,学得模型的性能往往有显著差别。因此,在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的”参数调节“或简称”调参“(parameter tuning)。
通常把学得模型在实际使用中遇到的数据成为测试数据,在模型评估与选择中用于评估测试的数据称为验证集validation set。
2.3 性能度量
对学习器的泛化性能进行评估,不仅需要有效的评估方法,还要有衡量模型泛化能力的评价标准,这就是性能度量。performance measure。
评估学习器的性能,就需要将预测结果
f
(
x
)
f(\textit{x})
f(x)
与真实标记y做对比。
回归任务最常用的性能度量是均方误差。