目标检测之基础hessian matrix ---海森矩阵
就是海赛(海色)矩阵,在网上搜就有。
在数学中,海色矩阵是一个自变量为向量的实值函数的二阶偏导数组成的方块矩阵,
Hessian矩阵是多维变量函数的二阶偏导数矩阵,H(i,j)=d^2(f)/(d(xi)d(xj))
它是对称的。如果是正定的的可用导数=0的变量组确定它的极小值,负定的确定它的极大值,否则无法确定极值。
1.极值(极大值或极小值)的定义
设有定义在区域D Rn上的函数 y=f(x)=f(x1,...,xn) . 对于区域D的一内点x0=(x10,...,xn0),若存在x0的一个邻域UD,使得
f(x)≤f(x0) x∈U
则称x0是f(x)的极大点,f(x0)称为f(x)的极大值.
相反,如
f(x)≥f(x0) x∈U
则称x0是f(x)的极小点,f(x0)称为f(x)的极小值.
2.海赛(Hessian)矩阵
设函数y=f(x)=f(x1,...,xn)在点x0=(x10,...,xn0)的一个邻域内所有二阶偏导数连续,则称下列矩阵H为f(x)在x0点的海赛矩阵.
显然海赛矩阵是对称的,从而它的所有特征根均为实数.
3.极值

存在的必要条件
若x0是f(x)的极值点,如果存在,则
进一步设在一个邻域内所有二阶导数连续,H为在点x0的海赛矩阵.则
(1)x0是f(x)的极小点 H≥0,即H 的特征根均为非负.
(2)x0是f(x)的极大点H≤0,即H的特征根为非正.
若在x0点有,则称x0是f(x)的临界点,f(x0)为临界值.
4.极值存在的充分条件
设f(x)在x0的一个邻域内所有二阶偏导数连续,且x0是f(x)的临界点(即),H为f(x)在x0点的海赛矩阵,则
(1)H>0,即H为正定矩阵x0是f(x)的极小点.
(2)H<0,即H为负定矩阵x0是f(x)的极大点.
(3)H的特征根有正有负x0不是f(x)的极值点.
(4)其余情况,则不能判定x0是或者不是f(x)的极值点.
5.二元函数极值存在的充分条件
作为4的特例。观察二元函数极值存在的充分条件.
设z=f(x,y)在(x0,y0)的一个邻域内所有二阶偏导数连续, 且,
记 .
那么,海赛矩阵.
(1)若A>0,detH=AC-B2>0,则H正定,从而(x0,y0)是f(x,y)的极小点.
(2)若A<0,detH=AC-B2>0,则H负定,从而(x0,y0)是f(x,y)的极大点.
(3)若detH=AC-B2<0,则H的特征根有正有负,从而(x0,y0)不是f(x,y)的极值点.
(4)若detH=AC-B2=0,则不能判定(x0,y0)是否为f(x,y)的极值点.
6.条件极值
求函数 y=f(x)=f(x1,...,xn) x∈DRn (1),
在约束条件:qk(x)=qk(x1,...,xn)=0,k=1,...,m,m<n (2),
下的极值,称为条件极值问题.
此处,假设雅可比矩阵的秩在D内处处为m,即保证m个约束条件是独立的.
直接代入法
从约束条件(2)中直接解出m个变量,代入到(1)中,将问题化为求n-m个变量函数的直接极值问题.
拉格朗日(Lagrange)乘数法
引入拉格朗日函数:
(3)
其中λ1,...,λm称为拉格朗日乘子,是待定常数.
条件极值问题(1)和(2)可化为求拉格朗日函数(3)的直接极值问题.
(1) 若x0为(1)和(2)的条件极值点,则x0满足方程组
满足上述方程组的点称为条件极值问题的临界点.显然极值点为临界点,而临界点未必一定是极值点.
(2)若x0是临界点, HL为拉格朗日函数L在x0点的海赛矩阵, 则可按4中给出的极值存在的充分条件,由HL的正定、负定或不定,判断x0是极小点、极大点或不是极值点.
http://zhidao.baidu.com/link?url=p1cPMKHMIGidZRYfTDDP5RwTW9sAe0xPk4Y-DQR03htxWCNFElxq1Ql809b17ROi8GKZctHnReZadk_xw5Qpwa
http://blog.csdn.net/memray/article/details/9174705 雅可比和海森矩阵的对比
http://zh.wikipedia.org/wiki/海森矩阵 wiki百科
目标检测之基础hessian matrix ---海森矩阵的更多相关文章
- [转帖]海森矩阵(Hessian matrix)
http://hi.baidu.com/imheaventian/item/c8591b19907bd816e2f98612
- 使用python,pytorch求海森Hessian矩阵
考虑一个函数$y=f(\textbf{x}) (R^n\rightarrow R)$,y的Hessian矩阵定义如下: 考虑一个函数:$$f(x)=b^Tx+\frac{1}{2}x^{T}Ax\\其 ...
- [炼丹术]基于SwinTransformer的目标检测训练模型学习总结
基于SwinTransformer的目标检测训练模型学习总结 一.简要介绍 Swin Transformer是2021年提出的,是一种基于Transformer的一种深度学习网络结构,在目标检测.实例 ...
- 深度学习中目标检测Object Detection的基础概念及常用方法
目录 关键术语 方法 two stage one stage 共同存在问题 多尺度 平移不变性 样本不均衡 各个步骤可能出现的问题 输入: 网络: 输出: 参考资料 What is detection ...
- 机器学习(ML)十六之目标检测基础
目标检测和边界框 在图像分类任务里,我们假设图像里只有一个主体目标,并关注如何识别该目标的类别.然而,很多时候图像里有多个我们感兴趣的目标,我们不仅想知道它们的类别,还想得到它们在图像中的具体位置.在 ...
- 第二十九节,目标检测算法之R-CNN算法详解
Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmenta ...
- [转]CNN目标检测(一):Faster RCNN详解
https://blog.csdn.net/a8039974/article/details/77592389 Faster RCNN github : https://github.com/rbgi ...
- 目标检测从入门到精通—R-CNN详细解析(二)
R-CNN目标检测详细解析 <Rich feature hierarchies for Accurate Object Detection and Segmentation> Author ...
- (二)目标检测算法之R-CNN
系列博客链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html 概述: 1.目标检测-Overfeat模型 2.目标检测-R-C ...
随机推荐
- hdu 6218 Bridge 线段树 set
题目链接 题意 给一个\(2\)x\(n\)的矩阵,每个格子看成一个点,每个格子与相邻的格子间有边.现进行一些加边与删边操作,问每次操作后图中有多少条割边. 思路 参考 https://www.cnb ...
- linux程序运行浅析
例如有一个脚本文件tests.sh,内容如下: #!/bin/bash #This is a sample test. cd /tmp echo "Hello, this is a test ...
- OSX 系统无法直接用 Chrome 双击点击打开本地 html 文件
在 Mac OS X 下,文件经常会被附加上 OS X 特有的扩展属性 ( extend attributes ),具体表现是用 ls -l 查看时会有 @ 的标记,譬如: $ ls -l index ...
- JS-JavaScript String 对象-string对象方法1:fromCharCode()、charCodeAt()
1.fromCharCode(): 可接受一个指定的 Unicode 值,然后返回一个字符串. 1). 语法:String.fromCharCode(n1, n2, ..., nX) (n1, n2 ...
- HDU 4866 Shooting (主席树)
题目链接 HDU 4866 题意 给定$n$条线段.每条线段平行$x$轴,离x轴的距离为$D$,覆盖的坐标范围为$[L, R]$. 现在有$m$次射击行动,每一次的射击行动可以描述为在横坐标$ ...
- 初学Docker容器网络不得不看的学习笔记
一.关于Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...
- Java Hibernate事务并发控制
在产品上线时发现当用户数量大并发性能差,经常发现数据库死锁,经诊断,是由于设置了不正确的事务隔离,可以做如下优级化(这里我们使用JTA事务): JTA具有的3个接口:UserTransaction接口 ...
- springBoot 整合 mybatis+Oracle
现在比较流行的操作数据库操作层框架Mybatis,下面我们就来看看Springboot如何整合mybatis, 之前一直在用xml形式写sql,这次依然用xml的方式感觉这种还是比较灵活方便. 添加m ...
- setTimeout改变this指向(****************************************)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【mybatis】从一个错误,看mybatis中的#和$的区别
事情的发展是这样的: 因为一个需求,需要在java中拼接出一个完整的sql语句,然后将整条sql语句传递给mybatis执行. mapper.java是这样的: int insertMaster(Wo ...