D2MatE Top  
optimize_flex Top

フィッティング/最適化の停止条件

 最適化は、収束判定条件を満たすか、最大繰り返し数に達するか、early stopによって停止します。
収束束判定条件: 以下のいずれかです

最大繰り返し数:

  1. _callback関数の呼び出しが imaxiter を超えた時
  2. _minimize_func関数の呼び出しが icall を超えた時

Early stopの方法

注意事項

 最適化中にパラメータが設定範囲 (フィッティングパラメータ設定ファイルの kmin, kmax) をはずれると、
損失関数 fmin にpenaltyが加算されます。
コンソール出力のWarningを確認してください
  **Warning: [varname=value] is smaller than [kmin]. Add penalty [penalty] to fmin“

  penaltyが発生すると、fminが下がらず、最適化の収束が遅くなります。
このような場合、kmin,kmaxを再設定する、範囲内に収まらないパラメータを固定するなどの対応をすることで、収束を早めることができます

historyファイル

 fhistory = 1にすると、historyファイルに最低化過程が保存されます。
ただし、以下の条件を全て満たす場合のみです

 

 ffitfiles = 1にすると、minimize関数が呼ばれるごとに、フィッティング結果が fitXXX.xlsx に保存されます。
保存される条件はhistoryファイルと同じです