SciPy 함수 fmin_ncg
의 경우 hessian과 gradient를 함수가 아닌 변수로 제공하는 방법이 있습니까?파이썬에서 헤센을 fmin_ncg로 지원하기
파이썬에서 일부 Matlab 코드를 다시 작성하려고합니다. 이 코드에는 최적화 루틴을 사용하여 일부 매개 변수를 데이터 세트에 맞추는 작업이 포함됩니다. 이렇게하려면 그라디언트와 헤센을 제공했습니다. 예컨대 매트랩 나는 이런 식으로 뭔가를 가지고 :
fmincon(@myFunc,x0,[],[],[],[],lb,ub,[],options);
곳 myFunc
반환 3 개 값 : 함수 평가, 그라데이션, 그리고 헤센.
그러나 파이썬에서 fmin_ncg
의 경우 그라디언트와 헤센은 별도의 기능으로 제공되어야합니다.
내게 이것은 코드가 대형 데이터 세트를 거쳐야하므로 비효율적이며 함수, 그라데이션 및 헤센에 공통적 인 계산이 있습니다. 예 : 함수 과 그라데이션이 g(x) = a(x)*c(x)
, hessian이 h(x) = a(x)*d(x)
... Matlab에서 내가 a(x)
을 계산할 수있는 곳을 한번 생각해 봅니다. 여기서는 파이썬으로이 세 번을 계산해야합니다.
fmin_ncg
의 작동 방식이 잘못되었거나 해결 방법이 있습니까?
try memoization –