2017-01-30 2 views
0

저는 Matlab의 fminunc 함수를 사용하여 ~ 120 변수의 함수를 최소화하려고합니다 (최대 가능성을 통해 매개 변수를 추정합니다). 그러나 반복 단계는 실제로 느립니다. . 이 과정을 가속화 할 수있는 방법은 무엇입니까?matlab에서 100 개가 넘는 변수의 함수 최소화하기

이 함수는 비선형이며 많은 합계를 구성합니다.

가능한 한 함수 정의를 벡터화하고 Matlab에 그래디언트 함수를 제공하려고 생각했지만 이러한 솔루션을 제외하고는 다른 가능성을 알 수 없습니다.

+0

종종 표준 알고리즘이 느릴 때 최적화 전략을 직접 작성하고 특정 문제에 맞게 최적화해야합니다. –

+0

문제에 제약이 있습니까? 아니면 변수에 대한 논리적 경계까지 생각할 수 있습니까? 이 경우'fmincon'이 더 잘 작동 할 수 있습니다. –

답변

0

for 루프를 사용하여 함수에 합계를 구현했기 때문에 최소화 문제가 해결되었습니다. 이제 대신 가능한 한 많이 문제를 벡터화했습니다. 가능한 한 자주 행렬 곱셈과 벡터를 사용하고 fminunc을 통한 최적화가 훨씬 빨랐습니다.

관련 문제