标签: hessian-matrix

R:如何从nlme调用中获取Hessian

library(nlme)
fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
            data = Loblolly,
            fixed = Asym + R0 + lrc ~ 1,
            random = Asym ~ 1,
            start = c(Asym = -10311111, R0 = 8.5^4, lrc = 0.01),
            verbose = TRUE)

**Iteration 1
LME step: Loglik: -312.2787, nlminb iterations: 23
reStruct  parameters:
    Seed 
10.41021 
Error in nlme.formula(height ~ SSasymp(age, Asym, R0, lrc), data = Loblolly,  : 
  Singularity in backsolve at level 0, block 1
Run Code Online (Sandbox Code Playgroud)

我试图nlme通过观察粗麻布来研究为什么有些模型不能成功.有办法以某种方式提取这个矩阵吗?

我也在查看fdHess函数(也来自同一个pacakge),"使用有限差分评估一个近似Hessian和一个标量函数的梯度"这是否等同于函数中当前实现的内容nlme …

r nlme hessian-matrix

17
推荐指数
1
解决办法
450
查看次数

n维数组的numpy二阶导数

我有一组模拟数据,我想在n维中找到最低的斜率.数据的间距沿着每个维度是恒定的,但不是全部相同(为了简单起见,我可以改变它).

我可以忍受一些数字不准确,尤其是边缘.我非常希望不生成样条并使用该衍生物; 只要原始价值就足够了.

可以numpy使用该numpy.gradient()函数计算一阶导数.

import numpy as np

data = np.random.rand(30,50,40,20)
first_derivative = np.gradient(data)
# second_derivative = ??? <--- there be kudos (:
Run Code Online (Sandbox Code Playgroud)

这是关于拉普拉斯与粗麻布矩阵的评论; 这不再是一个问题,而是为了帮助理解未来的读者.

我使用2D函数作为测试用例来确定阈值以下的"最平坦"区域.以下图片显示了使用以下最小值second_derivative_abs = np.abs(laplace(data))和最小值之间的结果差异:

second_derivative_abs = np.zeros(data.shape)
hess = hessian(data)
# based on the function description; would [-1] be more appropriate? 
for i in hess[0]: # calculate a norm
    for j in i[0]:
        second_derivative_abs += j*j
Run Code Online (Sandbox Code Playgroud)

色标表示功能值,箭头表示一阶导数(梯度),红点表示最接近零的点,红线表示阈值.

数据的生成器函数是( 1-np.exp(-10*xi**2 - yi**2) )/100.0使用生成的xi,yi生成的np.meshgrid.

拉普拉斯:

拉普拉斯解决方案

黑森州:

粗麻布解决方案

python numpy derivative hessian-matrix

16
推荐指数
2
解决办法
2万
查看次数

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

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

我的问题中的雅可比矩阵是稀疏的,下三角形.是否有可以使用这些方法的CUDA库,或者我是否必须自己从小册子中编写这些方法?

高斯 - 牛顿非线性最小二乘求解器,Levenberg-Marquardt或Powell的方法求解器是否可用于CUDA库(免费或非免费)?

cuda gpu linear-algebra mathematical-optimization hessian-matrix

10
推荐指数
1
解决办法
6625
查看次数

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

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

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

python math hessian-matrix

8
推荐指数
1
解决办法
2249
查看次数

OpenCV - SURF Hessian最小阈值

我正在开发一个OpenCV项目,使用surf来检测图像中的特征.以这种方式初始化检测器

int minHessian = 100;

SurfFeatureDetector detector( minHessian );
Run Code Online (Sandbox Code Playgroud)

有人能解释一下hessian阈值的含义(以数学和实践的方式)吗?

c++ opencv surf feature-detection hessian-matrix

8
推荐指数
2
解决办法
1万
查看次数

Hessian矩阵的图像

我想知道图像的Hessian矩阵提供了哪些信息?它是否提供稳定点的信息?什么是Hessian矩阵用于?

matlab opencv image-processing computer-vision hessian-matrix

8
推荐指数
1
解决办法
9651
查看次数

计算粗麻布如何用于神经网络学习

Hessian在优化神经网络的学习过程时,任何人都可以用一种简单且不太数学的方式向我解释什么是实践中的工作方式和工作方式?

artificial-intelligence backpropagation neural-network hessian-matrix

8
推荐指数
1
解决办法
4017
查看次数

SIFT关键点位置

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

image-processing sift hessian-matrix

6
推荐指数
1
解决办法
834
查看次数

Hessian在SAS?

有没有办法在SAS的proc物流中获得Hessian矩阵?或者哪一个可以选择计算它从离开proc procitic?

我一直在阅读函数文档,但无法看到有一种方法可以将它包含在输出表中.

sas glm sas-iml logistic-regression hessian-matrix

5
推荐指数
1
解决办法
279
查看次数

将 Hessian 矩阵定义为零

在使用 scipy.optimize.minimize 和 trust-constr 方法时,我得到了这个 UserWarning:

 scipy\optimize\_hessian_update_strategy.py:187: UserWarning: delta_grad == 0.0. Check if the approximated function is linear. If the function is linear better results can be obtained by defining the Hessian as zero instead of using quasi-Newton approximations. 'approximations.', UserWarning)
Run Code Online (Sandbox Code Playgroud)

我有一个线性函数,所以我想尝试将粗麻布设置为零。但这是如何运作的呢?我尝试了最简单的方法,以“hess = None”作为参数。好吧,一次糟糕的尝试。

这是调用求解器的行:

solution = scopt.minimize(minimizeFunction,initialGuess ,method='trust-constr', constraints=cons,options={'disp':True,'verbose':3},bounds=bnds)
Run Code Online (Sandbox Code Playgroud)

python python-3.x hessian-matrix scipy-optimize

5
推荐指数
1
解决办法
4932
查看次数