本文转载自:

Xianling Mao的专栏

===========================================================================

想必单独论及“ 梯度、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
 
==========================

以下内容转载自:http://blog.sina.com.cn/s/blog_662234020100q2vh.html,谢谢!

在数学中,海塞矩阵(Hessian matrix 或 Hessian)是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,此函数如下:

如果 f 所有的二阶导数都存在,那么 f 的海塞矩阵即:

H(f)ij(x) = DiDjf(x)

其中  ,即

二阶偏导数矩阵也就所谓的海赛矩阵(Hessian matrix)
一元函数就是二阶导,多元函数就是二阶偏导组成的矩阵
求向量函数最小值时用的,矩阵正定是最小值存在的充分条件。
经济学中常常遇到求最优的问题,目标函数是多元非线性函数的极值问题尚无一般的求解方法,但判定局部极小值的方法是有的,就是用海赛矩阵,是变量向量二阶偏导数构成的矩阵,矩阵正定是局部极小点的充分条件。

梯度、Hessian矩阵、平面方程的法线以及函数导数的含义的更多相关文章

  1. 【机器学习】梯度、Hessian矩阵、平面方程的法线以及函数导数的含义

    想必单独论及" 梯度.Hessian矩阵.平面方程的法线以及函数导数"等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题. 其实在应用的时候,这几个概念经常被混 ...

  2. 梯度vs Jacobian矩阵vs Hessian矩阵

    梯度向量 定义: 目标函数f为单变量,是关于自变量向量x=(x1,x2,-,xn)T的函数, 单变量函数f对向量x求梯度,结果为一个与向量x同维度的向量,称之为梯度向量: 1. Jacobian 在向 ...

  3. 三维重建面试4:Jacobian矩阵和Hessian矩阵

    在使用BA平差之前,对每一个观测方程,得到一个代价函数.对多个路标,会产生一个多个代价函数的和的形式,对这个和进行最小二乘法进行求解,使用优化方法.相当于同时对相机位姿和路标进行调整,这就是所谓的BA ...

  4. Jacobian矩阵、Hessian矩阵和Newton's method

    在寻找极大极小值的过程中,有一个经典的算法叫做Newton's method,在学习Newton's method的过程中,会引入两个矩阵,使得理解的难度增大,下面就对这个问题进行描述. 1, Jac ...

  5. Hessian矩阵与牛顿法

    Hessian矩阵与牛顿法 牛顿法 主要有两方面的应用: 1. 求方程的根: 2. 求解最优化方法: 一. 为什么要用牛顿法求方程的根? 问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解 ...

  6. Hessian矩阵【转】

    http://blog.sina.com.cn/s/blog_7e1ecaf30100wgfw.html 在数学中,海塞矩阵是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,一元函数就是二阶导, ...

  7. C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比

    在医院实际环境中,经常遇到有问题的患者,对于一些特殊的场景,比如骨折,肺结节,心脑血管问题 需要图像对比增强来更为清晰的显示病灶助于医生确诊,先看效果: 肺纹理增强: 肺结节增强: 血管对比增强: 骨 ...

  8. Jacobian矩阵和Hessian矩阵

    1.Jacobian矩阵 在矩阵论中,Jacobian矩阵是一阶偏导矩阵,其行列式称为Jacobian行列式.假设 函数 $f:R^n \to R^m$, 输入是向量 $x \in R^n$ ,输出为 ...

  9. Hessian矩阵

    http://baike.baidu.com/link?url=o1ts6Eirjn5mHQCZUHGykiI8tDIdtHHOe6IDXagtcvF9ncOfdDOzT8tmFj41_DEsiUCr ...

随机推荐

  1. day 02 while 循环 格式化输出 运算符 and or not - 编码的初识

    while 循环 while 条件:    循环体 循环如何终止? 改变条件. flag = Truewhile flag:    print('狼的诱惑')    print('我们不一样')   ...

  2. Java编程思想读书笔记 第十章 内部类

    非静态内部类作用: 最基本的作用:名字隐藏和组织代码 用例:内部类不访问外部类的元素时可以直接new.(bad style!) 用例:通过外部类的非静态方法返回内部类的引用,这样隐含了内部类对象和其对 ...

  3. url简单加密

    使用urlencode和urldecode可以对传输的字符串进行简单的加密,也可用于将汉字转换为16进制数字进行传输,每个16进制数前面都带一个% urlencode : 将中文转换为16进制数 ur ...

  4. leetcode 75. Sort Colors (荷兰三色旗问题)

    Given an array with n objects colored red, white or blue, sort them in-place so that objects of the ...

  5. 093、如何用Graylog 管理日志? (2019-05-17 周五)

    参考https://www.cnblogs.com/CloudMan6/p/7821817.html   上节我们已经部署好了 Graylog ,现在学习如何使用他来管理日志.   首先运行测试容器, ...

  6. HRBUST 1849 商品中心

    vjudge 智商掉线... 可以发现一条边能贡献其他点当且仅当两点路径上这个边权值最小,所以如果按照边权从大到小加边,每加一条边就会合并两个联通块,那么一个联通块内的点到另一个联通块的点的权值就都是 ...

  7. MySQL下载~安装教程~这里示例 MySQL 8.0 Command Line Client

    打开 https://www.mysql.com 也可以选择我分享的百度网盘文件 MySQL8.0.16.0 安装包 https://pan.baidu.com/s/1U8DkyJVp9Zvx7Zok ...

  8. Struts2.5以上版本There is no Action mapped for namespace [/] and action name [userAction_login] associated with context path []

    分析:Struts2在2.5版本后添加strict-method-invocation(严格方法访问),默认为true,不能使用动态方法调用功能,故需设为false struts.xml设置如下: & ...

  9. 引用vector里的元素被删除后,引用会怎么样?

    引用的定义不多说,直接看做变量的别名就可以了.有一天写着写着代码,突然想到,如果对vector里某个元素设置引用后,将这个元素从vector里删除会怎么样?我思考了下,认为那个元素会被删除,但是引用还 ...

  10. python中对RSA的加密和解密

    首先,生成一对密钥,并保存 def create_keys(): # 生成公钥和私钥 (pubkey, privkey) = rsa.newkeys(1024) pub = pubkey.save_p ...