最適化アルゴリズムによって得られた結果を適切に解釈し、その品質を評価することは欠かせない要素です。ここでは、計算結果の分析における主要な側面について説明します。
7.1 収束基準
収束基準は必然的にルーチンごとに異なります。これは、場合によってはチェックすべきより多くの情報が利用可能であり(例えば、ヘッシアン行列が正定値かどうか)、また異なる問題カテゴリーに対して異なるチェックを行う必要があるためです(例えば、制約付き最小化では、試行解が実行可能かどうかを確認する必要があります)。それにもかかわらず、様々な基準の根本的な原則は同じです。非数学的な用語で表現すると、以下のようになります:
- 点列
は収束しているか?{x(k)} - 関数値の列
は収束しているか?{f(k)} - 解に対する必要十分条件は満たされているか?
点列が収束しているかどうかの判断は、必然的に推測的なものとなります。現在のルーチンで使用される基準は、2つの連続する反復間での相対的な変化が、ある規定された量よりも小さくなった場合に収束したと仮定するものです。基準(iii)が最も信頼性が高いのですが、必要な全ての情報が利用可能でない場合があるため、条件を完全にチェックできないことがしばしばあります。
7.2 結果のチェック
非線形最適化アルゴリズムによって得られた解の質については、手法が失敗しないという保証がないため、事前にほとんど指針を示すことができません。そのため、ルーチンが成功を報告した場合でも、常に計算された解をチェックする必要があります。ルーチンが成功を報告しない場合でも、しばしば「解」が見つかっていることがあります。この一見矛盾した状況の理由は、ルーチンが解の精度を評価する必要があるためです。この評価は厳密なプロセスではなく、結果として過度に悲観的になる可能性があります。どの「解」も一般に厳密解の近似に過ぎず、指定した精度が厳しすぎる可能性があります。
さらなる確認として、収束テストがほぼ満たされているか、または十分条件のいくつかがほぼ満たされているかをチェックすることができます。ルーチンが「成功」の要件が厳しすぎるために非ゼロのifail値を返したと考えられる場合、収束許容度を増やして再実行する価値があるかもしれません。
制約付き問題の場合、返された解が実行可能であるか、またはほぼ実行可能であるかをチェックしてください。そうでない場合、返された解は適切な解ではありません。
解への信頼度は、解への異なる初期近似でソルバーを再実行することで高めることができます。詳細については、Gill et al. (1981)のセクション8.3を参照してください。
7.3 進行状況のモニタリング
nAGの多くのソルバーには最小化プロセスの進行状況をモニタリングする機能があり、これらの利用をお勧めします。モニタリング情報は、満足のいく解が得られたかどうかの評価や、最小化問題の難しさ、ソルバーの対処能力の問題を示唆する上で非常に有用です。関数の挙動、推定された解、および一次導関数は、解の受容可能性や、正常終了しなかった場合の対処方法を決定する際に役立ちます。
7.4 最小二乗解の信頼区間
最小二乗問題の解の信頼性を評価するためには、信頼区間の計算が重要です。これは、推定されたパラメータの誤差範囲を把握し、解の精度を評価するためです。非線形最小二乗問題のパラメータ推定値が得られた場合、パラメータやフィッティング関数の分散を推定する必要があることがあります。これらの分散は、解における目的関数
多くの最小二乗問題では、解におけるヘッシアンは
であり、
です。
ここで、
大多数の問題では、残差
です。
点
です。
最小二乗解の分析についての詳細は、Bard (1974)およびWolberg (1967)を参照してください。