Supplying gradient for the subset of parameters

조회 수: 2 (최근 30일)
zym
zym 2022년 8월 11일
댓글: Bruno Luong 2022년 8월 11일
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!
Bruno Luong
Bruno Luong 2022년 8월 11일
Yes, that's the idea.

댓글을 달려면 로그인하십시오.

카테고리

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