- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想计算 Gradient
和 Hessian
关于变量的以下函数 x
和 y
.有人可以帮忙吗?非常感谢。
我从 github 中找到相关代码用于Rosenbrock函数的计算。
def objfun(x,y):
return 10*(y-x**2)**2 + (1-x)**2
def gradient(x,y):
return np.array([-40*x*y + 40*x**3 -2 + 2*x, 20*(y-x**2)])
def hessian(x,y):
return np.array([[120*x*x - 40*y+2, -40*x],[-40*x, 20]])
更新:
from sympy import symbols, hessian, Function, N
x, y = symbols('x y')
f = symbols('f', cls=Function)
f = (1/2)*np.power(x, 2) + 5*np.power(y, 2) + (2/3)*np.power((x-2), 4) + 8*np.power((y+1), 4)
H = hessian(f, [x, y]).subs([(x,1), (y,1)])
print(np.array(H))
print(N(H.condition_number()))
输出:
[[9.00000000000000 0]
[0 394]]
43.7777777777778
How to get the Gradient and Hessian | Sympy https://docs.sympy.org/dev/modules/vector/fields.html
最佳答案
表达式有 hessian
函数,矩阵有 jacobian
方法。
这里是你的问题的函数和变量:
>>> from sympy.abc import x, y
>>> from sympy import ordered, Matrix, hessian
>>> eq = x**2/2 + 5*y**2 + 2*(x - 2)**4/3 + 8*(y + 1)**4
>>> v = list(ordered(eq.free_symbols)); v
[x, y]
我们可以编写自己的梯度帮助程序,它将创建一个矩阵并在其上使用 jacobian
方法:
>>> gradient = lambda f, v: Matrix([f]).jacobian(v)
那么数量可以计算为:
>>> gradient(eq, v)
Matrix([[x + 8*(x - 2)**3/3, 10*y + 32*(y + 1)**3]])
>>> hessian(eq, v)
Matrix([
[8*(x - 2)**2 + 1, 0],
[ 0, 96*(y + 1)**2 + 10]])
关于python - 在 Python 中定义梯度和 hessian 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60164477/
我有一个需要良好二进制协议(protocol)的新项目。 我正在考虑使用 Hessian ,除非有人有更好的想法。 我正在阅读他们的一些文档,但它并不像我想象的那么简单,所以我有几个简单的问题。 主页
当我们需要计算双梯度或Hessian时,在tensorflow中,我们可以使用tf.hessians(F(x),x) ,或使用tf.gradient(tf.gradients(F(x),x)[0],
我正在尝试在两个 Android 设备之间建立基本的 Hessian 通信。 Client 发送消息的AsyncTask public class AsyncHessian extends Async
1、hessian是什么? 看到这个单词我还不知道怎么读,音标是[hes]读黑森。 Hessian是一个轻量级的远程的数据交换工具,使用简单的方法提供了RMI(远程方法调用
如何使用 Hessian 二进制协议(protocol)创建文件上传/下载 servlet?对于大于 1GB 的文件。我为 Hessian with large binary data 创建测试, 但
我们正在将生产环境转移到客户的数据中心。目前,为了解释该场景,我们有一个 Apache 负载均衡器,它对托管 2 个 Grails 应用程序的 2 个 Apache Tomcat 应用程序服务器的请求
Hessian 协议(protocol)有超时吗? 注意:我没有使用 Hessian4J。相反,我使用 Spring 导出 Hessian 服务,并使用我自己的代码来处理 Hessian 请求。 最佳
我正在使用 Hessian 调用 Java 方法,是否还可以在发送消息之前添加 HTTP header - 这样我就可以将“授权”添加到消息 header 中? 我正在使用 Spring,因此我当前获
已关注 writing hessian serivce我已经在我的 Spring 应用程序中设置了 Hessian Web 服务及其工作。 使用 org.springframework.remotin
我想提取血管中的中心线像素。起初我使用 ginput(1) 命令选择了靠近容器边缘的种子点。这提供了起点并指定了需要执行分析的血管段上的感兴趣区域 (ROI)。 figure; imshow(Igre
有没有办法在SAS的proc逻辑中获得Hessian矩阵?或者哪个是从 proc logitic 开始计算它的选项? 我一直在阅读函数文档,但看不到有办法将它包含在输出表中。 最佳答案 我搜索了 SA
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我必须调用 Hessian 服务来获取大量数据,该服务非常慢。因为 Hessian 调用不会更新数据,结果也很少改变。我想知道是否可以在预定义的时间内根据服务名称和参数缓存结果。我将 Hessian
在使用 scipy.optimize.minimize 和 trust-constr 方法时,我得到了这个 UserWarning: scipy\optimize\_hessian_update_s
Hessian 的官方 J2ME 实现似乎有严重的局限性:不支持复杂的对象。 在线文档中没有提到这个局限性,但是如果你谷歌“hessian j2me”你会找到关于这个的帖子问题。虽然谷歌没有找到解决方
我正在使用牛顿法实现回归的梯度下降,如《机器学习概率视角》(Murphy)一书中的 8.3 部分所述。我在此实现中使用二维数据。我正在使用以下符号。 x = 输入数据点 m*2 y = 对应于输入数据
我正在研究处理从 Spring Hessian 连接中断中恢复的方法。如果连接断开,Hessian 代理可能抛出哪些异常? 最佳答案 这是一个示例堆栈跟踪,每次您尝试连接到不可用的 Hessian 远
我有一个 Java 1.4 网络应用程序,它使用 Hessian 来进行网络服务调用。我试图将它写得尽可能健壮和透明。在调用代理时,我不希望任何 hessian 异常使其脱离我的委托(delegate
我正在使用 spring 3.1.0、com.springsource.com.caucho-3.2.1.jar 和 tomcat-6.0.33 双方(客户端/服务器)。除了长时间接受服务(超过 9/
我有一个张量 X,大小为 M x D。我们可以将 X 的每一行解释为训练样本,将每一列解释为一个特征。 X 用于计算大小为 M x 1 的张量 u(换句话说,u 依赖于计算图中的 X)。我们可以将其解
我是一名优秀的程序员,十分优秀!