う〜ん.数値的に非常に性質の悪い最適化問題を扱わないといけなくなった.
ある点の近傍において,目標関数(最小化の対象の関数)の値が 10^5 程度でその微分係数ベクトルの norm が 1.0e-8 程度という最適化問題.仮にこれが極値付近の領域の話ならばどうでも良いのはいうまでもない.しかし今扱っている問題は,興味ある点の近傍が鞍点 saddle point に準じた性質を持っている.つまり,勾配がその点の近傍で厳密に0ではないもののその傾きが極めて微小で,しかもその点の近傍からいったん脱出すると途端に勾配が急になる.で,そういう点から出発して何とかしてその性質の悪い領域から脱出したい.こんな問題初めてぶち当たったぞぇ?これを普通の数値最適化パッケージに愚直に放り込んだら step length の計算などにおいて全桁に誤差が混入する上に,対象の問題の収束判定も極めて難しい.うにゃー.こういう問題みんなどうしてるのかにゃー.
今扱っている問題は,幸い,減算による目標関数の正規化を桁落ち誤差なしで (減算無しで) 行う工夫ができるけれど,それが果たしてうまく機能するのかにゃー.