算是上一篇【数学】均匀分布生成其他分布的方法的一个数学基础补遗吧。
函数对向量求导
Jacobian矩阵相当于通用型的函数的一阶导数,Hessian矩阵是一个Rn→R的函数的二阶导数。
这就牵扯到了函数对向量求导的运算,详细的话详见:对向量求导这篇百度文库。
本质上来说,一个函数对(行)向量求导,本质上还是单独为向量的每个元素进行求导的。
比如Rn→R的函数f(a⃗),则其导数【即梯度】为∇f=[∂f∂a1,∂f∂a1,⋯,∂f∂an],此时其一阶导数就变成一个Rn→Rn的函数
对于Rn→Rm的函数,其可以看成一个长度为m列向量对一个长度为n行向量求偏导。
∂y⃗∂a⃗=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y1∂a1⋮∂ym∂a1⋯⋱⋯∂y1∂an⋮∂ym∂an⎤⎦⎥⎥⎥⎥⎥⎥⎥
其可以看成一个换元变换,即y1=f(a1,⋯,an)这样的方式进行换元。或者可以看成一个坐标变换。
所以上式【多元函数值的导数】即为雅各比Jacobian矩阵。
当m = n时,其为方阵,则可以求其雅各Jacobian比行列式。
雅各比Jacobian矩阵与行列式
雅各比矩阵的几何意义
先补充另外一些数学知识,求微分其实就是线性化,即用直线近似代替取现,dx,dy近似代替原来那段曲线。导数其实就是线性空间之间的线性变换。
为了理解上面这句话,看下面两张图
θ1和θ2分别是x,y的函数,则x,y的微分:
将其写成矩阵形式即为:
可以看到其导数就是从θ1和θ2微分映射到x,y微分的
更专业的说法是,导数就是在切空间到切空间之间的线性映射。【切空间就可以其理解为微分空间】
切空间都是矢量空间,都有基底,所以这个线性变换就是矩阵。在欧氏空间子空间的开集上,切空间就是某个。
所以把Jacobian矩阵看成切空间之间的基底之间的线性变换,
而矩阵的行列式的值的几何意义:是矩阵对应的线性变换前后的面积比。
这也是为什么积分中变换坐标时前面会乘以一个Jacobian矩阵的行列式。
雅各比行列式在积分坐标变换中的应用
上一篇 【数学】均匀分布生成其他分布的方法文章中提到了讲直角坐标系中的无法直接计算正态分布的积分,则将其转换到极坐标之中。在转换之后计算积分的时候【这里相当于用概率累计密度CDF用积分求,然后求导即为概率密度函数PDF】需要乘以一个雅各比行列式。另外注意,因为雅各比行列式是行列式所以其对应的矩阵必为一个方阵,且线性无关。
具体定理:
海森Hessian矩阵
正如前面所说,一个Rn→R映射的函数,即多元实值函数,其一阶梯度为
∇f=[∂f∂a1,∂f∂a1,⋯,∂f∂an]其 是一个Rn→Rn的函数,再对一阶梯度再求梯度,得到其二阶梯度:
∇2f=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢∂2f∂a21⋮∂2f∂an∂a1⋯⋱⋯∂2f∂a1∂an⋮∂2f∂a2n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥
海森矩阵在牛顿法中应用非常广泛。关于最优化算法这个下篇博客再更吧。
参考文献
如何理解雅克比矩阵?
雅可比(Jacobi)矩阵的若干应用
Jacobian矩阵和Hessian矩阵
如果觉得《【数学】对向量的求导和Jacobian矩阵的几何意义与Hessian矩阵》对你有帮助,请点赞、收藏,并留下你的观点哦!