トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 609

 
セルゲイ・チャリシェフ


このようにgpshの値に反応するようなネットワークはゴミ箱に捨ててください。 通常のネットワークはどんな初期値でも、たとえ0でも動作し、学習していきます。


くだらない。
 

  • 最適なDNNハイパーパラメータの決定

一般に、ニューラルネットワークのハイパーパラメータには、隠れ層の数、各隠れ層のニューロン数、適用する活性化、初期化、正則化関数、および学習レベルなどが含まれる。ハイパーパラメータ最適化の構造を下図に示す。

オプティマルピー

図1.ニューラルネットワークにおけるハイパーパラメータの構造とその最適化方法

ハイパーパラメータを最適化する方法は3つあります。

  1. グリッド検索
  2. 遺伝的最適化
  3. グリッドサーチ 遺伝子探索 ベイズ最適化

最初のケースでは、各ハイパーパラメータに対して、いくつかの固定値を持つベクトルを定義します。次に、caret::train()または独自のスクリプトを使用して、ハイパーパラメータの値のすべての組み合わせでモデルを学習させます。その後、分類品質メトリクスが最も優れているモデルが選択され、そのパラメータが最適であると認められる。この方法の欠点は、格子状に値を設定することで、最適な値を見逃す可能性があることです。

2つ目の方法は、遺伝的アルゴリズムを用いて最適なパラメータを確率的に探索する可能性を利用するものである。いくつかの遺伝的最適化アルゴリズムについては、すでにこの記事で 詳しく説明しています。したがって、私たちはそれらを繰り返すことはありません。

3つ目のケースでは、ベイズ的アプローチ(ガウス過程とIMS)が用いられ、今回検証することになる。rBayesianOptimization パッケージ(バージョン1.1.0)を使用する予定です。使用した手法の理論については、Jasper Snoek, Hugo Larochelle, Ryan P. Adams (2012) Practical Bayesian Optimization of Machine Learning Algorithmsを参照してください。

一般にニューラルネットワークにおけるハイパーパラメータは、グローバルとローカル(ノード)の2つのグループに分けることができる。グローバルなものとしては、隠れ層の数、各層のニューロン数、学習とトルクのレベル、ニューロンの初期化ウェイトなどがあります。局所的なものとしては、層の種類、活性化関数、ドロップアウト/ドロップコンセプトなどの正則化パラメータがある。

 

一般的には、同じデータで何度も学習することが推奨されます。

ここで何度かマニュアルトレーニングを行いましたが、少し戸惑っています。エラー低減は安定していると予想していたが、ジャンプしてしまう。

同じネットワーク構造で繰り返し学習しても、3〜5%の差が出ることもあり、構造の正しい選択を阻害することもある。

 

私を訓練してくれる他のトレーダーを紹介してもらえますか?私の友人は私にトレーニング(Polikarp Brekhunovから - Artyom Trishkinによって変更)、誰が知っている、多分トレーニングコースを提供する他のトレーダーがあることをお勧めします?

 
エリブラリウス

一般的には、同じデータで何度も学習することが推奨されます。

ここで何度かマニュアルトレーニングを行いましたが、少し戸惑っています。エラーの減少が安定しているかと思いきや、ジャンプするんですね。

同じネットワーク構造で繰り返し学習しても、3〜5%の差が出ることがあり、構造の正しい選択ができないこともある。

こうあるべきなのです。スケールの初期化は、小さな値の乱数で行われる(初期化の種類に依存)。再現性のある結果を得るためには、各トレーニング実行前にGSFを同じ状態に設定する必要があります。そのためのset.seed()である。

グッドラック

 
ウラジミール・ペレヴェンコ

これが、あるべき姿です。重みの初期化は、小さな乱数値で行う(初期化の種類に依存)。再現性のある結果を得るためには、各トレーニング実行前にGSFを同じ状態に設定する必要があります。そのためのset.seed()である。

頑張ってください。

あ、そういやDarch RBMでlearnRate = 0.3で2エポックでプリトレーニングしてたな。

 
ウラジミール・ペレヴェンコ

  • 最適なDNNハイパーパラメータの決定

2つ目のケースは、遺伝的アルゴリズムを使って最適なパラメータを確率的に探索する方法です。

なぜなら、最適化はピークや谷を探すものであり、私たちはそれを必要としないからです。理想を言えば、なるべく大きな平坦なプラトーが必要です。これらのプラトーには、1つの顕著な特性があるはずです。

これは、最適化についてです。

実際、ここでは、モデルパラメータが変化しても、かなり狭い(5%)信頼区間 内に収まる安定性の問題も加える必要がある。モデルパラメータの安定性は、モデルの性能があるプラトーにあるとき、モデルをテストしているときに突然非常に良い結果が得られた場合、それは最小限のポイントに到達したことを意味し、実際には決して起こらない不安定な状態になり、さらに、ストップアウトはこの最適ポイントの周辺に位置していると思われます。

PS.

ちなみに、テスターでは、このように色で高原を探すことができるようになっています。個人的には、テスターを仕上げの道具として使い、正方形の周りに同じ色の正方形があることを指すパラメータをとっています。これは、私の考えるプラトー(高原)を端的に表現しています。

 
エリブラリウス

あ、そういやDarch RBMでlearnRate = 0.3で2エポック事前学習してたな。

darch()の内部にはデフォルトでseed = NULLというパラメータがあります。これを何らかの状態、例えばseed = 12345に設定します。

これは小さなlearnRateの値です。RBMとNNはlearnRate = 0.7, numEpochs = 10でスタート。しかし、これは天井のデータです。特定のデータセットに最適化する必要があります。

グッドラック

 
ウラジミール・ペレヴェンコ
darch()の内部にはデフォルトでseed = NULLパラメータがあります。 これを何らかの状態、例えばseed = 12345に設定します。

これは小さなlearnRateの値です。RBMとNNはlearnRate = 0.7, numEpochs = 10でスタート。しかし、これは天井のデータです。特定のデータセットに最適化する必要があります。

グッドラック

ありがとうございました。試してみます。
 
サンサニッチ・フォメンコ

トレーディングの場合、モデル最適化(TS)という考え方は非常に疑わしいと 思います。なぜなら、最適化はピークや谷を探すものであり、私たちはそれを必要としないからです。理想を言えば、できるだけ大きな平坦なプラトーが必要です。これらのプラトーには、1つの顕著な特性があるはずです。

これは、最適化についてです。

実際、ここでは、モデルパラメータが変化しても、かなり狭い(5%)信頼区間 内に収まる安定性の問題も加える必要がある。モデルパラメータの安定性は、モデルの性能があるプラトーにあるとき、モデルをテストしているときに突然非常に良い結果が得られた場合、それは最小限のポイントに到達したことを意味し、実際には決して起こらない不安定な状態になり、さらに、ストップアウトはこの最適ポイントの周辺に位置していると思われます。

PS.

ちなみに、テスターでは、このように色で高原を探すことができるようになっています。個人的には、テスターを仕上げの道具として使い、正方形の周りに同じ色の正方形があることを指すパラメータをとっています。これは、私が考える「プラトー」を端的に表現したものです。

1.どのような最適化のことをおっしゃっているのでしょうか?どのプラトー?どのモデルですか?ニューラルネットワークのことなら、DNNを使う前にトレーニング(パラメータの最適化)をしないのはおかしいと思うのですが。

2.安定させるべきモデルパラメータ(?)は?

あなたの考えは理解できない。

私は、DNNのハイパーパラメータの最適化について話していたのですが、これはテスターではなく、必然的に行われるべきことなのです。

理由: