返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、机器学习三要素

发布于 2023-07-17 23:38:26 字数 5442 浏览 0 评论 0 收藏 0

  1. 机器学习三要素:模型、策略、算法。

3.1 模型

  1. 模型定义了解空间。监督学习中,模型就是要学习的条件概率分布或者决策函数。

    模型的解空间包含了所有可能的条件概率分布或者决策函数,因此解空间中的模型有无穷多个。

    • 模型为一个条件概率分布:

      解空间为条件概率的集合: $ MathJax-Element-58 $ 。其中: $ MathJax-Element-59 $ 为随机变量, $ MathJax-Element-70 $ 为输入空间, $ MathJax-Element-71 $ 为输出空间。

      通常 $ MathJax-Element-72 $ 是由一个参数向量 $ MathJax-Element-125 $ 决定的概率分布族: $ MathJax-Element-64 $ 。其中: $ MathJax-Element-65 $ 只与 $ MathJax-Element-77 $ 有关,称 $ MathJax-Element-77 $ 为参数空间。

    • 模型为一个决策函数:

      解空间为决策函数的集合: $ MathJax-Element-68 $ 。其中: $ MathJax-Element-69 $ 为变量, $ MathJax-Element-70 $ 为输入空间, $ MathJax-Element-71 $ 为输出空间。

      通常 $ MathJax-Element-72 $ 是由一个参数向量 $ MathJax-Element-125 $ 决定的函数族: $ MathJax-Element-74 $ 。其中: $ MathJax-Element-75 $ 只与 $ MathJax-Element-77 $ 有关,称 $ MathJax-Element-77 $ 为参数空间。

  2. 解的表示一旦确定,解空间以及解空间的规模大小就确定了。

    如:一旦确定解的表示为: $ MathJax-Element-78 $ ,则解空间就是特征的所有可能的线性组合,其规模大小就是所有可能的线性组合的数量。

  3. 将学习过程看作一个在解空间中进行搜索的过程,搜索目标就是找到与训练集匹配的解。

3.2 策略

  1. 策略考虑的是按照什么样的准则学习,从而定义优化目标。

3.2.1 损失函数

  1. 对于给定的输入 $ MathJax-Element-79 $ ,由模型预测的输出值 $ MathJax-Element-80 $ 与真实的标记值 $ MathJax-Element-81 $ 可能不一致。此时,用损失函数度量错误的程度,记作 $ MathJax-Element-82 $ ,也称作代价函数。

  2. 常用损失函数:

    • 0-1 损失函数:

      $ L(\tilde y, \hat y)= \begin{cases} 1, & \text{if $\hat y \ne \tilde y$} \\ 0, & \text{if $\hat y = \tilde y$ } \end{cases} $
    • 平方损失函数MSE: $ MathJax-Element-83 $

    • 绝对损失函数MAE: $ MathJax-Element-84 $

    • 对数损失函数: $ MathJax-Element-85 $ 。

      • 其物理意义是:二分类问题的真实分布与模型分布之间的交叉熵。

      • 一个简单的解释:因为样本 $ MathJax-Element-86 $ 易经出现,所以理论上 $ MathJax-Element-87 $ 。

        如果它不为 1,则说明预测存在误差。越远离1,说明误差越大。

  3. 训练时采用的损失函数不一定是评估时的损失函数。但通常二者是一致的。

    因为目标是需要预测未知数据的性能足够好,而不是对已知的训练数据拟合最好。

3.2.2 风险函数

  1. 通常损失函数值越小,模型就越好。但是由于模型的输入、标记都是随机变量,遵从联合分布 $ MathJax-Element-88 $ , 因此定义风险函数为损失函数的期望:

    $ R_{exp}=\mathbb E_P\left[L(\tilde y, \hat y)\right]=\int_{\mathcal{X \times Y}}L(\tilde y, \hat y)p(\mathbf {\vec x},y)d\mathbf {\vec x}dy $

    其中 $ MathJax-Element-89 $ 分别为输入空间和输出空间。

  2. 学习的目标是选择风险函数最小的模型 。

  3. 求 $ MathJax-Element-90 $ 的过程中要用到 $ MathJax-Element-92 $ ,但是 $ MathJax-Element-92 $ 是未知的。

    实际上如果它已知,则可以轻而易举求得条件概率分布,也就不需要学习。

3.2.3 经验风险

  1. 经验风险也叫经验损失。

    给定训练集 $ MathJax-Element-93 $ ,模型关于 $ MathJax-Element-113 $ 的经验风险定义为:

    $ R_{emp}=\frac 1{N} \sum_{i=1}^{N}L(\tilde y_i,\hat y_i) $

    经验风险最小化 (empirical risk minimization:ERM) 策略认为:经验风险最小的模型就是最优的模型。即:

    $ \min_{ f\in \mathcal{F}} \frac{1}{N}\sum_{i=1}^{N} L(\tilde y_i,f(\mathbf {\vec x}_i)) $
  2. 经验风险是模型在 $ MathJax-Element-113 $ 上的平均损失。根据大数定律,当 $ MathJax-Element-96 $ 时 $ MathJax-Element-97 $ 。

    但是由于现实中训练集中样本数量有限,甚至很小,所以需要对经验风险进行矫正。

  3. 结构风险是在经验风险上叠加表示模型复杂度的正则化项(或者称之为罚项)。它是为了防止过拟合而提出的。

    给定训练集 $ MathJax-Element-105 $ ,模型关于 $ MathJax-Element-113 $ 的结构风险定义为:

    $ R_{srm}=\frac{1}{N} \sum_{i=1}^{N}L(\tilde y_i,\hat y_i)+\lambda J(f) $

    其中:

    • $ MathJax-Element-103 $ 为模型复杂度,是定义在解空间 $ MathJax-Element-101 $ 上的泛函。 $ MathJax-Element-102 $ 越复杂,则 $ MathJax-Element-103 $ 越大。
    • $ MathJax-Element-104 $ 为系数,用于权衡经验风险和模型复杂度。
  4. 结构风险最小化 (structurel risk minimization:SRM) 策略认为:结构风险最小的模型是最优的模型。即:

    $ \min_{f \in \mathcal F} \frac{1}{N} \sum_{i=1}^{N}L(\tilde y_i,f(\mathbf {\vec x}_i))+\lambda J(f) $
  5. 结构风险最小化策略符合奥卡姆剃刀原理:能够很好的解释已知数据,且十分简单才是最好的模型。

3.2.4 极大似然估计

  1. 极大似然估计就是经验风险最小化的例子。

  2. 已知训练集 $ MathJax-Element-105 $ ,则出现这种训练集的概率为: $ MathJax-Element-106 $ 。

    根据 $ MathJax-Element-113 $ 出现概率最大,有:

    $ \max \prod_{i=1}^{N}p(\tilde y_i\mid \mathbf {\vec x}_i)\rightarrow \max\sum_{i=1}^{N}\log p(\tilde y_i\mid \mathbf {\vec x}_i) \rightarrow \min \sum_{i=1}^{N}(-\log p(\tilde y_i\mid \mathbf {\vec x}_i)) $

    定义损失函数为: $ MathJax-Element-114 $ ,则有:

    $ \min \sum_{i=1}^{N}(-\log p(\tilde y_i\mid \mathbf {\vec x}_i))\rightarrow \min \sum_{i=1}^{N}L(\tilde y_i,\hat y_i) \rightarrow \min \frac{1}{N}\sum_{i=1}^{N}L(\tilde y_i,\hat y_i) $

    即:极大似然估计 = 经验风险最小化 。

3.2.5 最大后验估计

  1. 最大后验估计就是结构风险最小化的例子。

  2. 已知训练集 $ MathJax-Element-109 $ ,假设已知参数 $ MathJax-Element-110 $ 的先验分布为 $ MathJax-Element-111 $ ,则出现这种训练集的概率为: $ MathJax-Element-112 $ 。

    根据 $ MathJax-Element-113 $ 出现概率最大:

    $ \max \prod_{i=1}^{N}p(\tilde y_i\mid \mathbf {\vec x}_i)g(\theta)\rightarrow \max\sum_{i=1}^{N}\log p(\tilde y_i\mid \mathbf {\vec x}_i)+\log g(\theta)\\ \rightarrow \min \sum_{i=1}^{N}(-\log p(\tilde y_i\mid \mathbf {\vec x}_i))+\log \frac{1}{g(\theta)} $

    定义损失函数为: $ MathJax-Element-114 $ ;定义模型复杂度为 $ MathJax-Element-115 $ ;定义正则化系数为 $ MathJax-Element-116 $ 。则有:

    $ \min \sum_{i=1}^{N}(-\log p (\tilde y_i\mid \mathbf {\vec x}_i))+\log \frac{1}{g(\theta)}\rightarrow \min \sum_{i=1}^{N}L(\tilde y_i,\hat y_i)+J(f)\\ \rightarrow \min \frac{1}{N}\sum_{i=1}^{N}L(\tilde y_i,\hat y_i)+\lambda J(f) $

    即:最大后验估计 = 结构风险最小化。

3.3 算法

  1. 算法指学习模型的具体计算方法。通常采用数值计算的方法求解,如:梯度下降法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文