这篇笔记,来自我对支持向量机(SVM)算法原理的学习。支持向量机算法最终归结为二次规划问题,研究二次规划问题,必须先从一般的最优化问题开始分析。如无特别声明,本文最优化问题特指寻求目标函数最小值。

一元函数最优化问题,可以简单归结为极值点必须满足下面两个条件:

dfdx=0(1)\frac{df}{dx}=0\tag{1} dxdf​=0(1)
d2fdx2>0(2)\frac{d^2f}{dx^2}>0 \tag{2} dx2d2f​>0(2)

#条件推广:一阶导数为零
二元函数情形,很容易得到第一个条件(1)式的推广形式:
∂f∂x=0,∂f∂y=0(3)\frac{\partial f}{\partial x}=0, \frac{\partial f}{\partial y}=0\tag{3} ∂x∂f​=0,∂y∂f​=0(3)

#条件推广:二阶导数为正
我们可以认为,沿任意方向 (dx1,dx2)=(cos⁡αdt,sin⁡αdt)(dx_1, dx_2)=(\cos\alpha dt, \sin \alpha dt)(dx1​,dx2​)=(cosαdt,sinαdt),都有
d2fdt2>0(4)\frac{d^2 f}{d t^2} > 0\tag{4} dt2d2f​>0(4)

下面我们推导一下,看看有什么结果,
dfdt=∂f∂x1dx1dt+∂f∂x2dx2dt=∂f∂x1cos⁡α+∂f∂x2sin⁡α(5)\frac{df}{dt}=\frac{\partial f}{\partial x_1}\frac{dx_1}{dt} + \frac{\partial f}{\partial x_2}\frac{dx_2}{dt}=\frac{\partial f}{\partial x_1}\cos \alpha + \frac{\partial f}{\partial x_2}\sin \alpha\tag{5} dtdf​=∂x1​∂f​dtdx1​​+∂x2​∂f​dtdx2​​=∂x1​∂f​cosα+∂x2​∂f​sinα(5)
$$
\frac{d2f}{dt2}=…=\frac{\partial^2 f}{\partial x_12}\cos2 \alpha

  • \frac{\partial^2 f}{\partial x_1 \partial x_2}\cos \alpha \sin \alpha
  • \frac{\partial^2 f}{\partial x_2 \partial x_1}\cos \alpha \sin \alpha
  • \frac{\partial^2 f}{\partial x_22}\sin2 \alpha \tag{6}
    $$

对于所有的 α\alphaα ,要求上式恒大于零,那么函数的这四个二阶偏导应该满足什么条件呢?

#Hessian矩阵
令 d=(cos⁡α,sin⁡α)d=(\cos \alpha, \sin \alpha)d=(cosα,sinα),则有,
dT(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)d>0(7)d^T \left( \begin{matrix} \frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\ \frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2} \end{matrix} \right) d > 0\tag{7} dT(∂x12​∂2f​∂x2​∂x1​∂2f​​∂x1​∂x2​∂2f​∂x22​∂2f​​)d>0(7)
其中,矩阵
H(f)=(∂2f∂x12∂2f∂x1∂x2∂2f∂x2∂x1∂2f∂x22)(8)H(f)=\left( \begin{matrix} \frac{\partial^2f}{\partial x_1^2} & \frac{\partial^2f}{\partial x_1 \partial x_2} \\ \frac{\partial^2f}{\partial x_2 \partial x_1} & \frac{\partial^2f}{\partial x_2^2} \end{matrix} \right)\tag{8} H(f)=(∂x12​∂2f​∂x2​∂x1​∂2f​​∂x1​∂x2​∂2f​∂x22​∂2f​​)(8)
称为 Hessian 矩阵,如果函数f(x)f(x)f(x)二阶导数连续,则该矩阵实对称矩阵。我们看到,二元函数取得极小值的另一个条件的推广形式是,函数的 Hessian 矩阵是正定矩阵。其实,这个结论很容易推广到 nnn 原函数。

由前面讨论可知,(7)式表示函数在方向 ddd 的二阶导数,这算是 Hessian 矩阵的几何意义吧。

#多元函数极值的判定
如果实值多元函数 f(x)f(x)f(x) 二阶连续可导,并且在临界点 x‾\overline xx 处梯度(一阶导数)等于0,即 ∇f(x‾)=0\nabla f(\overline x)=0∇f(x)=0 , 为驻点。仅通过一阶导数无法判断在临界点 处是极大值还是极小值。

记 f(x)f(x)f(x) 在 x‾\overline xx 点处的 Hessian 矩阵为 H(x‾)H(\overline x)H(x) 。由于 f(x)f(x)f(x) 在 x‾\overline xx 点处连续,所以 H(x‾)H(\overline x)H(x) 是一个 n×nn \times nn×n 的对称矩阵。对于 H(x‾)H(\overline x)H(x) ,有如下结论:

  1. 如果 H(x‾)H(\overline x)H(x) 是正定矩阵,则临界点 x‾\overline xx 处是一个局部的极小值。
  2. 如果 H(x‾)H(\overline x)H(x) 是负定矩阵,则临界点 x‾\overline xx 处是一个局部的极大值。
  3. 如果 H(x‾)H(\overline x)H(x) 是不定矩阵,则临界点 x‾\overline xx 处不是极值。

#正定矩阵的判定

接下来的问题就是如何判断一个矩阵是否为正定矩阵了,这方面参考资料很多,本文不再赘述。


原创不易,如有帮助,敬请点赞、关注、收藏,谢谢支持!

多元函数极值、Hessian矩阵、正定矩阵相关推荐

  1. 协方差矩阵—Hessian矩阵—正定矩阵

    文章目录 一.基本概念 1.1 协方差矩阵 及推导 1.2 Hessian矩阵 1.3 Hessian矩阵 示例 1.3 正定矩阵定义及性质 1.4 正定矩阵 示例 一.基本概念 1.1 协方差矩阵 ...

  2. Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

    Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵) 算法背景介绍 Hessian 矩阵与泰勒多项式 关于求t 导数与中心点.亚像素点 高斯函数作用 文献 算法背景介绍 ...

  3. 多维梯度法(Multidimensional Gradient Methods)求多元函数极值或局部最大值

    多维梯度法 利用优化函数的导数信息来指导搜索 与直接搜索方法相比,更快地找到解决方案 需要对解决方案进行良好的初步估计 目标函数需要是可微的 梯度法 首先介绍一下梯度法. 梯度是一个向量算子,用▽表示 ...

  4. Hessian矩阵与多元函数极值

    Hessian矩阵与多元函数极值 海塞矩阵(Hessian Matrix),又译作海森矩阵,是一个多元函数的二阶偏导数构成的方阵.尽管它是一个具有悠久历史的数学成果,但是在机器学习和图像处理(例如SI ...

  5. matlab 海塞矩阵 多元函数求极值,基于Hessian矩阵的多元函数极值问题.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp电子工程/通信技术&nbsp>&nbsp无线电电子学/电信技术 基于Hessian矩阵的多元 ...

  6. 矩阵的二次型,矩阵的迹、正定矩阵、Hessian矩阵、实对称

    一.二次型: 1.1 定义 含有nnn个变量x1,x2,-,xnx_1,x_2,\dots,x_nx1​,x2​,-,xn​的二次齐次函数(如果变量乘以一个系数,则新函数会是原函数再乘上系数的某次方倍 ...

  7. python sympy求多元函数的梯度、Hessian矩阵

    1 求梯度 sympy实际上提供了求梯度的方法,但个人认为不是很直观,求出的是∂f∂xi⃗+∂f∂yj⃗+∂f∂zk⃗\frac{\partial f}{\partial x} \vec {i}+\f ...

  8. 极限和连续+偏导+方向导数+可微+梯度+链式法则+hessian矩阵

    文章目录 前言 一.极限和连续 二.偏导数 三.方向导数 四.可微 五.梯度 六.链式法则 七.Hessian矩阵 前言 多元函数 y对某一个变量的导数是偏导数: 偏导数的结果可以推广到任意方向,也就 ...

  9. hessian矩阵特征值

    研究hessian矩阵去噪的过程中想了解下hessian矩阵特征值的意义及用法 Hessian矩阵的特征值:就是形容其在该点附近特征向量方向的凹凸性,特征值越大,凸性越强. 对于二维图像的某点的hes ...

最新文章

  1. linux 6.8 dns,CentOS6.8下安装DNS服务器
  2. Php Fatal error: Allowed memory size of 33554432 bytes exhausted 的解决办法
  3. ADAS方案设计成功关键:图像处理技术
  4. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )
  5. for循坏的穷举与迭代,while、do while循环
  6. java 向上取整_java 中的异常处理和常用类使用
  7. //输入学生人数,挨个输入姓名,身高,年龄,求平均年龄,然后按身高降序排列输出...
  8. JavaScript新手入门教程大全~~~
  9. 金哥和你一起学模型压缩——结构篇
  10. Android RecyclerView封装下拉刷新与上拉加载更多
  11. .Net: C#中的委托(Delegate)和事件(Event)
  12. 10张思维导图--javascript
  13. 读《南怀瑾讲人生哲理》
  14. 高性能web 架构之 mysql 读写分离
  15. 17.scrapy框架简例使用
  16. 解决iPhone连接电脑,照片每次弹出
  17. 数据库第四次实验报告
  18. Linux系统命令查看edid,Linux下得到显示屏参数的方法
  19. 什么叫首充?关于流量卡首充的说明!
  20. android 摄像头 测距,GitHub - infonous/Everest: Android 手机拍照测距

热门文章

  1. 李彦宏夫人马东敏-----转自百度百科
  2. TP5 使用GD库将一个头像缩略并处理成圆形png
  3. vs2019怎么样建立头文件_VS2019编译运行 C/C++ 详细教程——同时美化你的 IDE
  4. 起码北京, 不相信眼泪
  5. 金红石型TiO2单晶基片|金红石光学极二氧化钛TiO2单晶;氧化镓单晶衬底|Ga2O3单晶衬底
  6. linux内核优盘配置,mini2440建立交叉编译环境+配置linux内核
  7. 数据质量管理系统有效清理垃圾数据
  8. 【电子购书商城】(二)Login登录功能的实现
  9. python中fact用法_Python covariance.EllipticEnvelope方法代码示例
  10. html 右端对齐,html标题右对齐