Table of Contents
ドル円の期待値予測モデルを学習するとき、乱数シードを設定する。
同じモデル構造、同じ特徴量、同じ学習期間であっても、
乱数シードを変えるだけで性能が変わる
実際に複数シードで学習すると、
- Forward Testが強いモデル
- Forward Testが弱いモデル
が生まれる。
複数の期間で確認しても、安定して強いシードと弱いシードが存在する。
なぜシードで性能が変わるのか
ニューラルネットの最適化は非凸最適化である。
学習開始時の重みは乱数で初期化されるため、学習は毎回わずかに異なる地点から始まる。
その結果、
- どの特徴を先に学習するか
- どの方向へ勾配が進むか
- どの局所解へ収束するか
が変化する。
特にAdam系のOptimizerでは、学習初期の方向性が後の性能へ大きく影響する。
パターン1:弱い解に入る
一つ目は、全体的に予測が弱いモデルになるケースである。
例えば、
- predの振れ幅が小さい
- 高い予測値が出にくい
- 閾値を超えるシグナルが少ない
- lossは悪くない
という状態になる。
学習自体は成立しているが、Forward Testでは利益につながりにくい。
モデルが十分なシグナルを抽出できていない状態である。
パターン2:過学習方向の解に入る
逆に、強気すぎるモデルになることもある。
例えば、
- train lossは良好
- validation lossも良好
- 予測分布が極端
という状態である。
学習データでは強く見えるが、Forward Testや実運用では崩れやすい。
ノイズを信号として学習しすぎている状態と言える。
これは、
強そうに見えるが再現性の低いモデル
である。
低S/N比では偶然の影響が大きい
金融市場の予測は典型的な低S/N比問題である。
特徴量の多くは弱いシグナルしか持たず、ノイズが支配的である。
そのため、
- 初期重み
- データシャッフル
- ミニバッチ順序
などの偶然の要素が結果へ大きく影響する。
シグナルが強い問題であれば多少の乱数差は吸収される。
しかしシグナルが極めて弱い問題では、
わずかな初期条件の違いが最終性能を大きく左右する
ことがある。
マルチシード評価は必須
このような問題では、
1回だけ学習して性能を判断する
ことは危険である。
単一シードの結果は偶然の影響を大きく受ける。
近年の研究でも、
複数の乱数シードで評価しなければモデルの優位性は判断できない
ことが指摘されている。
少なくとも5つ以上のシードで学習し、
- 平均性能
- 分散
- 最悪ケース
- 再現性
を確認する必要がある。
重要なのは最高性能ではなく、複数シードで安定して優位性が現れるかどうかである。
シード選択は悪なのか
都合よく良いものだけを選ぶと選択バイアスになる。未来での再現性はない可能性が高い。
一方、シードによる性能差が存在するなら、良いシードを採用するのは実務上合理的である。
ただし、
- 単一期間だけで選ばない
- 複数のForward Windowで確認する
- 再現性を確認する
ことが前提となる。
また、単体性能が高くなくても、
他モデルとの相関が低いシード
には価値がある。
アンサンブルでは異なるタイミングでシグナルを出し、全体の安定化に貢献する場合がある。
まとめ
低S/N比の金融予測では、
乱数シードだけで性能が変わる
ことは珍しくない。
シグナルが弱い問題では、学習初期のわずかな違いが最終性能へ大きく影響する。
そのため、単一シードの結果だけでモデルを評価するのは危険である。
モデルの優位性を判断するには、複数シードで学習し、平均性能と再現性を確認する必要がある。
見るべきなのは最高性能ではなく、
複数シードでも再現される優位性
である。