Fminunc 返回凸目标的不定 Hessian 矩阵
在最小化凸目标函数时,是否意味着最小化处的 Hessian 矩阵应该是 PSD?如果 Matlab 中的 fminunc 返回一个不是 psd 的 hessian 矩阵,这意味着什么?我使用了错误的目标吗?
In minimizing a convex objective function, does it mean that the Hessian matrix at minimizer should be PSD? If fminunc in Matlab returns a hessian which is not psd what does it mean? am I using a wrong objective?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在 matlab 以外的环境中这样做。
非 PSD 意味着您无法对其进行 Cholesky 变换(即矩阵平方根),因此您无法使用它来获取标准误差等。
为了获得良好的粗麻布,您的目标函数必须非常平滑,因为您要进行二阶导数,这会加倍放大任何噪声。如果可能,最好使用解析导数而不是有限差分。也就是说,如果您确实需要粗麻布。
I do that in environments other than matlab.
Non-PSD means you can't take the Cholesky transform of it (i.e. the matrix square-root), so you can't use it to get standard errors, for example.
To get a good hessian, your objective function has to be really smooth, because you're taking a second derivative, which doubly amplifies any noise. If possible, it is best to use analytic derivatives rather than finite-difference. That is, if you really need the hessian.