多元微积分简明介绍

研究依赖于多个变量的函数通常是很有益的。

多元微积分通过将微积分中的概念(例如变化率的计算)扩展到多个变量,为我们提供了实现这一目标的工具。它在训练神经网络的过程中扮演着至关重要的角色,梯度被广泛用于更新模型参数。

在本教程中,您将发现多元微积分的温和入门。

完成本教程后,您将了解:

  • 多元函数依赖于多个输入变量来产生一个输出。
  • 多元函数的梯度是通过计算函数在不同方向上的导数来得到的。
  • 多元微积分在神经网络中被广泛用于更新模型参数。

让我们开始吧。 

 

多元微积分简明介绍
图片来源:Luca Bravo,保留部分权利。

 

教程概述

本教程分为三个部分;它们是:

  • 重新审视函数概念
  • 多元函数的导数
  • 多元微积分在机器学习中的应用

重新审视函数概念

我们已经熟悉了函数的概念,它是一个定义因变量和自变量之间关系的规则。我们已经看到函数通常表示为 y = f(x),其中输入(或自变量)x 和输出(或因变量)y 都是单个实数。

这种接受单个自变量并定义输入和输出之间一对一映射的函数,称为*单变量*函数。

例如,假设我们试图仅根据温度预测天气。在这种情况下,天气是我们试图预测的因变量,它是作为输入变量的温度的函数。因此,这样的问题可以很容易地转化为一个单变量函数。

然而,假设我们现在除了温度之外,还想根据湿度水平和风速来预测天气。我们不能通过单变量函数来实现,因为其输出仅依赖于单个输入。

因此,我们将注意力转向*多元*函数,之所以这样称呼,是因为这些函数可以接受多个变量作为输入。

形式上,我们可以将多元函数表示为多个实数输入变量 n 到一个实数输出的映射

例如,考虑以下抛物面

f(x, y) = x2 + 2y2

这是一个多元函数,它接受两个变量 xy 作为输入(因此 n = 2)来产生一个输出。我们可以通过绘制其在 xy 介于 -1 和 1 之间的值来可视化它。

抛物面的三维图

 

类似地,我们可以有接受更多变量作为输入的多元函数。然而,由于涉及的维度数量,可视化它们可能很困难。

我们甚至可以进一步推广函数的概念,考虑将多个输入 n 映射到多个输出 m 的函数

这些函数通常被称为*向量值*函数。

多元函数的导数

回想一下,微积分研究的是变化率。对于某个单变量函数 g(x),这可以通过计算其导数来实现

将导数推广到多个变量的函数就是梯度。

——《机器学习数学》,第146页,2020年。

求多元函数梯度的方法是每次只改变一个变量,同时保持其他变量不变。通过这种方式,我们将每次对我们的多元函数求相对于每个变量的*偏导数*。

梯度就是这些偏导数的集合。

——《机器学习数学》,第146页,2020年。

为了更好地可视化此技术,我们首先考虑一个简单的单变量二次函数,形式为

g(x) = x2

单变量二次函数线图

 

在某个点 x 处求此函数的导数需要应用我们之前定义的 g’(x) 的方程。我们也可以通过使用幂法则来简化,从而得到

g’(x) = 2x

此外,如果我们想象将前面讨论的抛物面用一个穿过 y = 0 的平面切开,我们会发现 f(x, y) 产生的横截面是二次曲线 g(x) = x2。因此,我们可以通过对 f(x, y) 求导并保持 y 不变,来计算抛物面在 x 方向上的导数(或陡度,或*斜率*)。我们将其称为 f(x, y) 对 x 的*偏*导数,并用 表示,以表明除了 x 之外还有其他变量,但目前不予考虑。因此,f(x, y) 对 x 的偏导数为

我们也可以类似地保持 x 不变(或者换句话说,通过一个穿过常数 x 值的平面来切割抛物面以找到其横截面),从而找到 f(x, y) 对 y 的偏导数,如下所示

我们本质上所做的就是找到了 f(x, y) 在 xy 方向上各自的单变量导数。将这两个单变量导数结合作为最后一步,就得到了多元导数(或梯度)

同样的技术也适用于高维函数。

多元微积分在机器学习中的应用

偏导数在神经网络中被广泛用于更新模型参数(或权重)。

我们已经看到,在最小化某个误差函数时,优化算法将试图沿着其梯度下坡。如果这个误差函数是单变量的,因此是单个独立权重的函数,那么优化它将只需计算其单变量导数。

然而,一个神经网络包含许多权重(每个权重归属于不同的神经元),误差是这些权重的函数。因此,更新权重值需要计算误差曲线相对于所有这些权重的梯度。

这就是多元微积分发挥作用的地方。

误差曲线的梯度是通过求误差对每个权重的偏导数来计算的;换句话说,通过保持所有权重不变,只考虑当前权重,来求误差函数的导数。这使得每个权重都可以独立于其他权重进行更新,从而达到找到一组最优权重的目标。

进一步阅读

如果您想深入了解,本节提供了更多关于该主题的资源。

书籍

总结

在本教程中,您了解了多元微积分的温和入门。

具体来说,你学到了:

  • 多元函数依赖于多个输入变量来产生一个输出。
  • 多元函数的梯度是通过计算函数在不同方向上的导数来得到的。
  • 多元微积分在神经网络中被广泛用于更新模型参数。

你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。

掌握机器学习微积分!

Calculus For Machine Learning

通过微积分概念变得更聪明

...通过更好地理解微积分的符号和术语

在我的新电子书中探索如何实现
机器学习微积分

它提供**自学教程**,并附有关于以下内容的**完整工作代码**:
微分梯度拉格朗日乘子法雅可比矩阵等等...

将恰到好处的微积分知识带到
您的机器学习项目


查看内容

, ,

《多元微积分温和入门》的8条回复

  1. Jayaganthan R 2021年7月24日上午10:39 #

    尊敬的 Stefania 博士

    感谢您对多元微积分的出色讲解。解释得非常清楚,易于
    理解。
    致以最诚挚的问候
    Jayaganthan

    • Stefania Cristina
      Stefania Cristina 2021年7月24日下午5:58 #

      谢谢你,Jayaganthan。很高兴你觉得它有用。

  2. Meshack Owira Amimo 2021年7月25日上午4:26 #

    关于微积分如何帮助人们掌握机器学习和人工智能的精彩介绍。
    感谢您对许多人认为抽象的学科进行简单流畅的解释和叙述

    • Stefania Cristina
      Stefania Cristina 2021年7月26日上午1:12 #

      谢谢你的好意,Meshack。

  3. Ashwin Norbert 2021年7月26日下午9:38 #

    多元微积分的详细介绍和解释。非常感谢 Stefania。

    • Stefania Cristina
      Stefania Cristina 2021年7月27日上午6:08 #

      谢谢您的评论!

  4. Bruce 2021年8月1日下午6:02 #

    你好 Stefania,

    非常清楚,让我完全理解了梯度以及如何在机器学习中应用它。

    • Stefania Cristina
      Stefania Cristina 2021年8月4日上午2:08 #

      谢谢你,Bruce!

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。