fmin_bfgs() 또는 fmin_l_bfgs_b()를 사용하여 많은 매개 변수 (7000 개 조금 넘음)가있는 함수를 최소화하려고합니다. 나는 (obj_f 내가 최소화하기 위해 노력하고있어 및 동위 초기 매개 변수의 벡터, 함수입니다) 파이썬은이 프로그램을 종료해야한다는 것을 알려줍니다 때까지 함수가 영원히 실행fmin_bfgs가 완료되지 않았습니다.
opt_pars = fmin_l_bfgs_b(obj_f, pars, approx_grad=1)
명령을 입력합니다. 출력이 없습니다. 인수 maxfunc = 2를 추가하여 시도해 보았습니다.이 경우 아무 곳이나 가져 왔고 똑같은 일이 발생했는지 (영원히 계속 실행 한 다음 파이썬이 프로그램을 종료했습니다) 참조하십시오.
나는이 기능에 어떤 문제가 있는지 알아 내려고하고있다. while 루프 또는 무언가에 걸린 것 같습니다. 누구든지이 문제가 발생 했습니까? 그렇지 않다면 함수를 수행하는 방법을 모니터링하는 방법에 대한 일반적인 디버깅 도움말 (여기서는 필자가 Python을 처음 접했을 때)을 사용할 수도 있습니다.
마지막으로 누군가가 내가 시도하고있는 작업에 대해 다른 기능이나 패키지를 추천 할 수 있습니다. 나는 올가미의 규칙적인 포아송 회귀를 7000 개의 변수에 대한 1,200 만 관측치를 가진 데이터에 맞추려고합니다.
추신 : 죄송합니다 - 로그 우도 함수를 포함시키지 않으려 고 노력하고 있습니다 만 최소화하려고 노력하고 있지만 완전히 해석 할 수는 없습니다.
도움을 주셔서 감사합니다.
당신이 fmin_bfgs
및 fmin_l_bfgs_b
에 그라디언트를 제공하지 않기 때문에 자크가
7000 매개 변수가 많이있다)
또한 구글 "디버그 파이썬"와 "프로필 파이썬"을 시도! fmin은 그 모두에 대한 변형에 대한 함수를 평가하려고 시도하고 있으며, 아마도 그렇게 오래 걸리는 이유 일 것입니다. 그리고 분명히 7000 개의 변수가 있으면 많은 로컬 미니 마가있을 것입니다. 내 제안은 문제의 차원을 줄이기 위해 일부 PCA를 시도하는 것입니다. – tiago
많이 있습니다! 하지만 완전히 볼록 해져서 로컬 미니 마커가 없어졌습니다. – zss