同步于Buracag的博客;音尘杂记
微积分1,主要回顾关于微积分中关于导数的相关知识。错误之处,还望诸君不吝指教。
1. 导数基础
导数(Derivative) 是微积分学中重要的基础概念。
对于定义域和值域都是实数域的函数
f
:
R
→
R
f : \mathbb{R} \to \mathbb{R}
f:R→R,若
f
(
x
)
f(x)
f(x)在点
x
0
x_0
x0的某个邻域
△
x
\triangle x
△x内,极限定义如下
(1.1)
f
′
(
x
0
)
=
lim
△
x
→
0
f
(
x
0
+
△
x
)
−
f
(
x
0
)
△
x
f'(x_0) = \lim_{\triangle x \to 0} \frac{f(x_0 + \triangle x) − f(x_0)}{\triangle x} \tag{1.1}
f′(x0)=△x→0lim△xf(x0+△x)−f(x0)(1.1)
若极限存在,则称函数
f
(
x
)
f(x)
f(x)在点
x
0
x_0
x0处可导,
f
′
(
x
0
)
f′(x_0)
f′(x0)称为其导数,或导函数,也可以记为
d
f
(
x
0
)
d
x
\frac{df(x_0)}{dx}
dxdf(x0)。在几何上,导数可以看做函数曲线上的切线斜率。
给定一个连续函数,计算其导数的过程称为微分(Differentiation)。微分的逆过程为积分(Integration)。函数
f
(
x
)
f(x)
f(x)的积分可以写为
(1.2)
F
(
x
)
=
∫
f
(
x
)
d
x
F(x) = \int f(x)dx \tag{1.2}
F(x)=∫f(x)dx(1.2)
其中
F
(
x
)
F(x)
F(x)称为
f
(
x
)
f(x)
f(x)的原函数。
若函数 f ( x ) f(x) f(x)在其定义域包含的某区间内每一个点都可导,那么也可以说函数 f ( x ) f(x) f(x)在这个区间内可导。如果一个函数 f ( x ) f(x) f(x)在定义域中的所有点都存在导数,则 f ( x ) f(x) f(x)为可微函数(Differentiable Function)。可微函数一定连续,但连续函数不一定可微。例如函数 ∣ x ∣ |x| ∣x∣为连续函数,但在点x = 0处不可导。下表是几个常见函数的导数:
函数 | 函数形式 | 导数 |
---|---|---|
常数函数 | f ( x ) = C f(x) = C f(x)=C,其中C为常数 | f ′ ( x ) = 0 f'(x) = 0 f′(x)=0 |
幂函数 | f ( x ) = x r f(x) = x^r f(x)=xr, 其中r是非零实数 | f ′ ( x ) = r x r − 1 f'(x) = rx^{r-1} f′(x)=rxr−1 |
指数函数 | f ( x ) = e x p ( x ) f(x) = exp(x) f(x)=exp(x) | f ′ ( x ) = e x p ( x ) f'(x) = exp(x) f′(x)=exp(x) |
对数函数 | f ( x ) = l o g a x f(x) = log_ax f(x)=logax | f ′ ( x ) = 1 x l n a f'(x) = \frac{1}{xlna} f′(x)=xlna1 |
高阶导数 对一个函数的导数继续求导,可以得到高阶导数。函数 f ( x ) f(x) f(x)的导数 f ′ ( x ) f′(x) f′(x)称为一阶导数, f ′ ( x ) f′(x) f′(x)的导数称为二阶导数,记为 f ′ ′ ( x ) f′′(x) f′′(x)或 d 2 f ( x ) d x 2 \frac{d^2f(x)}{dx^2} dx2d2f(x)。
偏导数 对于一个多元变量函数 f : R d → R f : \mathbb{R}^d \to \mathbb{R} f:Rd→R,它的偏导数(Partial Derivative )是关于其中一个变量 x i x_i xi的导数,而保持其他变量固定,可以记为 f x i ′ ( x ) , ▽ x i f ( x ) , ∂ f ( x ) ∂ x i 或 ∂ ∂ x i f ( x ) f'_{x_i} (x),\bigtriangledown_{x_i}f(x),\frac{∂f(x)}{∂x_i}或\frac{∂}{∂x_i}f(x) fxi′(x),▽xif(x),∂xi∂f(x)或∂xi∂f(x)。
2. 矩阵微积分
为了书写简便,我们通常把单个函数对多个变量 或者 多元函数对单个变量的偏导数写成向量和矩阵的形式,使其可以被当成一个整体被处理。**矩阵微积分(Matrix Calculus)**是多元微积分的一种表达方式,即使用矩阵和向量来表示因变量每个成分关于自变量每个成分的偏导数。
矩阵微积分的表示通常有两种符号约定:分子布局(Numerator Layout)和分母布局(Denominator Layout)。两者的区别是一个标量关于一个向量的导数是写成列向量还是行向量。
2.1 标量关于向量的偏导数
对于一个 d d d维向量 x ∈ R p x \in \mathbb{R}^p x∈Rp,函数 y = f ( x ) = f ( x 1 , . . . , x p ) ∈ R y = f(x) = f(x_1, ... , x_p) \in \mathbb{R} y=f(x)=f(x1,...,xp)∈R,则 y y y关于 x x x的偏导数为
分母布局 :
(1.3)
∂
y
∂
x
=
[
∂
y
∂
x
1
,
.
.
.
,
∂
y
∂
x
p
]
T
∈
R
p
×
1
\frac{\partial y}{\partial x} = [\frac{\partial y}{\partial x_1}, ..., \frac{\partial y}{\partial x_p}]^T \qquad \in \mathbb{R}^{p \times 1} \tag{1.3}
∂x∂y=[∂x1∂y,...,∂xp∂y]T∈Rp×1(1.3)
分子布局:
(1.4)
∂
y
∂
x
=
[
∂
y
∂
x
1
,
.
.
.
,
∂
y
∂
x
p
]
∈
R
1
×
p
\frac{\partial y}{\partial x} = [\frac{\partial y}{\partial x_1}, ..., \frac{\partial y}{\partial x_p}] \qquad \in \mathbb{R}^{1 \times p} \tag{1.4}
∂x∂y=[∂x1∂y,...,∂xp∂y]∈R1×p(1.4)
在分母布局中,
∂
y
∂
x
\frac{∂y}{∂x}
∂x∂y为列向量,而在分子布局中,
∂
y
∂
x
\frac{∂y}{∂x}
∂x∂y为行向量。下文如无特殊说明,均采用分母布局。
2.2 向量关于标量的偏导数
对于一个标量 x ∈ R x \in \mathbb{R} x∈R,函数 y = f ( x ) ∈ R q , 则 y = f(x) \in \mathbb{R}^q,则 y=f(x)∈Rq,则y 关 于 关于 关于x$的偏导数为
分母布局:
(1.5)
∂
y
∂
x
=
[
∂
y
1
∂
x
,
.
.
.
,
∂
y
q
∂
x
]
∈
R
1
×
q
\frac{\partial y}{\partial x} = [\frac{\partial y_1}{\partial x}, ..., \frac{\partial y_q}{\partial x}] \qquad \in \mathbb{R}^{1 \times q} \tag{1.5}
∂x∂y=[∂x∂y1,...,∂x∂yq]∈R1×q(1.5)
分子布局:
(1.6)
∂
y
∂
x
=
[
∂
y
1
∂
x
,
.
.
.
,
∂
y
q
∂
x
]
T
∈
R
q
×
1
\frac{\partial y}{\partial x} = [\frac{\partial y_1}{\partial x}, ..., \frac{\partial y_q}{\partial x}]^T \qquad \in \mathbb{R}^{q \times 1} \tag{1.6}
∂x∂y=[∂x∂y1,...,∂x∂yq]T∈Rq×1(1.6)
在分母布局中, ∂ y ∂ x \frac{∂y}{∂x} ∂x∂y为行向量,而在分子布局中, ∂ y ∂ x \frac{∂y}{∂x} ∂x∂y为列向量。
2.3 向量关于向量的偏导数
对于一个
d
d
d维向量
x
∈
R
p
x \in \mathbb{R}^p
x∈Rp,函数
y
=
f
(
x
)
∈
R
q
y = f(x) \in \mathbb{R}^q
y=f(x)∈Rq 的值也为一个向量,则
f
(
x
)
f(x)
f(x)关于
x
x
x的偏导数(分母布局)为
(1.7)
∂
f
(
x
)
∂
x
=
[
∂
y
1
∂
x
1
.
.
.
∂
y
q
∂
x
1
⋮
⋮
⋮
∂
y
1
∂
x
p
.
.
.
∂
y
q
∂
x
p
]
∈
R
p
×
q
\frac{\partial f(x)}{\partial x} = \begin {bmatrix} &\frac{\partial y_1}{\partial x_1}& &...& &\frac{\partial y_q}{\partial x_1}& \\ &\vdots& &\vdots& &\vdots& \\ &\frac{\partial y_1}{\partial x_p}& &...& &\frac{\partial y_q}{\partial x_p}& \\ \end {bmatrix} \in \mathbb{R}^{p \times q} \tag{1.7}
∂x∂f(x)=⎣⎢⎢⎡∂x1∂y1⋮∂xp∂y1...⋮...∂x1∂yq⋮∂xp∂yq⎦⎥⎥⎤∈Rp×q(1.7)
称之为雅克比矩阵(Jacobian Matrix)。
3. 导数法则
复合函数的导数的计算可以通过以下法则来简化。
3.1 加(减)法则
若
x
∈
R
p
,
y
=
f
(
x
)
∈
R
q
,
z
=
g
(
x
)
∈
R
q
x \in \mathbb{R}^p,y = f(x) \in \mathbb{R}^q,z = g(x) \in \mathbb{R}^q
x∈Rp,y=f(x)∈Rq,z=g(x)∈Rq,则
(1.10)
∂
(
y
+
z
)
∂
x
=
∂
y
∂
x
+
∂
z
∂
x
∈
R
p
×
q
\frac{\partial(y+z)}{\partial x} = \frac{\partial y}{\partial x} + \frac{\partial z}{\partial x} \in \mathbb{R}^{p×q} \tag{1.10}
∂x∂(y+z)=∂x∂y+∂x∂z∈Rp×q(1.10)
3.2 乘法法则
(1) 若
x
∈
R
p
,
y
=
f
(
x
)
∈
R
q
,
z
=
g
(
x
)
∈
R
q
x \in \mathbb{R}^p,y = f(x) \in \mathbb{R}^q,z = g(x) \in \mathbb{R}^q
x∈Rp,y=f(x)∈Rq,z=g(x)∈Rq,则
(1.11)
∂
y
T
z
∂
x
=
∂
y
∂
x
z
+
∂
z
∂
x
y
∈
R
p
\frac{∂y^Tz}{∂x} = \frac{∂y}{∂x}z + \frac{∂z}{∂x}y \in \mathbb{R}^p \tag{1.11}
∂x∂yTz=∂x∂yz+∂x∂zy∈Rp(1.11)
(2) 若
x
∈
R
p
,
y
=
f
(
x
)
∈
R
s
,
z
=
g
(
x
)
∈
R
t
,
A
∈
R
s
×
t
x \in \mathbb{R}^p,y = f(x) \in \mathbb{R}^s,z = g(x) \in \mathbb{R}^t,A \in \mathbb{R}^{s×t}
x∈Rp,y=f(x)∈Rs,z=g(x)∈Rt,A∈Rs×t 和
x
x
x 无关,则
(1.12)
∂
y
T
A
z
∂
x
=
∂
y
∂
x
A
z
+
∂
z
∂
x
A
T
y
∈
R
p
\frac{∂y^TAz}{∂x} = \frac{∂y}{∂x}Az + \frac{∂z}{∂x}A^Ty \in \mathbb{R}^p \tag{1.12}
∂x∂yTAz=∂x∂yAz+∂x∂zATy∈Rp(1.12)
(3) 若
x
∈
R
p
,
y
=
f
(
x
)
∈
R
,
z
=
g
(
x
)
∈
R
q
x \in \mathbb{R}^p,y = f(x) \in \mathbb{R},z = g(x) \in \mathbb{R}^q
x∈Rp,y=f(x)∈R,z=g(x)∈Rq,则
(1.13)
∂
y
z
∂
x
=
y
∂
z
∂
x
+
∂
y
∂
x
z
T
∈
R
p
×
q
\frac{∂yz}{∂x} = y\frac{∂z}{∂x} + \frac{∂y}{∂x}z^T \in \mathbb{R}^{p×q} \tag{1.13}
∂x∂yz=y∂x∂z+∂x∂yzT∈Rp×q(1.13)
3.3 链式法则
**链式法则(Chain Rule)**是在微积分中求复合函数导数的一种常用方法。
(1) 若
x
∈
R
,
u
=
u
(
x
)
∈
R
s
,
g
=
g
(
u
)
∈
R
t
x \in \mathbb{R},u = u(x) \in \mathbb{R}^s,g = g(u) \in \mathbb{R}^t
x∈R,u=u(x)∈Rs,g=g(u)∈Rt,则
(1.14)
∂
g
∂
x
=
∂
u
∂
x
∂
g
∂
u
∈
R
1
×
t
\frac{∂g}{∂x} = \frac{∂u}{∂x}\frac{∂g}{∂u} \in \mathbb{R}^{1×t} \tag{1.14}
∂x∂g=∂x∂u∂u∂g∈R1×t(1.14)
(2) 若
x
∈
R
p
,
y
=
g
(
x
)
∈
R
s
,
z
=
f
(
y
)
∈
R
t
x \in \mathbb{R}^p,y = g(x) \in \mathbb{R}^s,z = f(y) \in \mathbb{R}^t
x∈Rp,y=g(x)∈Rs,z=f(y)∈Rt,则
(1.15)
∂
z
∂
x
=
∂
y
∂
x
∂
z
∂
y
∈
R
p
×
t
\frac{∂z}{∂x} = \frac{∂y}{∂x}\frac{∂z}{∂y} \in \mathbb{R}^{p×t} \tag{1.15}
∂x∂z=∂x∂y∂y∂z∈Rp×t(1.15)
(3) 若
X
∈
R
p
×
q
X \in \mathbb{R}^{p×q}
X∈Rp×q为矩阵,
y
=
g
(
X
)
∈
R
s
,
z
=
f
(
y
)
∈
R
y = g(X) \in \mathbb{R}^s,z = f(y) \in \mathbb{R}
y=g(X)∈Rs,z=f(y)∈R,则
(1.16)
∂
z
∂
X
i
j
=
∂
y
∂
X
i
j
∂
z
∂
y
∈
R
\frac{∂z}{∂X_{ij}} = \frac{∂y}{∂X_{ij}}\frac{∂z}{∂y} \in \mathbb{R} \tag{1.16}
∂Xij∂z=∂Xij∂y∂y∂z∈R(1.16)
主要参考https://github.com/nndl/nndl.github.io