问题标签 [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 投票
0 回答
43 浏览

c# - 尝试反转粗麻布矩阵时系统抛出异常

我正在尝试来自 jamesmccaffrey 网络的一些关于逆矩阵(链接)的代码。我用于反转 nxn hessian 矩阵,但出现异常:"Cannot use Doolittle's method" in "static double[][] MatrixDecompose()" method.这是我使用的代码:

我希望该MatrixInverse()方法返回反黑森矩阵。

0 投票
0 回答
265 浏览

python - 如何在 TensorFlow 2.0 中计算二阶导数(Hessian 的对角线)

我想计算 TensorFlow 2.0 中所有变量的所有分量的二阶导数(对角粗麻布)。我也想为这样的功能签名。

我让它在 Google Colab 上以渴望模式工作(也进行了一些测试):

但是这个实现很慢,我无法让它与 Autograph 一起使用。有没有人有更好的方法来做到这一点?有没有办法在不参考磁带的情况下获取张量的单个分量的梯度?提前致谢!

以下是 TF 1.x 的答案:如何在 Tensorflow 中计算所有二阶导数(仅 Hessian 矩阵的对角线)?, Tensorflow:计算关于高秩张量的 Hessian 矩阵(仅对角线部分)

0 投票
1 回答
4807 浏览

python - 为 XGBoost.XGBRegressor 创建自定义目标函数

所以我对 python 中的 ML/AI 游戏比较陌生,我目前正在解决一个围绕 XGBoost 的自定义目标函数实现的问题。

我的微分方程知识相当生疏,所以我创建了一个自定义 obj 函数,它具有梯度和粗麻布,它对作为 XGBRegressor 中的默认目标函数运行的均方误差函数进行建模,以确保我正确地完成了所有这些。问题是,模型的结果(错误输出很接近,但在大多数情况下并不相同(并且在某些点上有所偏离)。我不知道我做错了什么,或者如果我这样做怎么可能我正在正确地计算事情。如果你们都可以看看这个,也许可以深入了解我错在哪里,那就太棒了!

没有自定义函数的原始代码是:

我的 MSE 自定义目标函数如下:

文档参考在这里

谢谢!

0 投票
1 回答
271 浏览

calculus - 什么是 Hessian 矩阵?

我知道 Hessian 矩阵是一种涉及多个自变量的函数的二阶导数检验。如何找到涉及多个变量的函数的最大值或最小值?它是使用 Hessian 矩阵的特征值还是它的主要子矩阵找到的?

0 投票
0 回答
563 浏览

r - 为什么我在优化函数中从 hessian 矩阵中得到负方差

我尝试估计广义伽马分布的 mle 参数。

我使用下限等于 1 的 optim 函数(因为参数必须为正)和 BFGS 方法。

最初,我估计对数似然函数如下:

我使用负对数似然函数来使用“优化”并找到最小值。

然后我使用优化功能。

结果是:

我试图估计 se,我注意到 Var(alpha)=-9.998753e-01 <0。为什么会这样?我应该改变什么?

0 投票
2 回答
970 浏览

pytorch - 找不到导致“RuntimeError:梯度计算所需的变量之一已被就地操作修改:”的就地操作

我对 PyTorch 比较陌生,我正在尝试从使用 Hessian 矩阵近似一个术语的学术论文中重现一种算法。我已经设置了一个玩具问题,以便我可以将完整 Hessian 的结果与近似值进行比较。我找到了这个要点并一直在使用它来计算算法的完整 Hessian 部分。

我收到错误消息:“RuntimeError:梯度计算所需的变量之一已被就地操作修改。”

我浏览了简单的示例代码、文档和许多关于此问题的论坛帖子,但找不到任何就地操作。任何帮助将不胜感激!

这是我的代码:

这是堆栈跟踪的输出:

0 投票
1 回答
557 浏览

python - 如何在 python 中实现负二项式损失函数以在轻型 GBM 中使用?

我有一个机器学习问题,我相信负二项式损失函数很适合,但是轻量级 gbm 包没有它作为标准,我正在尝试实现它,但我不知道如何得到 Gradient 和 Hessian,有人知道我该怎么做吗?我设法得到了损失函数,但我无法得到梯度和粗麻布。

现在如何获得梯度和Hessian?

任何人都可以帮忙吗?

0 投票
1 回答
192 浏览

r - R:LTM:当标准化失败时,如何使行为异常的 hessian 矩阵收敛?

我尝试使用 R 包 ltm 拟合分级响应模型。问题是 Hessian 矩阵不收敛,我不明白为什么。这是我使用的代码:

这会导致错误消息:“Hessian 矩阵在收敛时包含无限或缺失值;不稳定的解决方案。”

我已start.val = "random"按照 grm 帮助页面中的建议进行了添加,并尝试按照此处的建议使用缩放变量standardize(),但没有成功。

罪魁祸首是变量 Apathy8,因为没有该变量代码可以正常工作。Hessian 矩阵的输出还显示最后五列出现故障。

有趣的是,我测试过的许多数据样本都会出现这个问题。我有 1000 次观察,但即使有 60 次随机观察,问题仍然存在,例如以下(链接到 csv):

有谁知道如何解决这个问题?

0 投票
0 回答
691 浏览

python - 使用Python的3D图像的高斯特征值的Hessian

我有一个 3D 图像,我想计算这个图像的高斯特征值的 Hessian。我想为每个体素获得 Hessian 近似的三个特征值。这个功能在图像处理中似乎很常见。

是否存在此功能的现有实现(例如用于拉普拉斯计算的 scipy.ndimage.laplace)?有没有一个与计算平行的?

我尝试通过 numpy 操作手动完成,但它不是最佳的,因为:

  1. 我必须计算所有体素上的 Hessian,这需要时间和大量 RAM

  2. 输出数据似乎非常嘈杂(可能是因为操作期间的数据类型转换)

  3. 特征值之和不等于拉普拉斯算子。

理想情况下,我只是在寻找现有的实现,我将此代码作为最后一条语句的示例。

0 投票
1 回答
44 浏览

python - 有人知道如何使这段代码工作吗?

我正在尝试使用最大似然方法来估计多重线性概率模型(killer_apps 是有限因变量)。因此,在这段代码中,我试图估计回归量和各自的标准误差。谁能告诉我为什么我会收到这个错误,一般来说,我做错了什么?我试图从用于简单线性概率模型的示例中扩展代码