多变量微积分hessian矩阵的判别式相关

俺的私人微博:http://weibo.com/hacker4long
一张图搞定多变量微积分
此篇文章包含多变量微积分一些重点概念和一些重要应用。通过一些已有的结论和公式来解决现实中的问题。通过多变量微积分的学习让我对机器学习的一些算法了解的更加透彻。我并没有阐述公式的原理和其推导过程,但是,我会在相应主题的下面给你一些解释其原理的链接,如果想了解的话可以看看。
我自己画了一张思维导图,我会按照图上的标号依次阐述其具体内容。图片如下:
函数f的梯度表示为?f,它是f所有偏微分的集合组成一个向量。例如:f(x,y)=x2-xy,它的梯度是?f(x,y)=????x(x2-xy)??y(x2-xy)??=[2x-y-x]
对于函数f,在输入点(x0,y0)求得的梯度其方向为最快上升的方向(steepest ascent)。其具体原理:
(二) 方向导数
方向导数告诉你多变量函数f随着在给定向量v?&的方向的输入下的变化率。
在给定v?&的前提下,我们可以用?f*v?&来计算方向导数。
当方向导数用来计算斜率时,要将v?&单位化。
其实我们可以认为?f*v?&是求导的通式。比如f为三维输入空间和一个输出:我们想求x方向的偏导,那么?f*v?&=???????f?x?f?y?f?z??????*???100???=?f?x
如果我把单位v?&换成v?&*2,则上面导数的结果为2?f?x,这是因为导数表达的含义是函数f随着在给定向量v?&的方向的输入下的变化率,?y的变化是先前的2倍,所以导数自然也是先前的2倍。。但是,如果我们用这个v?&*2来求斜率结果是和上面的导数一样吗?肯定不一样。这是因为斜率的含义就是Δy-Δx,它与v?&的大小无关只与方向有关,所以它的斜率还是?f?x
因此无论v?&在任何方向,当我们想求斜率的时候,我们将其单位化,从而斜率只与f在v?&方向上的导数有关。
曲线上某个点的曲率半径,不严格地说,就是一个在那点非常贴近曲线的圆的半径。
曲率k的定义为:1曲率半径
找到参数函数s?&定义的曲线上的曲率:
找到单位切向量:T(t)=s?&′(t)∥s?&′(t)∥
对上面的函数求导,它的大小等于曲率:k(t)=∥dTdt∥
关于曲率的具体细节参考:
我们可以把一个矢量场描述成流体流动,散度是一个操作符,它接收一个向量值函数(被描述成矢量场),输出一个标量值函数,这个函数测量每一点上的流体稠密程度的变化。
散度的公式如下:
div(v?&)=?*v?&=?v1?x+?v2?y+?
例如:v?&(x,y)=[2x-yy2],那么?v1就是对其x方向的组件求导,等等…
div(v?&)&0 more dense.
div(v?&)&0 less dense.
div(v?&)=0 divergence-free.
记住:散度可以用在各种各样的环境中,不仅仅是流体,流体只是我们用来便于理解散度的一个例子。
散度背后的原理请参考:
旋度同散度一样,它也是一个操作符。它接收一个代表三维矢量场的函数,输出另一个代表三维矢量场的函数。
假设向量场用来描述流体在三维空间中的速度,一个小球在流体内,球中心被固定在流体中的某个点上。如果球表面是粗糙的,流体流经小球的时候会使其旋转。旋转轴上的点在球中心旋度的方向上,具体朝向通过右手定则确定。旋转的角速度是在具体点上的旋度的一半。
如果一个函数v?&(x,y,z)=???v1(x,y,z)v2(x,y,z)v3(x,y,z)???,则旋度为:
curl(v?&)=?×v?&=(?v3?y-?v2?z)i^+(?v1?z-?v3?x)j^+(?v2?x-?v1?y)k^
旋度背后的原理请参考:
多变量微积分应用
(六) 最优化多变量函数
局部最大值:当我们在局部最大值点上,向任何方向移动输入点都会减小函数值。
局部最小值:当我们在局部最小值点上,向任何方向移动输入点都会增加函数值。
鞍点:鞍点使得函数在一个方向上有局部最大值,在另一个方向上有局部最小值。
当我们在单变量微积分时,对于导数为0的点,我们不能确定是最大值,最小值还是拐点,我们需要做二阶导测试。而现在,对于多变量微积分也是同样的道理,并且它还多了个鞍点,我们同样也需要做二阶导测试。在这之前,我先介绍一下Hessian matrix:
上图来源于wikipedia:
Hessian matrix只适用于标量函数,它捕获了多变量函数的二阶导的所有信息,Hessian matrix在多变量微积分中的角色就像单变量微积分中的二阶导。它主要被应用于二阶导测试和多变量函数的二次逼近(下文有说明)。当我们做二阶导测试时,我们用Hessian determinant。当我们近似函数时,我们用Hessian matrix。
二维输入空间的情况下应用Hessian行列式(Hessian determinant):
det(Hf(x1,x2))=det?????????2f?x21?2f?x2?x1?2f?x1?x2?2f?x22????????=?2f?x21*?2f?x22-?2f?x1?x22
现在我们做二阶导测试:
det(Hf(x1,x2))&0 函数有鞍点。
det(Hf(x1,x2))&0 函数有局部最大值或局部最小值。
?2f?x21&0为局部最小值
?2f?x21&0为局部最大值
det(Hf(x1,x2))=0 没有足够的信息来确定。
二阶导测试原理:
(七) 近似多变量函数
现在我们要近似两维输入空间的标量值函数f(x,y),公式如下:
T(x,y)=f(x0,y0)+fx(x0,y0)(x-x0)+fy(x0,y0)(y-y0)
(x0,y0)是在输入空间的某个点
T(x,y)是函数f(x,y)在点(x0,y0,f(x0,y0))的切平面
公式推导:
局部线性化
公式如下:
Lf(x)≈f(p)+?f|p?(x-p)
Lf(x)为在点P的多变量线性函数
P是我们想要近似函数的那个点
x是多个输入变量的向量
实际上我们只要记住两点就大概明白这个公式的意义了:
Lf(x) 与 f(x)在P点有相同的函数值
Lf(x) 与 f(x)在P点相同的偏导
公式推导过程:
二次近似(quadratic approximation)会比局部线性化更加贴近原函数。这将用到二阶导信息。
公式以及说明如下:
详情请看:
(八) 条件最优化
当我们想要求出多变量函数f(x,y,?)的最大值或最小值时,在另一个多变量函数g(x,y,?)=c的限制下,依照下面的步骤:
引入一个新的变量λ并定义一个新的函数L为:L(x,y,?,λ)=f(x,y,?)-λ(g(x,y,?)-c)。函数L被称作”Lagrangian”,λ被称为”Lagrange multiplier”
找到?L(x,y,?,λ)=0的解
All these solutions are of the form (x0,y0,?,λ0). Plug each one into f.
条件最优化一定满足两个属性:
1、由于目标函数和限制函数相切才能产生最大值或最小值,因此:?f(x,y)=λ?g(x,y)
2、g(x,y)=c
我们用上面两个属性完全可以求出最大值或最小值,它比拉格朗日函数更加容易。但是在实际应用中,经常用电脑来计算这些问题而不是人类来做这些。对于电脑来说只求一个?L=0是更简洁和有用的。
拉格朗日乘子解释:
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!I am 8 bits, what about you?
多变量微积分笔记12——平面向量场
  当研究物理系统中温度、压力、密度等在一定空间内的分布状态时,数学上只需用一个代数量来描绘,这些代数量(即标量函数)所定出的场就称为标量场。最常用的标量场有温度场,电势场,密度场,浓度场等等。  向量场 vector field(矢量场)是由一个向量对应另一个向量的函数。向量场广泛应用于物理学,尤其是电磁场。  建立坐标系(x,y,z)。空间中每一点(x0,y0,z0)都可以用由原点指向该点的向量表示。因此,如果空间在所有点对应一个唯一的向量(a,b,c),那么时空中存在向量场F: (x0,y0,z0)→(a,b,c)平面向量场  在二维平面上的每个点都对应一个向量,可以如下表示:  其中i和j是单位向量,M和N是关于x和y的函数,也就是平面向量场中的所有向量都取决于x和y。  场的概念其实很常见,比如风向场,每一点的风都可以用一个向量表示:  台风的风向场:  在物理学中常见的还有水流场和引力场。在流体中,每一点都有速度和力量;在地球上,所有物体都受到重力的约束,共同组成重力场;宇宙中,行星之间相互吸引或排斥,形成引力场。向量场绘图示例1:F = 2i + j  这个场向量有点特殊,它并不取决于x和y,也就是说所有点处的向量都相等,每个点处都存在向量&2, 1&:   大概就是这样了,画出草图即可。向量是表示大小和方向的量,并未规定起点的位置。示例2:F = xi  对于这个向量场来说,只存在i方向的分量,不存在j方向的分量,如果用四边形法做向量,这个四边形的高将压缩为0:   如上图所以,这将得到一个水平的向量。所以这个向量场是水平的,它不存在j方向上的分量,并且长度取决于x,如果x = 0,就是零向量。示例3:F = xi + yj  这里x和y可以是任意数据,而且未限定二者的关系。当y = 0时就是示例2中草图;如果x = y = 1,会有如下向量场:  对于F = xi + yj来说,这太过于杂乱无章,所以对于任意x和y,仅画出从原点出发的向量,这样F = xi + yj这个向量场将是从原点呈放射状,大小等于向量终点与原点的距离:  这可以看作是从一个点喷出的气流。示例4:F = -yi + xj  当x = 1,y = 2时,向量&1,2&和 &-2,1&是垂直的:  对于其它点也一样,&-y,x&⊥&x,y&。这可以用点积计算,两个向量的点积为0,则两个向量垂直:   把上图的向量移动一下:   F = -yi + xj实际上是一个逆时针匀速转动的向量场,每个向量都与圆相切:
  作者:我是8位的   出处:   本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!
  扫描二维码关注公众号“我是8位的”
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!编程技术学习与探讨,图像处理分析,算法研究,爱学习的好孩子
梯度、Hessian矩阵、平面方程的法线以及函数导数的含义
本文转载自:
===========================================================================
想必单独论及“ 梯度、Hessian矩阵、平面方程的法线以及函数导数”等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题。
其实在应用的时候,这几个概念经常被混淆,本文试图把这几个概念之间的关系整理一下,以便应用之时得心应手。
这四个概念中,Hessian矩阵是最不容易混淆,但却是很多人难以记住的概念,其它三个概念很容易记住,但却在某些时候很容易混淆。
Hessian矩阵:设有凸函数f(X),X是向量(x1,x2,..., xn),Hessian矩阵M定义为:M的第i行,第j列元素为df(X)/dxidxj, 即为f(X)对于变量xi和xj的二次偏导数。梯度:设有凸函数f(X),X是向量(x1,x2,..., xn),函数f(X)在点X0处的梯度是一个向量,等于(df(X0)/dx1, df(X0)/dx2, ...., df(X0)/dxn), 即是对于各个变量的偏导数的向量。例子:如果方程是z=f(x,y),梯度是在XOY平面内的一个向量,与z无关。因此要特别注意梯度不是点(X,f(X))处的切线方向。平面方程的法线:设平面方程Ax+By+Cz+D = 0,向量(A, B, C)为这个平面的法线方向。函数导数:二维直线的方程y= kx+b,我们说k是直线的斜率;二维曲线y=f(x)的导数f '(x)表示在点x处的切线的斜率,注意是切线的斜率,不是切线的方向,它是标量,不是向量。任意曲线y=f(x1,x2,...xn),对每一个变量求取偏导数,得到一个向量(df(X)/dx1, df(X)/dx2, ...., df(X)/dxn),这个向量就是函数在点X处的梯度,即梯度是表示曲线f(X)在X处变化最剧烈的方向,特别注意梯度并不是在点(X,
f(X))处的切线方向, 梯度只是在点(X, f(X))处的切线方向在X构成的“平面”上的投影。注意,对于二维直线y=kx+b,它也是可以求取梯度的,它的梯度是向量(k),只有一个值,表示的是x方向上的向量,大小是x方向上的单位变化导致y变化量的大小,即就是切线的斜率。
一个问题,我们把二维直线方程y=-kx-b写为平面方程的形式,kx + y+b = 0,这个时候怎么理解?我们可以理解为把y=-kx-b这条直线往z轴的两个方向拉伸得到的平面,就是kx+y+b=0。那么这个平面方程的法线就是(k, 1, 0),这个法线向量与平面kx+y+b=0垂直,这个时候如果我们用XOY平面去与这个平面相交,即令z=0,就表示直线y=-kx-b,因此法线(k,1)是与直线垂直的。注意y=-kx -b的导数的含义:(-k)表示的是x轴方向的梯度,值为直线的斜率。
一定要注意平面方程的形式与其它三个概念的方程形式是不同的,平面方程的右边是0,而其它三个概念的方程中必须有一个变量在等式的左边,可以表示为f(X),或者y等形式,本质上f(X)和y都表示的是一个变量,只有方程的形式对的时候才能适用相关的计算,例如,我们不能对方程Ax+By+Cz+D =0,使用梯度或者导数的计算,这个地方非常容易混淆,特此提醒!
pku,sewm,shinning
==========================
以下内容转载自:,谢谢!
在数学中,(Hessian
matrix 或 Hessian)是一个自变量为向量的实值函数的二阶组成的,此函数如下:
如果 f 所有的二阶导数都存在,那么 f 的海塞矩阵即:
H(f)ij(x) = DiDjf(x)
二阶偏导数矩阵也就所谓的海赛矩阵(Hessian matrix)
一元函数就是二阶导,多元函数就是二阶偏导组成的矩阵
求向量函数最小值时用的,矩阵正定是最小值存在的充分条件。
经济学中常常遇到求最优的问题,目标函数是多元非线性函数的极值问题尚无一般的求解方法,但判定局部极小值的方法是有的,就是用海赛矩阵,是变量向量二阶偏导数构成的矩阵,矩阵正定是局部极小点的充分条件。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!hessian 矩阵_百度知道
hessian 矩阵
怎么求导求出来矩阵了?什么意思?解释下3q
yzx 泰勒展的结果?不懂,展开了就成矩阵了?麻烦再说说,我给你加分~~
黑塞矩阵是用来判断该点是不是极值点的,具体的就是把多元函数的2阶偏导数(不是有很多种嘛)拼成一个矩阵,并不是求导求出来的一个矩阵。具体的极值条件去看你的数学分析或者微积分书吧,在拉格朗日乘子法或者是多元函数极值里面应该都会涉及到的。其实大概想想也可以想出来,那个黑塞矩阵实际上就是泰勒展开以后的结果,只不过写成矩阵的形式,所以取极大值就要负定取极小值就要正定。
采纳率:46%
可参看《连续体和结构的非线性有限元》,庄茁译。P280-281,6.3.6保守问题。有具体的应用。
为您推荐:
其他类似问题
hessian的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。最美的不是下雨天,是曾与你躲过雨的屋檐!
数学-矩阵计算(4)两种布局
本博文来自维基上的矩阵计算:https://en.wikipedia.org/wiki/Matrix_calculus#Denominator-layout_notation
之前会发现在有的求导上最后结果需要转置,而有的不需要,很困惑,然后才发现了这个维基上面的解释(这才是写该博文的主要价值,注意到不同的布局问题,其他部分只是为了完整性而写的),而且下面也有很多很不错的参考链接,其中就有之前的矩阵计算(2)和矩阵计算(3)的链接。维基最后更新时间:17
April 2015, at 21:34.
matrix calculus
& & 在上, 矩阵微积分是用来表示,当然主要还是在空间上的。它覆盖了单一函数(单元)关于多变量的,多变量函数(多元函数)关于单一变量、向量和矩阵的偏导(向量、矩阵可以被视为单一实体对待)。这种符号化的数学表示大大的简化了很多操作,例如查找多变量函数的最大值或者最小值,以及的求解系统等等。值得注意的是:下面使用的符号是在和领域中常用的,不过张量的指数表示()是来自。
& & 不过有个我们之前未注意的是,有两派人它们使用着自己的符号约定,从而将矩阵微积分划分成了两个派别。这两个派别很容易区分,只要看它们写一个标量关于一个向量的导数是写成还是行向量。不过这两个约定都是被大家所接受的,就算是在涉及到一般的矩阵计算的时候,将常规的向量默认视为列向量(而不是)的情况下还是成立的。在矩阵微积分中,如果采取了一个约定,那么就使用该约定贯穿整个领域(例如:,,)和),不要混用不然会造成混乱。然而,在一个具体的领域中,不同的作者还是会使用不同的约定,因为会有来自不同派别的作者会将他们自己的约定作为标准。所以在没有去仔细的验证不同作者的资料的时候盲目的将他们的结论放在一起会有严重的错误。因而在一个完整的资料上需要确保符号的一致性。在下面的部分会有两种约定的定义介绍和比较。
& & 矩阵微积分指的是使用矩阵和向量来表示因变量每个成分关于自变量每个成分的导数。通常来说,自变量指的是标量、向量或者矩阵,而因变量指的是由自变量得到的结果。每种不同的情况会导致有不同规则集合(或者不同的操作)。我们可以用有组织的矩阵符号来方便的表示不同的导数。
& & 第一个例子,考虑中的。对于一个有着三个因变量的标量函数来说,&,可以通过下面的向量方程来表示梯度:
这里&&表示&&方向上的单元向量,其中&。该导数更广义的表示为:一个标量&f&关于一个向量的导数,其结果的向量形式如下:
[这不是通常的向量表示形式,通常的向量是表示成列向量]
更多复杂的例子,例如标量函数关于矩阵的导数,被称之为,其中每个对应位置上的元素都是关于原始矩阵每个元素的导数。在这种情况下,一个标量(个人:也就是结果矩阵中的一个元素)就是矩阵中每个因变量的一个函数。另一个例子,如果我们有一个元素为因变量、函数、m个自变量的n维向量,我们就需要考虑因变量向量关于该自变量向量的导数。结果为表示所有可能导数组合的一个m×n&矩阵。当然,最多也就9种形式。如果我们在自变量和因变量中有更多层次的嵌套,那么组合数量就远远不止9种了。
下面表中就是以矩阵形式表示的常见的6种不同的导数形式。&
矩阵导数的类型
因为向量和标量都可以表示成简单的矩阵形式,所以这里我们使用“矩阵”来泛化的表示所有含义。而且,我们使用黑体字母来表示向量,而黑体大写字母表示矩阵。
& & 当然上面的9个格子还少了几个组合,比如向量关于矩阵的导数等。不过,这些导数是以秩(rank)超过2的张量()表示的,所以它们不适合放在一个矩阵中。接下来的三个部分中,我们会这些导数,而且将他们与其他的数学分支联系起来。在下面的部分有更详细的表。
& & 矩阵导数这种符号可以很方便的用来表示微积分中的偏导数。是中求关于向量的导数的标准方式。在这种情况中,矩阵的矩阵函数是Fréchet可微分的,这两个派别的导数在符号的解释上是需要保持一致的。正如在一般的分析中,许多公式是在比现有的近似线性映射的导数下还弱的分析条件下扩展得到的。
& & 矩阵微积分可以用来计算最优随机估计(optimal stochastic estimators),通常会涉及到&的使用。比如下面的几个例子:
& & 该小节的向量和矩阵导数遵循的规则,使用单个变量来表示一个包含着大量变量的实体。在该规则中,我们需要通过字体来区分标量,向量和矩阵。M(n,m)表示n行m列的矩阵空间。这样的矩阵以黑体大写字母表示:A,&X,&Y,
etc.M(n,1)也就是一个,表示成黑体小写字母:a,&x,&y,
etc.M(1,1)也就是一个标量,表示成小写斜体字母:a,&t,&x, etc.&XT&表示矩阵的,
tr(X)表示,而det(X)表示的是。所有的函数都假设是&C1&的,除非有特别说明。字母表中上半部的普通的字母(a,
b, c, …)用来表示常量,下半部字母(t, x, y, …)用来表示变量.
NOTE: 正如最开始说的,在向量和矩阵中关于偏导数的表示是不唯一的,因为没有一个完整的标准。下面两个介绍性的部分使用来简单的说下符号带来的便利,主要是为了避免过多的复杂讨论。在后面的布局约定中有更详细的介绍。我们应该注意到:
先不说&分子布局& 和&分母布局&,其实还有其他的符号化解释。选择这两种的原因(或者在某些情况下,叫做分子布局,混合布局),是因为这样可以独立的解释标量关于向量, 向量关于标量,向量关于向量,和标量关于矩阵的导数,当然,有很多作者会以各种不同的方式来混用这些布局。下面的介绍性部分使用分子布局,不代表这是“正确的”或者“优先”的选择。不同的布局类型都有优点和缺点。粗心的将不同的局部混合使用会导致很严重的错误,而且从一个布局转移到另一个布局也是需要谨慎对待的。所以,当在当前使用的公式中,最好的选择就是先验证使用的是什么布局,然后考虑遵循这个布局,不要试图在所有的情况下使用同一个布局(个人:就是如果你在推导一个公式,先了解该作者用的是什么布局,而不要以为所有的资料都是同一个布局。当然最好对每个公式都先验证下,这是为了防止有些作者在同一份资料中混乱的使用不同的布局)。
& & 使用约定的张量指数表示()非常像矩阵微积分,只是它是一次只有一个成分。它可以很轻松的对任意高秩的张量进行操作,因为秩超过2的张量不能够很好的通过矩阵符号来处理。这里所有的工作都可以以这种不使用单一变量的矩阵符号来完成。不过,在评估论和应用数学领域上,是需要对超多指数(indices)进行操作的,在这些领域中,矩阵微积分是很常见的。同样的,爱因斯坦符号可以作为通常的元素符号的替代方法,来表示这里的identities,不过当需要显式的求和的时候,这就变得很麻烦了。其实一个矩阵可以认为是有着秩为2的张量。(个人:该段的意思就是除了前两种表示法还有个张量指数表示法,具体的这里不介绍,可以看下面的参考文献。)
主要内容:&
& & 因为向量就是有着一列的矩阵。最简单的矩阵导数就是向量导数。
& & 这里的符号可以用来表示一般的操作,用Rn中n维向量表示M(n,1),而实数空间R&实数表示M(1,1)。
NOTE:这里使用分子布局只是为了教学。有些作者还是会使用不同的约定的。下面的布局约定部分会有更详细的解释.&
& & &关于x&的(以分子布局约定)的形式如下:
& & 在,向量y&关于标量x&的导数被称为向量y
的,&。&注意:y:R&&Rm.
Example;例如在,向量就是向量的(即关系到时间的函数)。同样,也是速率的目标向量。
& & &标量y&关于向量的数的结果如下:(以分子布局约定)
& & 在物理学中,是的向量。
& & 空间向量&x&的标量函数f(x)在单位向量&u上的定义成的梯度形式如下:
& & 之前,标量关于向量的导数的符号可以重写成方向导数的形式:&这种符号表示形式在乘积规则和链式规则的时候可以看起来和标量一样可读.
& & 之前的两种情况可以被认为是向量关于向量的导数的应用,只是其中某个向量的大小为1罢了。同样的,我们可以以同样的方式从向量推广到矩阵上。
& & &(一个向量,其中的元素都是函数)&&关于一个输入向量的导数可以写成如下形式:(分子布局约定)
& & 在向量微积分中,一个向量函数y&关于一个向量x(其成分被称之为一个空间)的导数被称之为,
& & 在&Rm&中,pushforward即为向量函数f&关于向量v&的导数为:
& & 有两种关于矩阵的导数类型,它们可以表示成大小相同的矩阵形式。即矩阵关于变量的导数和变量关于矩阵的导数。这在应用数学的许多领域中为了找到最小值问题是很有帮助的,它们可以被称之为:目标矩阵和梯度矩阵。
NOTE: 该部分使用分子布局约定也是出于教学目的。&
& & 矩阵函数&Y&关于标量x&的导数被称之为&目标矩阵:&(以分子布局约定)
& & &自变量为矩阵X&的标量函数&y&关于矩阵X的导数为:(分子布局约定)
& & 注意到这里关于X的梯度的索引就是矩阵X索引的转置。(矩阵的标量函数会涉及到矩阵的和)。
& & 该导数也可以写成如下形式:
& & 同样,矩阵&X&的标量函数f(X)在矩阵&Y的方向上的方向导数为:&
& & 这就是梯度矩阵,常用来解决评估论中的最小化问题,特别是在卡尔曼滤波的导数中占据着重要的地位。
& & 之前没写的三个导数就是向量关于矩阵的,矩阵关于向量的,矩阵关于矩阵的。这几个因为不同派别观点不同,而且没有个统一的符号表示。对于向量来说,前面的两个可以看成是矩阵关于矩阵的导数,只是对应的矩阵是一行或者只有一列。所以,这一小节我们就只介绍矩阵关于矩阵的导数。
& & 假设有将&n×m&的矩阵映射到p×q&的矩阵上的函数,&F&:&M(n,m)&&M(p,q)。微分或者说矩阵函数&F(X)
关于矩阵的导数是M(p,q)&?&M(m,n)的元素, 而且是一个(m&和&n&的转换,表示是M(n,m)的).简单来说,就是一个m×n&矩阵,其中的每个元素都是一个p×q&矩阵.
其中每个&&是一个p×q&矩阵。注意:这个矩阵的索引是转置了的:m&行n&列。在M(n,m)空间中,自变量为n×m&矩阵Y的
函数F&的pushforward为:
&分块矩阵形式
该定义是个通用形式,其他上述的定义都可以作为该定义的特例。
& & 依据 Jan R. Magnus 和Heinz Neudecker的理论,下面的符号都不合适,如果使用这些符号的话,第二个生成的矩阵的行列式将会“无法解释”和“不存在可以使用的链式规则”:
一个自变量为&的矩阵&的可微分函数的导数为:
给定&,一个自变量为的矩阵&&的可微分&大小的函数的导数:
& & & 根据Magnus and Neudecker,,
& & 该部分讨论在使用矩阵微积分的各种不同领域中使用的符号化约定的相似和不同。当然目前有两大阵营,不过很多作者发现在很多时候将这两种约定混合起来使用会很方便。
& & 最基本的问题就是向量关于向量的导数:即&。不过这通常会写成2种不同的形式。如果分子y&是m维的,而分母x&是n维的,那么结果可以是一个m×n&矩阵或者是一个n×m&矩阵,即&y&的元素是列排序,而&x&的元素是行排序,或者说相反。这使得会有以下几种情况:
分子布局,即按照&y&和xT&(相比较于x)的布局。这有时候被称为Jacobian
形式.分母布局, 即按照&yT&和&x&(相比较于y).这有时候被称之为Hessian 形式.许多作者称这种布局为梯度,区别于&Jacobian&(分子布局),是它的转置。 (不过,&&更多的是用来表示导数&&而不是指布局)第三个可能的形式是将导数写成&&(即导数是关于x的转置的),却遵循分子布局。这使得我们可以认为说矩阵是按照分子和分母制定的。不过在实际中,这生成的结果是和分子布局一样的。
当处理&&和想法的情况&&(逗号消不掉)的时候,我们有着相同的问题。为了保证一致性,我们应该采用下面的某一条方案:
如果我们对&(逗号消不掉)选择分子布局,我们应该将&&写成行向量,&为列向量。如果我们对&(逗号消不掉)选择分母布局,我们应该将写成列向量,写成行向量。第三种情况,我们采用&&和&&然后使用分子布局。
& & 不是所有的数学教科书和论文都会在整个部分都保持一致性的。也就是有时候在相同的论文的不同部分会使用不同的约定。例如,有些地方选择了分母布局来表示梯度(将它们以列向量表示),而对于向量关于向量的导数&却使用分子布局。
& & 同样的,当面对标量关于矩阵的导数&和矩阵关于标量的导数&的时候,按照Y和&XT,使用的是分子布局,而按照&YT&和&X使用的是分母布局。然而,在实际中,对&&使用一个分母布局,然后按照&YT&来对结果进行布局是很罕见的,因为这样的结果看起来很糟糕,而且不对应标量公式。
所以,我们通常看到的是下面的布局:
只有分子布局,根据
Y&来写&&,根据XT来写&&。混合布局, 根据Y&来写&&,根据X来写&&.使用符号&结果和分子布局一样。
& & 在下面的式子中,我们处理5种可能的组合形式:&&和&&。
我们同样会处理标量关于标量导数的情况,不过这会涉及到一个中间的向量或矩阵。(这是很可能会出现的,例如,一个多维是以一个标量变量定义的,那么在求该曲线的标量函数功能与参数化该曲线的标量的导数的时候,在中间过程中会有向量或矩阵需要计算。)
对于每个不同的组合,我们都给出了分子布局和分母布局,除了那种分母布局很罕见的情况。在那种有意涉及到矩阵的情况下,我们会给出分子布局和混合布局。正如上面说的,向量和矩阵分母写成转置符号的情况等同于分母没有写成转置符号的分子布局。
& & 还记得之前提醒的,许多作者会混合的使用不同的分子和分母布局表示不同的导数类型,而且没法保证说一个作者会在所有类型上一直使用分子布局或者分母布局。可以通过下面的表来决定对某个具体的导数类型使用什么样的布局,不过注意不要假设其他类型也需要遵循同一种布局。&
& & 在计算一个集合(向量或矩阵)分母的导数从而能够找到该集合的最大或最小值的时候,应该记住,使用分子布局生成的结果是关于集合的转置。例如,通过使用矩阵微积分来找到的估计。如果定义域是一个kx1
列向量,那么使用分子布局的结果是1xk&行向量的形式。所以,使用结果的转置或者使用分母布局(或者混合布局)。
集合关于集合的导数结果
Vector&y&(size&m)
Matrix&Y&(size&m×n)
(分子布局) size-m&
(分母布局) size-m&
(分子布局)&m×n&矩阵
向量&x&(&n)
(分子布局) size-n&
(分母布局) size-n&
(分子布局)&m×n&矩阵
(分母布局)&n×m&矩阵
矩阵&X&(p×q)
(分子布局)&q×p&矩阵
(分母布局)&p×q&矩阵
分子布局和分母布局的操作结果可以通过转置来切换。
使用分子布局:
下面的定义只提供了分子布局的结果:
使用分母布局:
& & 正如上面说的,通常来说,操作的结果需要通过转置在分子布局和分母布局之间相互切换。
& & 为了帮助理解下面的所有identities, 记得最重要的规则是:,&和。&求和规则是普遍适用的,而乘积规则应用在下面的大部分情况中,
其中矩阵乘积的顺序是有要求的,因为矩阵乘积是不可交换的。链式规则应用在下面的某些情况中,不过可惜的是没有应用在矩阵关于标量的导数和标量关于矩阵的导数中(在后者的情况下,大多数情况都是通过在矩阵上操作来完成的).
在后者情况中,乘积规则没法直接使用,不过可以通过使用微分identities来等效的完成。
& & 最开始介绍这个是因为所有的向量关于向量的微分可以直接用在向量关于标量或者标量关于向量的微分上,只要将分母或分子的向量变成标量就行。
Identities: 向量关于向量&
分子布局,即&y&和&xT
分母布局,即yT&和&x
a&不是关于x的函数
A&不是关于x的函数
A&不是关于x的函数
a&不是关于x的函数
a&=&a(x),&u&=&u(x)
A&不是关于x&的函数
u&=&u(x),&v&=&v(x)
主要的identities 下面都有条细黑线。
Identities: 标量关于向量&
分子布局,即&xT; 结果是行向量
分母布局,即&x;结果是列向量
a&不是关于x的函数
a&不是关于x的函数,
u&=&u(x),&v&=&v(x)
u&=&u(x),&v&=&v(x)
u&=&u(x),&v&=&v(x)
假设分子布局&of&
假设分母布局&of&
u&=&u(x),&v&=&v(x),
A&不是关于x的函数
假设分子布局&of&
假设分母布局&of&
a&不是关于x的函数
A&不是关于x的函数
b&不是关于x的函数
A&不是关于x的函数
A&不是关于x的函数
A&是对称的
A&不是关于x的函数
A&不是关于x的函数
A&是对称的
a&不是关于x的函数,
假设分子布局of&
假设分母布局&of&
a,&b&不是关于x的函数
A,&b,&C,&D,&e&不是关于x的函数
a&不是关于x的函数
Identities: 向量关于标量&
分子布局,即&y,结果是列向量
分母布局,即&yT,结果是行向量
a不是关于&x的函数
a不是关于&x的函数,
A&不是关于&x的函数
u&=&u(x),&v&=&v(x)
u&=&u(x),&v&=&v(x)
假设矩阵布局是一致的; see below.
假设矩阵布局是一致的; see below.
NOTE: 设计到向量关于向量的导数的公式&&和&&(输出为矩阵)假设矩阵是使用相同的向量布局的,即当使用分子布局向量的时候,就是分子布局矩阵,反之亦然;不过需要转置向量关于向量的导数。
& & 注意,当使用矩阵(自变量)的矩阵值(因变量)函数的时候,标量乘积规则和链式规则不存在完全相等的。不过,这类乘积规则也适用于微分形式(见下面),这是得到许多涉及迹函数identites的方法,而且事实上迹允许转置和循环置换,即:
例如,为了计算&
(最后一步,见 `从微分的导数形式的转换' 部分.)
Identities: 标量关于矩阵&
分子布局,即&XT
分母布局,即 &X
a&不是&X的函数
a&不是&X的函数,&u&=&u(X)
u&=&u(X),&v&=&v(X)
u&=&u(X),&v&=&v(X)
两种形式都假设分子布局for&
如果X&使用分母布局,那么使用混合布局
U&=&U(X),&V&=&V(X)
a&不是&X的函数,
g(X) 是标量系数多项式,或者是无限多项式定义的矩阵函数&(如 eX, sin(X), cos(X), ln(X),
用泰勒展开式);&g(x) 是标量函数,&g′(x) 是其导数,
g′(X) 是对应的矩阵函数
A&不是X的函数
A不是X的函数
& & & & & & & &&
A&不是X的函数
A&不是X的函数
A,&B&不是X的函数
A,&B,&C&不是X的函数
n&是正整数
A&不是X的函数,
n&是正整数
a&不是X的函数
A,&B&不是X的函数
n&是正整数
A&不是X的函数,
X&是方阵而且可逆
A&不是X的函数,
X&不是方阵,
A&是对称的
A&不是X的函数
X&不是方阵
A&不是对称的
Identities: 矩阵关于标量&
分子布局,即&Y
A,&B&不是关于x 的函数
U&=&U(x),&V&=&V(x)
U&=&U(x),&V&=&V(x)
U&=&U(x),&V&=&V(x)
U&=&U(x),&V&=&V(x)
U&=&U(x,y)
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
A&不是关于x 的函数,&g(X) 是关于标量系数的多项式,或者是关于无限多项式定义的矩阵函数 (如. eX, sin(X),
cos(X), ln(X) );&g(x) 是等效的标量函数,&g′(x) 是其导数,g′(X) 是对应矩阵函数
A&不是关于x 的函数
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
更多细节可见。
Identities: 标量关于标量, 涉及到向量
任意布局 (假定点积忽略行或列布局)
u&=&u(x),&v&=&v(x)
Identities: 标量关于标量, 涉及到矩阵
一致的分子布局,即&Y&和&XT
混合布局,即&Y&和&X
A&不是x 的函数,&g(X) 是标量系数的多项式, 或者是由无线多项式定义的矩阵函数(如eX, sin(X),
cos(X), ln(X),);&g(x) 是等效标量函数,&g′(x) 是它导数,g′(X) 是对应矩阵函数
A&不是x 的函数
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
& & 通常很容易在微分形式下处理,然后转换成规范导数形式。这只在分子布局下才能很好地work。
微分identities: 标量,涉及到矩阵
结果 (分子布局)
微分identities: 矩阵
结果(分子布局)
A&不是关于&X的函数
a&不是关于&X的函数
为了转换到标准的导数形式,首先需要转换成以下规范的形式,然后在使用这些identities:
从微分的导数形式的转换&
规范的微分形式
等效的导数形式
八、符号介绍
&Minka, Thomas P. &Old and New Matrix Algebra Useful for Statistics.& December 28, 2000.&^&&&Magnus,
Jan R.; Neudecker, Heinz (1999).&Matrix Differential Calculus with Applications in Statistics and Econometrics. Wiley Series in Probability and Statistics (2nd ed.). Wiley. pp.&171–173.&^&&&&Here,&&表示一个充满0的n维,这里n是x的长度^&&&Here,&&表示一个充满0的矩阵,和X.有着一样的shape。^&&&&&&&&&&&&&&&&&Petersen,
Kaare Brandt and Michael Syskind Pedersen.&The Matrix Cookbook.&November 14, 2008..&&该书使用混合布局,即在&&中使用Y,在&&中使用X。&Duchi, John C.&&(PDF). University of California at Berkeley&2011.&See&&for
the derivation.&The constant&a&disappears in the result. This is intentional. In general,
自变量:自变量是指研究者主动操纵,而引起因变量发生变化的因素或条件,因此自变量被看作是因变量的原因。自变量有连续变量和类别变量之分。如果实验者操纵的自变量是连续变量,则实验是函数型实验。如实验者操纵的自变量是类别变量,则实验是因素型的。--来自好搜百科
九、参考资料:
[1] &&&appendix D from&Introduction
to Finite Element Methods&book on&&at&.
Uses the&(&to&)
definition of vector and matrix derivatives.
[2] & & &, Mike Brookes,&.
[3] & &&, with a&derivatives&chapter.
Uses the Hessian definition.
[4] & &&, an updated version of the Matrix Cookbook.
[5] & &&&(aut see Chapter 9 of book),&,&.
[6] & &&, Randal J. Barnes, Department of Civil Engineering, University of Minnesota.
[7] & &&, Paul L. Fackler,&.
[8] & &&&(slide presentation), Zhang Le,&.
[9] & &&&(notes on matrix differentiation, in the context of&),
Heino Bohn Nielsen.
[10] &&&(notes on matrix differentiation), Pawel Koval, from Munich Personal RePEc Archive.
[11] & &&More notes on matrix differentiation.
[12] & &&(notes on matrix differentiation), Sam Roweis.
&[18] & 新浪博客 http://blog.sina.com.cn/s/blog_61cwu.html
[19] & 维基百科https://en.wikipedia.org/wiki/Matrix_calculus#Numerator-layout_notation
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 图像处理 hessian矩阵 的文章

 

随机推荐