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

 
グリゴーリイ チャーニン

ニューロンの活性化関数について読む。出力に好きな値を与えることができますが、活性化関数を間違えると負の値が出力されます。これは通常、双曲線上の接線である。これではソフトマックス損失関数が正しく動作しません。ラ イブラリや損失関数の実装に大きく依存しますが。例えば、Tensorflowの損失関数softmaxの出力ニューロンには、活性化関数を持たせてはいけません。また、学習したネットワークを正しく使用するために、ソフトマックスの活性化を追加する必要があります。ALGLIBとは一緒に仕事をしたことがないので、もしかしたら何か間違った ことをしたのかもしれません。いずれにせよ、ソフトマックスを使った学習済みネットワークが負の値を与えることはないはずだ。

ソフトマックスは損失関数ではありません。あなたは何かに迷っている。ソフトマックスは、分類タスクのための出力層活性化関数である。男を混乱させてはいけない、彼自身が混乱する。

Alglibのご利用は、ご自身の責任でお願いします。全部Rstudioでやればいいじゃん。

グッドラック

 
Dr.トレーダー

これは、あるクラスが他のクラスに比べて非常に多くの学習例を持つ場合である。例えば、「買い」の学習例は2000個、「売り」の学習例は1000個だけです。ニューロンは常に「買い」を返すことができ、この場合、66%の確率で正解となる。各クラスの学習例数を等しくするのが良い。

NAクラス - 頻繁に取引される場合は50%、稀に取引される場合は99%、が優先されます。でも、3rdにして、NAクラス1が詰まったんです。

なぜ、何もする必要がない時のトレーニング例を記事にしないのか不思議です。なぜなら、適切な瞬間に何もしないことも重要で、通常その瞬間は、トレードが損失につながるときだからです。
一時停止の方法を学ばないまま、NSは取引を開始し、預金を失ってしまうかもしれません。

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

ソフトマックスは損失関数ではありません。あなたは何かに迷っている。ソフトマックスは、分類タスクのための出力層活性化関数である。その人を混乱させないでください、彼は自分自身を混乱させるでしょう。

Alglibのご利用は、ご自身の責任でお願いします。全部Rstudioでやればいいじゃん。

グッドラック


正確には、ソフトマックス・クロステントロピーと呼ばれる損失関数である。そうですね、明確ではありませんでした。

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

ソフトマックスは損失関数ではありません。あなたは何かに迷っている。ソフトマックスは、分類タスクのための出力層活性化関数である。その人を混乱させないでください、彼は自分自身を混乱させるでしょう。

Alglibのご利用は、ご自身の責任でお願いします。全部Rstudioでやればいいじゃん。

グッドラック

ほとんどの場合、私はあなたの次の記事の後にRバインディングを使用します(端末との接続があるところ)。
 

ところで、興味深いことに、上記の例から

バイセル NA
0.10302356, 0.01091621,0.88606040
0.09705416, 0.01083526, 0.89211080
0.08283979, 0.12548789,0.79167247
1.02522414,-0.00119697,-0.02403573
0.09498582, 0.01529507,0.88971917
1.01878489,-0.00111341,-0.01767998
0.07906346, 0.05960769,0.86132762
0.00201949, 0.00497863,0.99300189

各行の和は1である。(チェックした上位4名)。つまり、和(=確率)が1にもなるソフトマックスのようなものです。しかし、これはNS-リニア出力による回帰で行われました。

 
エリブラリウス

NAクラス - 取引頻度が高い場合の50%から、取引頻度が低い場合の99%まで、優勢になります。

教師クラスを作成 するために何らかの指標を取り、その値の一部もNAに置き換えるような、ランダムな教師へのクラス配分は非常に危険です。

たとえ、良い予測因子と良いクラスがあり、新しいデータで良い結果を保持していたとしても、クラスの値をいじろうとすると、モデルが完全に壊れてしまうことがあります。予測変数の指標とクラスの指標を見つけることで、新しいデータでもモデルが利益を出し続けることができ、大きな成功を収めました。

