深度学习:梯度下降法

一、梯度的概念

(1)什么是梯度

梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

对于一个多元函数 f(x1, x2, ..., xn),其梯度是一个由函数偏导数组成的向量,其梯度表示为:

Gradient  = (∂f/∂x1, ∂f/∂x2, ..., ∂f/∂xn)

其中,∂f/∂xi 表示函数 f 对第 i 个自变量 xi 的偏导数。梯度的方向表示函数在该点上的最大增加率,而梯度的反方向则表示函数在该点上的最大减少率。

深度学习:梯度下降法_第1张图片

示例-1:一元函数的梯度

函数: y = ( x -  1 ) ^2

梯度计算:通过求导得到梯度为 dy/dx = 2 * (x - 1)

示例-2:二元函数的梯度

例如 f(x, y) = x^2 + 2y。我们来计算这个函数的梯度。

首先,我们需要计算函数 f 对 x 和 y 的偏导数,这将分别给出函数在 x 和 y 方向上的变化率,也就是梯度的两个分量。

对 x 求偏导数:

∂f/∂x = 2x

对 y 求偏导数:

∂f/∂y = 2

因此,函数 f(x, y) = x^2 + 2y 的梯度为:

Gradient =  (∂f/∂x, ∂f/∂y) = (2x, 2)

当我们取 x=1,y=2 时,代入梯度向量中,得到梯度向量为 (2*1, 2) = (2, 2)。这个梯度向量表示在点 (1, 2) 处函数 f 的变化率最大,沿着梯度向量的方向变化率最快。

为什么在这个点上梯度向量表示变化率最大呢?这是因为梯度向量的方向指向函数在该点上的最大增长方向,而梯度向量的长度则表示增长的速率。在这个例子中,梯度向量的长度为 √(2^2 + 2^2) = √8,表示在点 (1, 2) 处函数 f 的增长速率为 √8。

在机器学习和优化算法中,梯度常用于求解目标函数的最优解。通过计算函数的梯度,可以找到函数在某个点上的最陡下降方向,从而引导参数的更新和优化过程。梯度下降算法就是利用梯度的负方向进行参数更新,以逐步接近函数的局部最优解。

示例-3:梯度向量的方向变化率

假设我们有一个简单的二元函数 f(x, y) = x^2 + y^2,我们来计算在某一个点上的梯度向量以及沿着梯度向量的方向变化率最快的情况。

步骤-1:

首先,计算函数 f 对 x 和 y 的偏导数,得到梯度向量:

∂f/∂x = 2x

∂f/∂y = 2y

所以,函数 f(x, y) = x^2 + y^2 的梯度向量为 (∂f/∂x, ∂f/∂y) = (2x, 2y)。

步骤-2:

假设我们取一个具体的点,例如 x=1,y=1,那么在这个点上的梯度向量为 (2*1, 2*1) = (2, 2)。

步骤-3:

你可能感兴趣的:(人工智能深度学习,深度学习,梯度下降法)