关于梯度和雅可比矩阵

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

看到一个简洁漂亮的推导,从可微性的概念出发引入了梯度和雅可比矩阵,简记如下。
微积分的基本理念是利用仿射函数对函数进行近似,仿射函数的定义如下:
如果存在线性函数 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,箭头代表方向,也就是说梯度能表示为向量场,类似于下图。
[外链图片转存中...(img-oRHyivX9-1604393458459)]

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

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Hessian矩阵是一个二阶偏导数矩阵,主要用于描述函数的局部曲率和凸凹性质。假设函数为f(x1, x2, ..., xn),其中偏导数fxx是对第x变量的二阶偏导数。Hessian矩阵的形式为: H = | fxx fxy ... fxn | | fyx fyy ... fyn | | ... ... ... | | fnx fny ... fnn | Hessian矩阵有以下性质: 1. 对称性:Hessian矩阵是对称的,即H矩阵的第i行第j列元素等于第j行第i列元素。 2. 局部曲率:二阶偏导数代表了函数在某一点的曲率。Hessian矩阵的主对角线上的元素代表相应偏导数的二阶偏导数,可以用于判断函数在某点的曲率。 3. 梯度:Hessian矩阵的行向量是函数的梯度向量。利用Hessian矩阵梯度信息可以进行函数极值的估计和最优化的求解。 雅可比矩阵又称为导数矩阵,是一个函数各个偏导数组成的矩阵。假设函数为f(x1, x2, ..., xn),其中偏导数fxi表示对变量xi的偏导数。雅可比矩阵的形式为: J = | df1/dx1 df1/dx2 ... df1/dxn | | df2/dx1 df2/dx2 ... df2/dxn | | ... ... ... | | dfm/dx1 dfm/dx2 ... dfm/dxn | 雅可比矩阵具有以下性质: 1. 矩阵维度:雅可比矩阵是一个m×n的矩阵,其中m表示函数的输出变量个数,n表示函数的输入变量个数。 2. 偏导数:雅可比矩阵的每个元素是函数的偏导数,即J矩阵中第i行第j列元素是第i个输出变量对第j个输入变量的偏导数。 3. 线性性质:雅可比矩阵具有线性性质,即函数的线性组合对应的雅可比矩阵等于这些函数的雅可比矩阵的线性组合。 4. 导数性质:通过雅可比矩阵可以计算函数的全导数,即将每个偏导数组合成一个向量,就可以得到函数的导数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值