2016-06-18 11 views
0

Ich benutze scipy 's optimize.least_squares Algorithmus mit festgelegten Anfangsbedingungen und immer das gleiche Ergebnis auf meinem Computer, wenn ich dies jedoch auf jedem anderen Computer (alle mit neuesten Scipy, Python, und holprigen Pakete und die gleiche 64 Bit Ubuntu versuchen Linux), bekomme ich an jedem PC unterschiedliche Ergebnisse. Warum ist das?Ist scipy.optimize.least_squares deterministisch?

Vielen Dank.

Antwort

0

Die Antwort ist ja.

Wie Sie auf der document, finden können, gibt es 3 Methoden implementiert auf optimize.least_squares;

  1. Vertrauen Region Reflective Algorithmus
  2. dogleg Algorithmus mit rechteckigem Vertrauen Regionen
  3. Levenberg-Marquardt-Algorithmus

Alle diese iterative Methoden sind, die von einem Anfangswert (oder Vektor) beginnen und gehen auf den minimalen Wert Schritt für Schritt. Die Bestimmung dieses Schritts unterscheidet sich von Methode zu Methode, ist jedoch in allen Methoden deterministisch.
Für weitere Details können Sie lesen this blog geschrieben von dem Entwickler dieser Funktion.

Ich bin mir nicht sicher, warum Sie unterschiedliche Ergebnisse an jedem PC bekommen, sorry.