Questa pagina (http://docs.scipy.org/doc/scipy/reference/optimize.minimize-lbfgsb.html) descrive le opzioni del risolutore che è possibile passare al metodo L-BFGS-B del pacchetto di ottimizzazione di scipy. Sto provando a impostare la tolleranza di uscita del risolutore.Imposta la tolleranza di convergenza per scipy.optimize.minimize (metodo = 'L-BFGS-B')
I documenti menzionano due opzioni, quella che avrei preferito usare è 'factr', dove il risolutore termina quando: (f^k - f^{k+1})/max{|f^k|,|f^{k+1}|,1} <= factr * eps
(dove epsilon è la precisione della macchina). Tuttavia quando eseguo il mio codice è ottenere un avvertimento:
OptimizeWarning: Opzioni del Risolutore sconosciuto: factr
Così ho presume questa opzione è stato deprecato in favore di ftol (non so perché sarebbe comunque ?). ftol è un numero specificato (ad esempio diff < = n anziché < = n * machine_error).
va bene per me, ma il messaggio di uscita ottengo per il solutore è
CONVERGENZA: REL_REDUCTION_OF_F_ < = _FACTR * EPSMCH
che suggerisce la routine L-BFGS-B è ancora usando un certo valore di factr che non conosco, e apparentemente non posso specificare. Potrebbe essere un errore trascurato nel codice, potrebbe essere che ho perso un modo di passare le opzioni. Qualcuno che usa questo popolare risolutore conosce una soluzione alternativa?
Grazie
Ho aperto un problema sul repository github SciPy pure.
Una domanda è se la versione installata di scipy corrisponde a quella dei documenti ... Molti pacchetti non hanno l'ultima versione. D'altra parte, è ancora referenziato nei documenti v0.16.0, l'ultimo. Prendo atto che la chiamata è cambiata da 0,13, dove le opzioni sono state elencate separatamente, e 0,16 dove si ha una struttura opzioni = {'eps': 1e-08 ...}. Inoltre, sebbene factr sia elencato come opzione, non è nella chiamata di esempio ... –
Sto usando scipy 0.16.0. Hai ragione, ci sono diverse discrepanze nei documenti. Ma la discrepanza che voglio risolvere è che l'opzione factr è stata rimossa dall'interfaccia utente ma è ancora utilizzata dal codice. – BJH