記事についてのディスカッション - ページ 2

 

TempData.Add((double)((buy || sell) ?0 : 1));//Undefine

前のコードのようにUndefineを0ではなく0.5と書いて、未定義の数を減らすことはできないのでしょうか?

 

素晴らしい、素晴らしい仕事だ。

共有してくれてありがとう。

1つ小さな観察があります:

スクリプトを試したところ、フィードフォワードの前にバックプロパゲーションが実行されていました。

私の提案としては、まずフィードフォワードを行い、それから正しい結果をバックプロパゲートすることです。

ネットワークが何を考えているかを知った後に正しい結果をバックプロパゲートすれば、フラクタルの欠落が減るかもしれません。


また

このようなことをすると:

TempData.Add((double)((!buy && !sell) ? 0.5 : 0));

を行うと、ネットワークの学習が早まる可能性がある。

ネットワークの学習については

アダム・オプティマイザーと0.001の学習率から始めて、エポックにわたってそれを繰り返す。

(または)

より良い学習率を見つけるには、LRレンジテスト(LRRT)を使う。


デフォルトでうまくいかない場合、良い学習率を見つけるための最良の方法は 学習率範囲テスト である

  1. 非常に小さな学習率(例えば1e-7 )から始める

  2. 各トレーニングバッチで、学習率を指数関数的に 徐々に上げていく。

  3. 各ステップでの学習損失を記録する。

  4. 損失対学習率をプロットする。

  5. プロットを見てください。損失は下がり、平坦になり、そして突然上昇する。(この上昇の後、次の学習速度が最適となる)。

損失が一貫して減少している最速の学習速度が必要な です。

ありがとうございました。