函数导数简介

2025年6月23日 | 阅读 4 分钟

在机器学习领域,“函数导数”一词指的是函数输出相对于其输入变量的变化率/敏感度。导数之所以重要,是因为它们提供了一种优化机器学习模型的方法,提供有关如何调整模型参数(在大多数情况下是权重和偏差)以最小化误差的信息。

机器学习中,导数的概念主要用于优化算法,特别是那些依赖梯度的算法,例如梯度下降,它通过学习减少损失函数来帮助模型优化建模参数。

导数是机器学习模型中许多主要过程的基础。它们通过提供关于输入特征或模型参数的微小变化如何最终改变最终结果行为的见解,使模型能够在数据的上下文中学习。

函数

函数描述了变量对之间的关系,其中函数使用一个变量来确定另一个变量的值。我们所说的函数是所有监督学习的基础——在监督学习中,目标是找到最能解释底层数据函数的最准确函数。对该函数的估计是机器学习的一个关键方面。在数学中,函数通常表示为

在这种情况下,y 取决于 x,这意味着 y 的值由 x 决定。第一种情况表示 x 的平方;第二种情况取 x 的正值,当 x 为负时返回 0。这种关系可以通过在 matplotlib 中生成的图表进行可视化表示。

示例 1

输出

Introduction to Function Derivative

示例 2

输出

Introduction to Function Derivative

导数

单个函数在指定点的导数表示该位置的函数斜率或变化率。它显示了函数输入的微小变化如何影响函数的输出。因此,导数是函数值相对于函数输入的微小变化的变化。对于某些函数来说,这个过程非常简单。具体来说,对于代数函数,导数通常通过将变量的幂次减一并乘以原始幂次来找到。

然而,三角函数的导数通常是不同的。周期曲线的导数通常是同一族中的另一条周期曲线。例如,sin(x) 的导数是 cos(x),因为 sin(x) 函数的斜率将与 cos(x) 函数有 90 度的相位差。指数函数是独一无二的,因为它们的导数等于函数本身。

这是因为指数函数随着变量幂次的增加而无限扩展。无论我们对指数函数求导多少次,我们总是会回到相同的形式。这种独特的特性是指数函数在科学和工程中如此受欢迎的原因。

示例 1

输出

Introduction to Function Derivative

找到最优 x:2.11

f(x) 的最小值:1.01

TensorFlow 提供了一个方便的函数 `tf.GradientTape` 来计算梯度。在像 Keras 这样的更高级别库中,此函数在神经网络的训练过程中会自动调用。

示例 2

输出

 
array([20.], dtype=float32)   

如果一个 x 的函数嵌套在另一个 x 的函数中,则应用微分的链式法则。

代码

输出

Introduction to Function Derivative