Supplying gradient for the subset of parameters

2 次查看(过去 30 天)
Hi, I would like to ask if it is possible to supply analytical gradient for some parameters when optimising, using let's say fmincon. Support pages as well as documentation provide examples where user specifies analytical gradient for every parameter over which some function is optimised. In my problem, it is likely that analytical gradients are easy just for some parameters, therefore, I would like to help the optimisation by including this information and then rely on optimisation toolboxes to compute gradients for other parameters.
I may have a simple questions but I could not find the answer to.
Appreciate your help

采纳的回答

Alan Weiss
Alan Weiss 2022-8-11
The short answer is no: there is no provision to provide analytic gradients for a subset of the parameters. I cannot think of a workaround, either.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 个评论
zym
zym 2022-8-11
编辑:zym 2022-8-11
Thanks a lot for the prompt response. I happenned to get stuck on this problem for the maximum likelihood estimation.
For the MLE I am using kalman filter to obtain loglikelihood. The likelihood with Kalman filter tends to not have an easy expression for the gradient as disccused by Durbin and Koopman "Time series analysis by state space methods" p.180. Authors argue that using gradients approximated using numerical methods maybe more efficient for some parameters though not for all.

请先登录,再进行评论。

更多回答(1 个)

Bruno Luong
Bruno Luong 2022-8-11
May be you could provide the gradient interface for all, but compute the subset derivative analytically and the complement by finite difference, providing you know ho to chose the step size (which might not be trivial).
  2 个评论
zym
zym 2022-8-11
If I understand correctly, you are suggesting to compute the numerical gradient for parameters which do not have the analytical expression. Yes that is a sort of a solution. It would be just nice to call matlab's toolboxes for that. Thanks!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by