转载自:博客
该博客已过期,为了方便以后查看,转载如下,侵删

看到一个简洁漂亮的推导,从可微性的概念出发引入了梯度和雅可比矩阵,简记如下。
微积分的基本理念是利用仿射函数对函数进行近似,仿射函数的定义如下:
如果存在线性函数 L : R n → R m L:R^n→R^m L:RnRm和向量 y ∈ R m y \in R^m yRm使得对于任意 x ∈ R n x∈R^n xRn都有 A ( x ) = L ( x ) + y ​ A(x)=L(x)+y​ A(x)=L(x)+y则称函数 A A A为一个仿射函数。(注:不难看出,仿射函数实质上是线性变换加上平移。)
如果给定了函数 f : R n → R m f:R^n→R^m f:RnRm和点 x 0 ∈ R n x_0∈R^n x0Rn,我们希望找到一个仿射函数 A A A,使其在点 x 0 x_0 x0附近能够近似函数 f f f,那么显然有 A ( x 0 ) = f ( x 0 ) A(x_0)=f(x_0) A(x0)=f(x0)
可得
y = f ( x 0 ) − L ( x 0 ) y=f(x_0)-L(x_0) y=f(x0)L(x0)
再利用线性函数的性质可得
A ( x ) = L ( x − x 0 ) + f ( x 0 ) A(x)=L(x-x_0)+f(x_0) A(x)=L(xx0)+f(x0)
接下来,相对于 x x x接近于 x 0 x_0 x0的速度,要求 A ( x ) A(x) A(x)接近 f ( x ) f(x) f(x)的速度更快,以保证 A A A在点 x 0 x_0 x0附近实现对fff的近似,即保证在某个给定点上的近似误差是相对于该点与 x 0 x_0 x0之间距离的一个“无穷小量”,以下给出导数的定义:
给定函数 f : Ω → R m , Ω ⊂ R n f:\Omega\rightarrow R^m,\Omega\subset R^n f:ΩRmΩRn,如果存在一个仿射函数能够在点 x 0 x_0 x0附近近似函数 f f f,那么就称函数 f f f在点 x 0 ∈ Ω x_0\in\Omega x0Ω处可微,即存在线性函数 L : R n → R m L:R^n\rightarrow R^m L:RnRm使得
lim ⁡ x → x 0 , x ∈ Ω ∥ f ( x ) − ( L ( x − x 0 ) + f ( x 0 ) ) ∥ ∥ x − x 0 ∥ = 0 \lim_{x\rightarrow x_0,x\in\Omega} \frac{\parallel f(x)-(L(x-x_0)+f(x_0))\parallel}{\parallel x-x_0\parallel } =0 xx0,xΩlimxx0f(x)(L(xx0)+f(x0))=0
L L L称为 f f f在点 x 0 x_0 x0的导数,如果函数 f f f在定义域 Ω \Omega Ω上处处可微,那么称 f f f Ω \Omega Ω上是可微的。
以前也提过,矩阵的本质是对变换的描述,那么如何确定可微函数 f f f的导数 L L L对应的矩阵 M M M呢?引入 R n R^n Rn空间的标准基 ∣ e 1 , e 2 , . . . , e n ∣ \left|e_1,e_2,...,e_n \right| e1,e2,...,en,考虑在某个方向上有微小变化的向量 x j = x 0 + t e j , j = 1 , . . . , n x_j=x_0+te_j, j=1,...,n xj=x0+tej,j=1,...,n,根据导数的定义有:
lim ⁡ t → 0 f ( x j ) − ( t M e j + f ( x 0 ) ) t = 0 \lim_{t\rightarrow 0} \frac{ f(x_j)-(tMe_j+f(x_0))}{t} =0 t0limtf(xj)(tMej+f(x0))=0
这意味着,对于 j = 1 , . . . , n j=1,...,n j=1,...,n,有:
lim ⁡ t → 0 f ( x j ) − f ( x 0 ) t = M e j \lim_{t\rightarrow 0} \frac{ f(x_j)-f(x_0)}{t} =Me_j t0limtf(xj)f(x0)=Mej
由矩阵乘法的性质可知, M e j Me_j Mej是矩阵 M M M的第 j j j列,向量 x j x_j xj x 0 x_0 x0仅在第 j j j个元素存在差异,上式的左边等于偏导数 ∂ f ∂ x j ( x 0 ) \frac{\partial f}{\partial x_j}(x_0) xjf(x0) 。因此,如果
f ( x ) = [ f 1 ( x ) . . . f m ( x ) ] f(x)=\left[ \begin{matrix} f_1(x)\\ ...\\ f_m(x) \end{matrix} \right] f(x)=f1(x)...fm(x)
那么有
∂ f ∂ x j ( x 0 ) = [ ∂ f 1 ∂ x j ( x 0 ) . . . ∂ f m ∂ x j ( x 0 ) ] \frac{\partial f}{\partial x_j}(x_0)=\left[ \begin{matrix} \frac{\partial f_1}{\partial x_j}(x_0)\\ ...\\ \frac{\partial f_m}{\partial x_j}(x_0) \end{matrix} \right] xjf(x0)=xjf1(x0)...xjfm(x0)
注意这只是对一个分量的偏导,完整的矩阵 M M M
[ ∂ f ∂ x 1 ( x 0 ) , . . . , ∂ f ∂ x n ( x 0 ) ] = [ ∂ f 1 ∂ x 1 ( x 0 ) , . . . , ∂ f 1 ∂ x n ( x 0 ) . . . ∂ f m ∂ x 1 ( x 0 ) , . . . , ∂ f m ∂ x n ( x 0 ) ] [\frac{\partial f}{\partial x_1}(x_0),...,\frac{\partial f}{\partial x_n}(x_0)]=\left[ \begin{matrix} \frac{\partial f_1}{\partial x_1}(x_0),...,\frac{\partial f_1}{\partial x_n}(x_0)\\ ...\\ \frac{\partial f_m}{\partial x_1}(x_0),...,\frac{\partial f_m}{\partial x_n}(x_0) \end{matrix} \right] [x1f(x0),...,xnf(x0)]=x1f1(x0),...,xnf1(x0)...x1fm(x0),...,xnfm(x0)
矩阵 M M M称为 f f f在点 x 0 x_0 x0雅可比矩阵或导数矩阵,记为 D f ( x 0 ) Df(x_0) Df(x0)
考虑 m = 1 m=1 m=1的情形,如果函数 f : R n → R f:R^n→R f:RnR可微,那么矩阵简化为一个行向量
[ ∂ f ∂ x 1 ( x ) . . . ∂ f ∂ x n ( x ) ] T \left[ \begin{matrix} \frac{\partial f}{\partial x_1}(x)\\ ...\\ \frac{\partial f}{\partial x_n}(x) \end{matrix} \right] ^T x1f(x)...xnf(x)T
将其再转置一下,就得到我们熟悉的梯度公式了:
∇ f ( x ) = D f ( x ) T = [ ∂ f ∂ x 1 ( x ) . . . ∂ f ∂ x n ( x ) ] \nabla f(x) =Df(x)^T= \left[ \begin{matrix} \frac{\partial f}{\partial x_1}(x)\\ ...\\ \frac{\partial f}{\partial x_n}(x) \end{matrix} \right] f(x)=Df(x)T=x1f(x)...xnf(x)
可以看出,梯度是一个由 R n R^n Rn映射到 R n R^n Rn的函数,如果在点 x 0 x_0 x0绘制梯度向量,其起点为点 x 0 x_0 x0,箭头代表方向,也就是说梯度能表示为向量场,类似于下图。
关于梯度和雅可比矩阵

可以证明梯度方向是函数 f f f在点 x 0 x_0 x0处增加最快的方向,反之,负梯度方向是函数值减少最快的方向,这也就是最小化loss的梯度下降法的理论基础。

相关文章:

  • 2021-04-29
  • 2021-05-16
  • 2021-07-01
  • 2021-06-28
  • 2022-01-12
  • 2021-08-04
猜你喜欢
  • 2021-11-01
  • 2021-04-06
  • 2021-07-30
  • 2021-04-27
  • 2021-12-05
  • 2022-12-23
  • 2021-11-23
相关资源
相似解决方案