机器学习基础

Ryan Lu Lv4

机器学习基础

前言

本文涵盖机器学习的基础知识,分为两大部分:第一部分基于周志华《机器学习》西瓜书的前两章,介绍基本术语、假设空间、归纳偏好和模型评估方法;第二部分从数学角度深入讲解模型定义、损失函数、优化算法等核心理论。

Chapter 1 绪论

section 1 基本术语

数据集: 记录的集合

示例, 样本: 数据集中的每一条记录

记录:属性, 特征 = 属性值

属性空间, 样本空间, 输入空间: 所有属性张成的空间

一般地,令表示包含个示例的数据集,每个示例由个属性描述,则每个示例维样本空间中的一个向量,,其中在第个属性上的取值,称为样本维数

学习, 训练: 从数据中学得模型的过程

训练数据: 训练过程中使用的数据

训练样本: 训练数据中的每一个样本

假设: 学得的模型对应数据的潜在规律

真相, 真实: 潜在规律自身

样例: 拥有标记信息的示例

section 2 假设空间

keyword:归纳学习,概念学习,版本空间

section 3 归纳偏好

归纳偏好:理解是对训练数据中的属性进行一个加权,将对于结果影响程度更大的属性优先考虑。

如何确定偏好呢?奥卡姆剃刀 (Occam’s razor) 是一种常用的、自然科学研究中最基本的原则,如果有多个假设与观察一直,就选择最简单的那个,并且假设我们认为的更平滑,也就是相似属性的样本标签相近,意味着更简单。

但是,无论学习算法 A 多聪明,学习算法 B 有多笨拙,他们的期望性能是相同的,这就是没有免费的午餐定理。(前提是所有问题重要性相同)

脱离具体问题,空泛谈论什么学习算法更好,毫无意义若考虑所有潜在问题,则所有学习算法都一样好,要谈论算法的相对优劣,必须要针对具体 的学习问题,学习算法自身的归纳偏好与问题是否匹配,往往会起到决定性的作用。

深度学习缺乏严格的理论基础,但是显著降低了机器学习应用者的门槛,为机器学习计数走向工程实践带来了便利。

Chapter 2 模型评估与选择

section 1 经验误差与过拟合

通常,将分类错误的样本数占总样本数量的比例称为”错误率“。如果在个样本中有个样本分类错误,则错误率为

相应的,将称为精度。

一般的,将学习得到的预测输出与真实输出之间的差异称为”误差“。学习器在训练集上的误差称为”训练误差“或”经验误差“,在新样本上的误差称为”泛化误差“。

我们希望训练的时候,学习器能将样本中的一般规律给提取出来,但是,如果学习器将训练样本过度学习,将一些样本的”自身“特点当作普遍规律的时候,就会出现过拟合的现象,反之,如果对于训练样本的学习不充分,导致得到的普遍规律不明晰,没有学习到一般规律,就会导致欠拟合

一般而言,欠拟合比较容易客服,例如在决策树学习中扩展分支、在神经网络学习中增加训练轮数。而过拟合的处理就很麻烦,过拟合是无法彻底避免的,我们所能做的只是”缓解“,或者说减小其风险。机器学习面临的问题通常是 NP 难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,如果可以彻底避免过拟合,则通过经验误差最小化就能获得最优解,意味着我们构造性地证明了”“,所以显然是不成立的,过拟合也就不可避免了。

section 2 评估方法

理想的解决方案当然是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。但是我们无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不适合作为标准。

需要使用一个测试集来测试学习器对新样本的判别能力,然后以测试集上的测试误差作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样获得的。但是,需要注意的是,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现。

所以,需要将一个包含个样例的数据集,适当处理,从中产生出训练集和测试集

几种常见的作法是:

  • 留出法

直接将数据集划分为两个互斥的集合,其中一个集合作为训练集,另一个作为测试集,常见的做法是将大约 2/3~4/5 的样本用于训练,剩余样本用于测试。

  • 交叉验证法

先将数据集划分为个大小相似的互斥子集,即。每个子集尽可能保持数据分布一致性,即从中通过分层采样得到。然后每次用个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得组训练/测试集,从而可进行次训练和测试,最终返回的是个测试结果的均值,显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于的取值,为强调这一点,通常把交叉验证法称为k折交叉验证最常用的取值是 10,此时称为 10 折交叉验证;其他常用的值由 5,20 等。


基本概念

机器学习方法可以粗略地分为三个基本要素:模型、学习准则、优化算法

模型

  • 线性模型:

  • 非线性模型:

线

损失函数

0-1 损失函数

虽然 0-1 损失函数能够客观地评价模型的好坏,但其缺点是数学性质不是很好:不连续且导数为 0,难以优化.因此经常用连续可微的损失函数替代.

平方损失函数

交叉熵损失函数 一般用于分类问题,样本标签为离散类别,模型的输出为类别标签的条件概率分布,即

并满足

我们可以用一个 𝐶 维的 one-hot 向量 𝒚 来表示样本标签

交叉熵参标签的真实分布 𝒚 和模型预测分布 𝑓(𝒙; 𝜃) 之间的交叉熵为

Hinge 损失函数

二分类问题

