高等数学之偏导数与梯度
接着上一篇《人工智能-高等数学之微积分篇》,来学下一篇偏导数与梯度下降,在一元函数中,导数就是函数的变化率。对于二元函数研究它的“变化率”,由于自变量多了一个,情况就要复杂的多。二元函数可以用
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)表示,如果把
f
(
x
,
y
)
f(x,y)
f(x,y)中的两个变量图像化,将得到空间的某个曲面,如果分析
f
(
x
,
y
)
f(x,y)
f(x,y)的变化速度,必然要用到导数,只不过这次是对含有两个变量的函数求导,但我们只对一个变量求导,只观察这一个变量的变化,所以叫做求偏导。
1. 偏导的定义
下面表示函数
f
(
x
,
y
)
f(x,y)
f(x,y)在
(
x
0
,
y
0
)
(x_0,y_0)
(x0,y0)处的偏导,对x的偏导:
∂
∂
x
f
(
x
0
,
y
0
)
\frac{∂}{∂x}f(x_0,y_0)
∂x∂f(x0,y0),对y的偏导:
∂
∂
y
f
(
x
0
,
y
0
)
\frac{∂}{∂y}f(x_0,y_0)
∂y∂f(x0,y0),也可以写成
f
x
(
x
0
,
y
0
)
,
f
y
(
x
0
,
y
0
)
f_x(x_0,y_0),f_y(x_0,y_0)
fx(x0,y0),fy(x0,y0),偏导数的公式:
∂
∂
x
f
(
x
0
,
y
0
)
=
lim
Δ
→
0
f
(
x
0
+
Δ
x
,
y
0
)
−
f
(
x
0
,
y
0
)
Δ
x
∂
∂
x
f
(
x
0
,
y
0
)
=
lim
Δ
→
0
f
(
x
0
,
y
0
+
Δ
y
)
−
f
(
x
0
,
y
0
)
Δ
y
\frac{∂}{∂x}f(x_0,y_0)=\lim_{\Delta \rightarrow0}\frac{f(x_0+\Delta x,y_0)-f(x_0,y_0)}{\Delta x} \\ \frac{∂}{∂x}f(x_0,y_0)=\lim_{\Delta \rightarrow0}\frac{f(x_0,y_0+\Delta y)-f(x_0,y_0)}{\Delta y}
∂x∂f(x0,y0)=Δ→0limΔxf(x0+Δx,y0)−f(x0,y0)∂x∂f(x0,y0)=Δ→0limΔyf(x0,y0+Δy)−f(x0,y0)
2. 偏导数的意义
设想一个曲面,
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)中,如果保持y不变,那么函数将依赖于x的变化,这将得到一个与
x
−
y
x-y
x−y平面平行的切面,切面与
f
(
x
,
y
)
f(x,y)
f(x,y)的交线就是曲线
f
(
x
,
y
0
)
f(x,y_0)
f(x,y0),偏导数
f
x
(
x
0
,
y
0
)
f_x(x_0,y_0)
fx(x0,y0)就是交线上一点在x轴方向切线的斜率,此时的切线和y轴没什么关系。
具体如图所示,偏导数的几何意义:
- 偏导数 f x ( x 0 , y 0 ) f_x(x_0,y_0) fx(x0,y0)就是曲面被平面 y = y 0 y=y_0 y=y0所截得的曲面在点 M 0 M_0 M0处的切线 M 0 T x M_0T_x M0Tx对x轴的斜率。
- 偏导数
f
y
(
x
0
,
y
0
)
f_y(x_0,y_0)
fy(x0,y0)就是曲面被平面
x
=
x
0
x=x_0
x=x0所截得的曲面在点
M
0
M_0
M0处的切线
M
0
T
y
M_0T_y
M0Ty对y轴的斜率。
3. 偏导的计算
对某一个变量求偏导的含义是固定其他变量,仅试探这个变量的扰动对函数的影响,所以对某个变量计算偏导,所以只需要把其他的变量全部看作常量,其余的计算和导数完全一致。
计算
f
(
x
,
y
)
=
x
3
y
+
y
2
f(x,y)=x^3y+y^2
f(x,y)=x3y+y2的偏导,先对x计算偏导,这相当于把y看做是常量,
求f对x的偏导
∂
f
∂
x
=
d
d
x
(
x
3
y
)
+
d
d
x
y
2
=
3
x
2
y
+
0
=
3
x
2
y
\frac{∂f}{∂x}=\frac{d}{dx}(x^3y)+\frac{d}{dx}y^2=3x^2y+0=3x^2y
∂x∂f=dxd(x3y)+dxdy2=3x2y+0=3x2y
求f对y的偏导
∂
f
y
=
d
d
y
(
x
3
y
)
+
d
d
y
y
2
=
x
3
+
2
y
\frac{∂f}{y}=\frac{d}{dy}(x^3y)+\frac{d}{dy}y^2=x^3+2y
y∂f=dyd(x3y)+dydy2=x3+2y
4. 二阶偏导和混合偏导
二阶偏导就是求偏导的偏导,过程和求偏导类似,将令一个变量看作常量后对另一个变量反复求导。
f
x
=
∂
f
∂
x
=
3
x
2
y
,
f
x
x
=
∂
2
f
∂
x
2
=
∂
(
3
x
2
y
)
∂
x
=
6
x
y
f_x=\frac{∂f}{∂x}=3x^2y,f_{xx}=\frac{∂^2f}{∂x^2}=\frac{∂(3x^2y)}{∂x}=6xy
fx=∂x∂f=3x2y,fxx=∂x2∂2f=∂x∂(3x2y)=6xy
对x的偏导表示函数在x轴方向切线斜率的变化率,也就是斜率变化的快慢,这也和单变量函数的二阶函数的二阶导数类似。
混合偏导,混合编导就是对一个变量求偏导后再对另一个变量求偏导:
f
x
y
=
∂
2
f
∂
x
∂
y
=
∂
f
x
∂
y
=
∂
3
x
2
y
∂
y
=
3
x
2
f_{xy}=\frac{∂^2f}{∂x∂y}=\frac{∂f_x}{∂y}=\frac{∂3x^2y}{∂y}=3x^2
fxy=∂x∂y∂2f=∂y∂fx=∂y∂3x2y=3x2
5. 梯度与方向导数
5.1 梯度
梯度也叫斜度,是一个曲面沿着给定方向的倾斜程度。梯度是一个向量,一个函数在某点的梯度,表示该函数在该点处沿着梯度方向变化最快,变化率最大,即函数在这一点处沿着梯度方向的导数能够取得最大值。
数学定义是这样:设二元函数
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)在平面区域D上具有一阶连续偏导数,则对于每一个点
P
(
x
,
y
)
P(x,y)
P(x,y)都可以定出一个向量
{
∂
f
∂
x
,
∂
f
∂
y
}
=
f
x
(
x
,
y
)
i
⃗
+
f
y
(
x
,
y
)
j
⃗
\{\frac{∂f}{∂x},\frac{∂f}{∂y}\}=f_x(x,y)\vec{i}+f_y(x,y)\vec{j}
{∂x∂f,∂y∂f}=fx(x,y)i+fy(x,y)j
该函数
z
=
f
(
x
,
y
)
z=f(x,y)
z=f(x,y)在点
P
(
x
,
y
)
P(x,y)
P(x,y)的梯度,记作
g
r
a
d
f
(
x
,
y
)
grad f(x,y)
gradf(x,y)或
∇
f
(
x
,
y
)
\nabla f(x,y)
∇f(x,y),即有:
g
r
a
d
f
(
x
,
y
)
=
∇
f
(
x
,
y
)
=
{
∂
f
∂
x
,
∂
f
∂
y
}
=
∂
f
∂
x
=
f
x
(
x
,
y
)
i
⃗
+
f
y
(
x
,
y
)
j
⃗
grad f(x,y)=\nabla f(x,y)=\{\frac{∂f}{∂x},\frac{∂f}{∂y}\}=\frac{∂f}{∂x}=f_x(x,y)\vec{i}+f_y(x,y)\vec{j}
gradf(x,y)=∇f(x,y)={∂x∂f,∂y∂f}=∂x∂f=fx(x,y)i+fy(x,y)j
其中
∇
=
∂
f
∂
x
i
⃗
+
∂
f
∂
x
j
⃗
\nabla=\frac{∂f}{∂x}\vec{i}+\frac{∂f}{∂x}\vec{j}
∇=∂x∂fi+∂x∂fj称为(二维的)向量微分算子或Nabla算子。
类似还可以推广到三元函数
u
=
f
(
x
,
y
,
z
)
u=f(x,y,z)
u=f(x,y,z)在空间区域G内具有一阶连续偏导数,点
P
(
x
,
y
,
z
)
∈
G
P(x,y,z)\in G
P(x,y,z)∈G,称为向量
{
∂
f
∂
x
,
∂
f
∂
x
,
∂
f
∂
z
}
=
∂
f
∂
x
i
⃗
+
∂
f
∂
y
j
⃗
+
∂
f
∂
z
k
⃗
\{\frac{∂f}{∂x},\frac{∂f}{∂x},\frac{∂f}{∂z}\}=\frac{∂f}{∂x}\vec{i}+\frac{∂f}{∂y}\vec{j}+\frac{∂f}{∂z}\vec{k}
{∂x∂f,∂x∂f,∂z∂f}=∂x∂fi+∂y∂fj+∂z∂fk
为函数
u
=
f
(
x
,
y
,
z
)
u=f(x,y,z)
u=f(x,y,z)在点P的梯度,记为
g
r
a
d
f
(
x
,
y
,
z
)
或
∇
f
(
x
,
y
,
z
)
grad f(x,y,z)或\nabla f(x,y,z)
gradf(x,y,z)或∇f(x,y,z)
5.2 方向导数
偏导数只能表示多元函数沿某个坐标轴方向的导数,除开沿坐标轴方向上的导数,多元函数在非坐标轴方向上也可以求导数,这种导数称为方向导数。很容易发现,多元函数在特定点的方向导数有无穷多个,表示函数值在各个方向上的增长速度。那么问题来了,哪个方向上的增长速度最大呢?由此引出了上一节中梯度的概念,梯度:是一个矢量,其方向上的方向导数最大,其大小正好是此最大方向导数。这个最大值的方向我们就取名为梯度方向。
由此我们简单的总结一下:
- 方向导数是各个方向上的导数
- 偏导数连续才有梯度存在
- 梯度的方向是方向导数中取到最大值的方向,梯度的值是方向导数的最大值