梯度下降法中为什么梯度的反方向是函数下降最快的方向?
梯度是个向量,函数沿梯度方向具有最大的变化率。是因为函数在这个方向具有最大的变化率,所以冠以梯度这一概念,所以要搞清楚的是,怎么在无数个方向导数中找到具有最大变化率的方向导数,即最大的方向导数,需要先写出方向导数的表达式,求这个表达式的最大值。
要解释这个问题,需要探究梯度这个概念的来源。
首先看一元函数,常规一元函数及其导数为:
y=f(x)f′(x)=limΔx→0ΔyΔx=limΔx→0f(x+Δx)−f(x)Δx
y=f(x)\\
f'(x)=\lim_{\Delta x\rightarrow0}\frac{\Delta y}{\Delta x}=\lim_{\Delta x\rightarrow0}\frac{f(x+\Delta x)-f(x)}{\Delta x}
y=f(x)f′(x)=Δx→0limΔxΔy=Δx→0limΔxf(x+Δx)−f(x)
导数代表了在自变量变化趋于无穷小的时候,函数值的变化与自变量变化的比值。在一元函数中,只有一个自变量变动,只存在一个方向的变化率。而多元函数中,至少涉及到两个自变量,导数的概念也延伸到了偏导数,从曲线来到了曲面。在曲线上,切线只有导数那一条,而曲面上切线有无数条。
如二元函数及其两个经典偏导数:
z=f(x,y)fx(x,y), fy(x,y)
z=f(x,y)\\
f_x(x,y),\,\ f_y(x,y)
z=f(x,y)fx(x,y), fy(x,y)
fx(x,y)指的是函数在y方向不变,函数值沿着x方向的变化率;fy(x,y)指的是函数在x方向不变,函数值沿着y方向的变化率。这两个偏导数指的是二元函数沿着坐标轴的变化率,但我们知道二元函数是一个曲面,很多时候要考虑沿着其他任意方向的变化率,这就引出了方向导数。

如图曲面可以用函数表示为z=f(x,y),我们可以使用x,y两个方向的偏微分来求出任何方向的斜率,即任意方向的方向导数,由“梯度“向量和单位向量可以得到方向导数。以下分别是单位向量和梯度向量:
w⃗=(cosθ,sinθ)u⃗=(fx,fy)Duf=fxcosθ+fysinθ=u⃗⋅w⃗=∣u∣⋅∣w∣⋅cosα=∣u∣⋅cosα
\vec w=(\cos\theta,\sin\theta)\\
\vec u=(f_x,f_y)\\
D_uf=f_x\cos\theta+f_y\sin\theta=\vec u \cdot \vec w=|u|\cdot|w|\cdot\cos\alpha=|u|\cdot\cos\alpha
w=(cosθ,sinθ)u=(fx,fy)Duf=fxcosθ+fysinθ=u⋅w=∣u∣⋅∣w∣⋅cosα=∣u∣⋅cosα
当梯度向量和单位向量的夹角α为0时,方向导数最大,即w这个一直在寻找函数变化最快的方向的向量固定为与梯度向量同向,而”梯度“向量就被称为梯度。
gradf(x0,x1,⋯ ,xn)=(∂f∂x0,⋯ ,∂f∂xj,⋯ ,∂f∂xn)
gradf(x_0,x_1,\cdots,x_n)=(\frac{\partial f}{\partial x_0},\cdots,\frac{\partial f}{\partial x_j},\cdots,\frac{\partial f}{\partial x_n})
gradf(x0,x1,⋯,xn)=(∂x0∂f,⋯,∂xj∂f,⋯,∂xn∂f)
本文详细探讨了梯度下降法中,为何梯度的反方向是函数下降最快的方向。通过深入理解一元和多元函数的导数、偏导数以及方向导数的概念,解释了梯度作为函数变化率最大方向的原因。同时,介绍了如何计算方向导数并确定最大值,从而找到最优化路径。

1234

被折叠的 条评论
为什么被折叠?



