非常に大きな数または非常に小さな数を使用した場合にのみ、fmin_slsqp (または scipy.optimize の他の何か) で問題が発生したことはありますか?
私は、グレースケール画像とマスクを取得し、ヒストグラムを生成し、複数のガウス分布をヒストグラムに適合させるために、いくつかの Python コードに取り組んでいます。コードを開発するために小さなサンプル画像を使用しました。いくつかの作業の後、コードは見事に機能しました。ただし、最初にヒストグラムを正規化してビン値 <<1 を生成するか、巨大な画像をヒストグラム化して数十万のビン値を生成すると、fmin_slsqp() が散発的に失敗し始めます。わずか 5 回の繰り返しで終了し、通常は最初に与えた推測をわずかに変更したバージョンを返し、終了モード 8 を返します。これは、「ラインサーチの正方向導関数」を意味します。最初にビン数のサイズを確認し、それらを約 100 ~ 1000 の範囲にスケーリングすると、fmin_slsqp() は通常どおり機能します。結果を返す前に、スケーリングを解除するだけです。
私は周りを見回して、基本的に微分を近似するために使用される dx であるイプシロン値について話している人々を見つけましたが、それは役に立ちませんでした。それ以外には、まだ有用なものは見つかりませんでした。どんなアイデアでも大歓迎です。前もって感謝します。
ジェームズ