最短で大域的最小解を目指すと局所的最小解にはまる(1):最急降下法のワナ

組み合わせ最適化ツールは、システムトレーダーの強力な武器である。

かつては高額な専用ツールでしか実現できなかったものが、今はRなどのフリーソフト、あるいはエクセルのソルバーでも簡単に実現できる。

本当にいい時代になったものだ。


朝株トレード手法」の特典のひとつ「階層型ニューラルネットワークによるトレンド判定モデルの構築」にも、エクセルで組み合わせ最適化問題を解くソルバーの使い方、およびそのためのエクセルファイルがついているので、システムトレーダーの極致を目指さんと欲するなら是非お手にとってご覧あれ。


さて、組み合わせ最適化問題を解く際、問題となってくるのが“局所的最小解への収束”である。


たとえばニューラルネットワークの学習アルゴリズム場合、最急降下法を用いて教師信号と出力信号の二乗誤差を最小化させる。

だたし、単純に二乗誤差を最小化しにいくと、ほぼ間違いなく局所的最小解へ収束してしまう。


わかりやすく図解してみよう。

トレードシステムの最適化イメージ

重みに対しランダムに初期値を与え、二乗誤差を最小化させるべく最適化しにいくと、矢印の方向にボールは移動する。

すると、ボールは②の局所的最小解のくぼみに落ち込む。


本来は誤差の最も小さい③の大域的最小解に収束させたいのだが、いつまでたっても②のくぼみから抜け出せない。

これが局所的最小解への収束という問題である。


読者は②の右側にある小さな山を登ればいいと思うだろう。

しかし、最急降下法のアルゴリズムは二乗誤差を小さい方向に向かわせるように設計されている。

したがって、いったん誤差を大きくする、すなわっち山を登るという挙動は起こらないのだ。


さてさて、どうしようか。