问题标签 [hessian-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2817 浏览

python - 实现二阶导数的自动微分:遍历计算图的算法?

我正在尝试为 Python 统计包实现自动微分(问题公式类似于优化问题公式)。

计算图是使用运算符重载和工厂函数生成的,用于 sum()、exp() 等操作。我已经使用反向累积实现了梯度的自动微分。但是,我发现实现二阶导数(Hessian)的自动微分要困难得多。我知道如何进行单独的第二部分梯度计算,但是我很难想出一种智能的方法来遍历图形并进行累积。有谁知道为二阶导数或开源库提供自动微分算法的好文章,这些算法实现了我可能会尝试学习的相同功能?

0 投票
1 回答
1656 浏览

matlab - 牛顿法在matlab中进行多元优化

当方程无法数值求解时,如何计算梯度和 hessian 矩阵?

我的最小化方程是:

我尝试了 MATLAB 函数“diff”来计算梯度和粗麻布。但是推导比一个人可以处理的要长得多。如何编写计算粗麻布或梯度的代码?

0 投票
1 回答
1276 浏览

image-processing - SIFT 中的边缘响应去除

在 Lowe 的论文第 4.1 节中,使用 Hessian 矩阵的主曲率比用于消除可能属于边缘的点。

论文没有具体说明Hessian矩阵是在原图还是DoG上计算的。在Rob Hess 的实现中,它以指定的八度和间隔应用于 DoG。

我的问题是为什么在 DoG 上应用 Hessian 矩阵来识别潜在边缘的点?

我从Utkarsh 的教程中了解到,Hessian 应该类似于 Harris 角点检测。不同之处在于 Hessian 矩阵是二阶导数。所以我得出结论,应该将 Hessian 应用于原始图像。

你能指出我解释如何使用 Hessian 的相关资源吗?

0 投票
2 回答
1643 浏览

wolfram-mathematica - 如何编译计算 Hessian 的函数?

我正在寻找如何编译计算对数似然的 Hessian 函数的函数,以便它可以有效地与不同的参数集一起使用。

这是一个例子。

假设我们有一个计算 logit 模型的对数似然函数,其中 y 是向量,x 是矩阵。beta 是参数向量。

给定以下数据,我们可以按如下方式使用它

我们可以把它的粗麻布写成如下

出于效率原因,我可以将原始似然函数编译如下

产生与 pLike 相同的答案

鉴于我有兴趣多次评估它,我正在寻找一种简单的方法来获得类似的 hessian 函数的编译版本。

0 投票
1 回答
640 浏览

matlab - Fminunc 返回凸目标的不定 Hessian 矩阵

在最小化凸目标函数时,这是否意味着最小化器处的 Hessian 矩阵应该是 PSD?如果 Matlab 中的 fminunc 返回一个不是 psd 的粗麻布,这是什么意思?我使用了错误的物镜吗?

0 投票
1 回答
1019 浏览

image-processing - SIFT关键点位置

我目前在SIFT工作,我已经生成了高斯和极值图像层的差异。谁能向我解释如何使用 Hessian 矩阵来消除低对比度关键点?

0 投票
1 回答
6970 浏览

image - Hessian矩阵的特征向量和特征值

我想提取容器中的中心线像素。起初,我使用 ginput(1) 命令选择了靠近血管边缘的种子点。这提供了起点并指定了需要执行分析的血管段上的感兴趣区域 (ROI)。

然后将选定的种子点用作直径小于容器预期直径的圆的中心,以使该圆不与相对边缘相交。

问题:要计算该圆圆周上的光强度的 Hessian 矩阵,并且必须获得特征向量。我计算了 Dxx,Dyy,Dxy 使用:

我需要在 MATLAB 中编写代码来解决以下问题“对于容器内的一个点,对应于最大特征值的特征向量垂直于边缘,对应于最小特征值的特征向量指向沿血管的方向。

圆上具有最大方向变化的前两个连续向量被认为是反映血管边界的像素。跟踪方向上的点被认为是后续圆的中心。重复这个过程给出了血管边界的估计。

如上所述,我将如何计算 Hessian 矩阵的最大特征值及其对应的特征向量来选择新的种子点。


感谢您的回复 。我使用 eig2image.m 来查找图像上每个点的特征向量(在我的图像中,同心圆区域有灰度值,背景为黑色)。

其中 Ix 和 Iy 是最大的特征向量。
但是当我尝试使用以下方法绘制特征向量时:

我还可以看到黑色背景上的向量应该为零!

您能否回复我如何在图像顶部绘制特征向量。

0 投票
1 回答
263 浏览

ruby - Ruby Matrix::特征值分解错误

我查看了给定矩阵的特征向量矩阵,但是当我尝试对其求逆时,我在eigenvector_matrix_inv().

它不应该是单数,如检查Mathematica

给予

我究竟做错了什么 ?

我应该特别注意 Ruby 中的一些特殊内容吗?

0 投票
1 回答
1706 浏览

c - CHOLMOD 稀疏矩阵 Cholesky 分解:不正确的因素?

我一直在使用 CHOLMOD 分解矩阵 A 并求解系统 Ax = b,因为 A 是 Hessian 矩阵(打印在下面)和 b = [1, 1, 1] 由cholmod_ones函数创建。

不幸的是,x 的解决方案是不正确的(应该是 [1.5, 2.0, 1.5])并且确认我然后将 A 和 x 相乘并没有得到 [1, 1, 1]。我不太明白我做错了什么。

此外,我查看了因素,矩阵元素的值也没有意义。

输出

代码

iterate_hessian()是一个外部函数,它返回读入 CHOLMOD hessian 矩阵的双精度数。

代码的入口点cholesky_determinant是用一个参数调用的,该参数给出(方形)矩阵的维数。

0 投票
4 回答
7677 浏览

cuda - 使用 CUDA 以非线性最小二乘方式求解方程组

使用 CUDA,我想用非线性最小二乘求解器求解方程组。这些方法在一本优秀的小册子中进行了讨论,可以在这里下载。

我的问题中的雅可比矩阵是稀疏的下三角矩阵。是否有可用于这些方法的 CUDA 库,还是我必须自己从手册中编写这些方法?

CUDA 库(免费或非免费)中是否提供 Gauss-Newton 非线性最小二乘求解器、Levenberg-Marquardt 或 Powell 方法求解器?