𝑦 的取值为

其中

风险最小化准则

实际上无法计算其期望风险 ℛ(𝜃),我们可以计算的是经验风险(Empirical Risk),即在训练集上的平均损失:

因此,一个切实可行的学习准则是找到一组参数使得经验风险最小,即

这就是经验风险最小化(Empirical Risk Minimization,ERM)准则.

结构风险最小化

为了解决过拟合问题,一般在经验风险最小化的基础上再引入参数的正则化(Regularization)来限制模型能力

其中范数的正则化项,用来减少参数空间,避免过拟合;用来控制正则化的强度

优化算法

参数与超参数

参数:模型中的成为模型的参数,可以通过优化算法学习

超参数:用来定义模型结构或优化策略的

常见的超参数包括:聚类算法中的类别个数、梯度下降法中的步长、正则化项的系数、神经网络的层数、支持向量机中的核函数等.超参数的选取一般都是组合优化问题,很难通过优化算法来自动学习.

因此,超参数优化是机器学习的一个经验性很强的技术,通常是按照人的经验设定,或者通过搜索的方法对一组 超参数组合进行不断试错调整.

梯度下降法

以构造一个凸函数作为优化目标,利用凸优化中一些高效、成熟的优化方法

提前停止

除了训练集和测试集之外,有时也会使用一个验证集来进行模型选择

在每次迭代时,把新得到的模型在验证集上进行测试,并计算错误率

如果在验证集上的错误率不再下降,就停止迭代

随机梯度下降法

在每次迭代时只采集一个样本,计算这个样本损失函数的梯度并更新参数

当经过足够次数的迭代时,随机梯度下降也可以收敛到局部最优解

小批量梯度下降法

第 𝑡 次迭代时,随机选取一个包含 𝐾 个样本的子集 𝒮𝑡,计算这个子集上每个样本损失函数的梯度并进行平均,然后再进行参数更新:

在实际应用中,小批量随机梯度下降法有收敛快、计算开销小的优点,因此逐渐成为大规模的机器学习中的主要优化算法 [Bottou, 2010].

最大似然估计(MLE)与深度学习应用

  1. 直觉理解

    最大似然估计(Maximum Likelihood Estimation, MLE)的核心思想是:找到一组参数,使得数据在这个模型下出现的概率最大

你可以把它想象成一个“最合适的解释”:

  • 假设你是一个侦探,你看到了一些证据(数据)。
  • 你有多个假设(不同的参数值)。
  • 你的任务是找出最可能导致这些证据的那个假设(最大似然的参数)。

  1. 具体例子:抛硬币

    假设你有一枚硬币,但你不确定它是公平的(即正反面概率是否都是 0.5)。你想估计它正面朝上的概率

  1. 观察数据

你进行了 10 次实验,结果如下(1 表示正面,0 表示反面):

1, 0, 1, 1, 0, 1, 1, 0, 1, 0

在这个实验里,硬币正面朝上了 6 次,反面朝上了 4 次。

  1. 建立模型

我们假设每次投掷的结果服从伯努利分布

如果我们认为每次投掷是独立的(iid 假设),那么 10 次投掷的总概率(似然函数)就是:

  1. 求最大似然估计

我们要找一个,使得这个似然函数最大:

通常,我们会取对数方便计算(因为对数函数是单调的,不影响最大值):

求导,令导数为 0:

解出:

所以,最大似然估计给出的最佳参数是,意思是我们认为这枚硬币正面朝上的概率是 60%,这是基于观测数据得出的最合理解释。


  1. MLE 在深度学习中的作用 在神经网络和深度学习中,我们通常训练模型来估计的概率分布,其中:

-是输入(比如一张图片)。 -是标签(比如“猫”或“狗”)。 -是神经网络的参数(权重和偏置)。

训练的目标是找到最优的参数,使得训练数据的概率最大,这正是最大似然估计的思想。

  1. MLE 在分类问题中的应用 如果我们做一个手写数字识别(MNIST)任务,假设神经网络的输出是 10 个类别(数字 0 到 9),那么我们可以把每个类别的概率视为一个多项分布,对应的似然函数是:

取对数后,最大化似然函数等价于最小化交叉熵损失

这正是深度学习中常用的交叉熵损失函数(Cross-Entropy Loss)

  1. MLE 在回归问题中的应用 如果我们做房价预测,假设房价服从正态分布:

最大化似然函数等价于最小化均方误差(MSE)

这就是深度学习中最常见的回归损失函数


  1. 总结
  • 最大似然估计(MLE) 的目标是找到最合适的参数,使得数据在这个模型下的概率最大。
  • 简单例子:抛硬币,MLE 估计正面概率就是“正面次数 / 总次数”。
  • 在深度学习中
  • 分类问题(比如 MNIST):MLE 对应于交叉熵损失
  • 回归问题(比如房价预测):MLE 对应于均方误差(MSE)
  • Title: 机器学习基础
  • Author: Ryan Lu
  • Created at : 2024-07-25 16:03:40
  • Updated at : 2026-07-17 14:44:10
  • Link: http://ryan-hub.site/176701b8f508/
  • License: This work is licensed under CC BY-NC-SA 4.0.