私は、次のバーの色(つまり、買い/売り)の2つの簡単なクラスを取ることをお勧めします開始します。少なくとも10000の学習例(履歴バー)を取り、モデルを学習させ、次の履歴の10000バー(学習時にモデルにとって未知であったもの)で結果を評価します。新旧のデータでモデルの精度を同じレベルに維持できる予測因子を見つけることができたら、教師の授業の指標を選び始めることができるのです。そして、最初に利用可能な指標を取るだけでは、新しいデータに対してモデルの精度が保てないことが判明するのです。なぜ、ある指標は教師に役立ち、ある指標はそうでないのか、私にはわかりません。

 
エリブラリウス

ALGLIBのNSのSOFTMAX版で何か問題がある。すべての回答が最初の出力に偏っている(私の場合はBUYです)。
同じNSのデータで、3つの出力を持つ回帰(線形活性化)は、より信頼性の高い結果をもたらす。

バイセル NA
0.10302356, 0.01091621,0.88606040
0.09705416, 0.01083526, 0.89211080
0.08283979, 0.12548789,0.79167247
1.02522414,-0.00119697,-0.02403573
0.09498582, 0.01529507,0.88971917
1.01878489,-0.00111341,-0.01767998
0.07906346, 0.05960769,0.86132762
0.00201949, 0.00497863,0.99300189

を0.5以上にすると、もっともらしい答えが得られるでしょう。

ちなみにLesaも1回目の出力でスカスカになりました。


2つの出力の合計を1にしたのですか? よくわかりませんが、私の場合はうまくいきました、スキューはありません。ソフトマックスがよかった。

そうそう、ソフトマックスでは、0から1への入力の比率を決めていたっけ。

一般にフォレストは回帰と分類で常に明確に機能する。時々、買いか売りかのみのシグナルが出るが、トレーニングサンプルを掘ってみたら、例に偏りがあったので、仕方ない(一定間隔で再トレーニングするので、サンプルに何が出るか事前に分からないため)。また、足場が外挿できないことも忘れてはいけません。未来の既知の価値観をすべて教えなければならないのです。

 

ちなみに、その必要もなさそうです。

データ前処理

収束速度と解の質を向上させるために、ALGLIB はデータの前処理(学習セットの標準化)を実装しています。データがニューラルネットワークに 転送される前に、自動的に前処理が行われ、ネットワークの結果は逆変換される。

 

ここで 、掛け算表のNSチェックを行います。

同じものを足場 用にしたところ、問題なく使用できました

Библиотеки: ALGLIB - библиотека численного анализа
Библиотеки: ALGLIB - библиотека численного анализа
  • 2012.10.12
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: ALGLIB - библиотека численного анализа
 
マキシム・ドミトリエフスキー

2つの出力の合計を1にしたのですか? よくわかりませんが、私の場合はうまくいきました、スキューはありません。ソフトマックスがよかった。

そうそう、ソフトマックスでは、0から1までの入力の配分を覚えている限りでは、0から1までの配分をしました。

一般にフォレストは回帰と分類で常に明確に機能する。時々、買いか売りかのみのシグナルが出るが、トレーニングサンプルを掘ってみたら、例に偏りがあったので、仕方ない(一定間隔で再トレーニングするので、サンプルに何が出るか事前に分からないため)。また、足場は外挿できないことを忘れてはいけません。今後、すべての既知の値をトレーニングする必要があります。

3つの出力の合計が1、いや、合計ではなく、出力のうち1つだけが1、残りは0になっているのですが。
入力の正規化はしていない、必要ないことは下で確認済みですね。乗算表を確認しました(ただし、ソフトマックスではありません)。
もしsoftmaxがうまくいったのであれば、もう少し回してみると、うまくいくかもしれません(全く同じデータで、lin.出力による回帰は当然のように機能しますが)。
理由: