矩阵正定性的判断,Hessian矩阵正定性在GD中的应用

这是在看别人面筋时看面试官问的一道题,记录一下

  • 矩阵正定性的判断

判断一个矩阵是否正定,可以看此矩阵的所有特征值是否不小于0,如果满足条件,则判定为半正定,若所有特征值都大于0,则判定为正定。

  • Hessian矩阵正定性在GD中的应用

Hessian 矩阵是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。Hessian 矩阵常用于牛顿法解决优化问题,利用Hessian 矩阵可判定多元函数的极值问题。在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到Hessian 矩阵。

在判断优化算法可行性时Hessian 矩阵的正定性起很大的作用。若Hessian 矩阵正定,则函数的2阶偏导恒大于0,函数的变化率处于递增状态,在牛顿法等GD方法中,Hessian 矩阵很容易判断函数是否可收敛到局部或全局最优。

 

还看到了问牛顿法和拟牛顿法的区别

  • 牛顿法和拟牛顿法

牛顿法优点:

                    1)收敛速度快

                     2)迭代次数少

牛顿法缺点:

                    1)Hessian 矩阵稠密

                    2)迭代计算量大,占存储空间大

拟牛顿法特点:

引入了Hessian 矩阵的近似矩阵,用Hessian 矩阵的逆矩阵代替Hessian 矩阵。虽然不能像牛顿法那样保证最优化的方向,始终正定,但是算法始终朝着最优化的方向在搜索。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hessian矩阵Hessian Matrix)是一个二阶偏导数矩阵,它可以用来描述一个函数的局部曲率特性。在图像处理Hessian矩阵被广泛应用于边缘检测、形状分析、纹理分析、特征提取等领域。 在血管增强Hessian矩阵可以用来检测血管的心线,因为血管的心线通常是血管横截面的最大曲率方向。通过计算Hessian矩阵的特征值和特征向量,可以确定血管心线的方向和位置,并用于血管分割、血管重建等应用。 OpenCV是一个开源的计算机视觉库,它提供了丰富的图像处理函数和工具,可以方便地实现Hessian矩阵的计算和应用。以下是使用OpenCV实现Hessian矩阵的简单示例代码: ```python import cv2 import numpy as np # 读取图像 img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE) # 计算Hessian矩阵的特征值和特征向量 hessian = cv2.HessianMatrixEigenvalues(img, sigma=3) # 根据特征值和特征向量确定血管心线的方向和位置 eigenvector = hessian[:, :, 1] eigenvalue = hessian[:, :, 0] vesselness = np.exp(-(eigenvalue[0]*eigenvalue[1])/(2*(sigma**2))) * np.abs(eigenvector[0]) # 显示结果图像 cv2.imshow('Vesselness', vesselness) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在上述代码,使用cv2.HessianMatrixEigenvalues函数计算Hessian矩阵的特征值和特征向量,然后根据特征值和特征向量计算血管心线的方向和位置。最后将结果图像显示出来。 需要注意的是,Hessian矩阵的计算需要选择合适的尺度参数sigma,通常需要进行多次尺度的计算,以得到更加准确的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值