トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 412 1...405406407408409410411412413414415416417418419...3399 新しいコメント Vladimir Perervenko 2017.06.13 14:59 #4111 アレクセイ・テレンテフ 私のソリューションは、当初はOpenNN(C++)をベースにしていました。 今はいろいろと勉強して、Keras(Python)に乗り換えました。 主に分類問題予測のディープラーニングを扱っています。つまり、同じ領域のMOを扱っているわけです。Kerasは、特にRに移植されているので、良いパッケージだと思います。ただ、「何が?グッドラック Aleksey Terentev 2017.06.13 15:04 #4112 ウラジミール・ペレヴェンコつまり、同じ領域のMOを扱っているわけです。Kerasは、特にRに移植されているので、良いパッケージだと思います。ただ、「何が?グッドラック 議論に参加することにしたところです。=) Forester 2017.06.13 15:25 #4113 マキシム・ドミトリエフスキー: これは興味深いことです...つまり、追加のテストを行う必要があるということで、このRNは以前考えられていたほど意味がないのかもしれません。唯一の利点は、オプティマイザで他のシステムパラメータと同時に重みを選択することです現在は、既知のデータの範囲内でどの程度計算できるかを試しているところです。例えば掛け算の表。更新しました。Expert Advisorを変更した後の追加実験では、通常のMLP3-5-1と比較して、以下のような結果が得られています。テストには異なる処方を使用しました。//double func(double d1,double d2,double d3 ){return d1*d2;} //乗算は数式につきものなので、誤差は0〜2%です。2%が得られるのは、遺伝的最適化装置が必ずしも理想的な解で停止しないためである。しかし、誤差が0になる絶対厳密解も存在する。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}// error 0-2% multiplication is in the formula, on MLP 1%//double func(double d1,double d2, double d3 ){return MathSin(d1).D1(double d1).D2(double d3);}// error 0-2% multiplication is in the formulas, on MLP 1% }// error 2-6%, on MLP 0,1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3).}// error 2%, on MLP 1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// 3-4% error, on MLP 1%//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.d3)}/ //MathSin(d1)*MathSin(d2);}// 3-4% error, on MLP 1% 33)*MathSqrt(d3);}// error 8-4%, at MLP 1.5%//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,0.33)*MathSqrt(d3);}// error 8-4%, at MLP 1.5% 結論は、通常のMLPはReshetovのRNPに比べて2〜3倍誤差が少ないということです。おそらく、このエラーの一部は、MT5ターミナルの遺伝的最適化装置が理想的な解で停止しないことに起因しています。 Machine learning in trading: Ask! ニューラルネットワーク、どう使いこなすか、何から始めるか? Maxim Dmitrievsky 2017.06.14 02:44 #4114 エリブラリウス現在は、既知のデータの範囲内でどの程度カウントできるかを試しているところです。例えば掛け算の表。更新しました。EAを変更した後の追加実験では、通常のMLP3-5-1と比較して、以下のような結果が得られました。テストには異なる処方を使用しました。//double func(double d1,double d2,double d3 ){return d1*d2;} //乗算は数式につきものなので、誤差は0〜2%です。2%が得られるのは、遺伝的最適化装置が必ずしも理想的な解で停止しないためである。しかし、誤差が0になる絶対厳密解も存在する。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}// error 0~2%の乗算は数式につきもの,MLPでは1%になります.//double func(double d1,double d2,double d3 ){return MathSin(d1;}// error 2-6%, MLPでは0,1%。//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}// エラー2%、MLPでは1%になります。//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// 3-4% エラー,MLP 1% のとき.//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}// エラー 8-4%, MLP では 1.5%.//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}// エラー 8-4%, MLP では 1.5%. まとめると、通常のMLPはReshetovのRNNに比べて2〜3倍誤差が少ないと結論付けられる。おそらく、このエラーの一部は、MT5ターミナルの遺伝的最適化装置が理想的な解で停止しないことに起因しています。 そうですね、興味深い結果です。おそらく、完全な列挙の方がより正確でしょう。 Forester 2017.06.14 07:03 #4115 マキシム・ドミトリエフスキー そうですね、興味深い結果です。おそらく、フルオーバーシュートの方がより正確でしょう。 というのが正確なところですが、数週間後、数カ月後には8個のフィッティング係数を1%ステップで1008=10000000000回繰り返し、端末自体はこの数で、ジェネリックに切り替わる。 Maxim Dmitrievsky 2017.06.14 12:17 #4116 エリブラリウス そうだろうけど、数週間後、数ヶ月後には...。1%ステップ1008=1000000000000回の繰り返しで8つの選択可能な係数があり、端末自体がその数だけ、ジェネリックに切り替わります。 alglibからMLPを分類するには、少なくとも2つの出力が必要だと理解していますが、これをどのように扱うか教えてください。 ヘルプや説明はどこにもありません... すずき ) Forester 2017.06.14 12:46 #4117 マキシム・ドミトリエフスキー alglibのMLPの分類は、少なくとも2つの出力が必要だと理解しているのですが、どのように作業すればよいのでしょうか?)はい2、ヘルプからhttp://alglib.sources.ru/dataanalysis/neuralnetworks.php特殊なケースとして、線形出力層と出力のSOFTMAX-normalizationを持つニューラルネットワークがあります。これは、ネットワークの出力が非負であり、その和が厳密に1に等しくなければならない分類問題で、入力ベクトルをクラスのいずれかに割り当てる確率として用いることができる(限定的には、学習したネットワークの出力はこれらの確率に収束する)。このようなネットワークの出力数は、常に2 以上でなければならない(初等論理による制限)。 リニアで実験中なので、まだ扱っていない。 Maxim Dmitrievsky 2017.06.14 12:51 #4118 エリブラリウスはい、http://alglib.sources.ru/dataanalysis/neuralnetworks.php より参照特殊なケースとして、線形出力層と出力のSOFTMAX-normalizationを持つニューラルネットワークがあります。これは、ネットワークの出力が非負であり、その和が厳密に1に等しくなければならない分類問題で、入力ベクトルをクラスのいずれかに割り当てる確率として用いることができる(限定的には、学習したネットワークの出力はこれらの確率に収束する)。このようなネットワークの出力数は、常に少なくとも2で ある(初等論理による制限)。 ああ、そうですか。つまり、ある結果の確率、例えば買う確率は0.9、売る確率は0.1というように、ある配列は買う確率のバッファとして、別の配列は売る確率として、これらの値を入れて、学習後に買う確率と売る確率を別々に捨てるのに使うのですか、そうですか。 Forester 2017.06.14 12:52 #4119 マキシム・ドミトリエフスキー 例えば、「買い」の確率は0.9、「売り」の確率は0.1というように、どちらか一方の確率を与えて、一方の配列は「買い」、もう一方は「売り」の確率のバッファとして、学習後に確率を個別に破棄するということですね?そして、読んだ限りでは--私も同じ意見です。出口が1つなので、確率的には買いが0(または-1)、売りが1くらいになるのですが。(トレーニングの仕方によってはその逆もあり)。出力が3つ以上ある場合、役に立つのでしょうか?やはり、1出力では使いにくいのでしょうか...。3または4タスクの場合(ただし、0、0.5、1をクラスBuy、Wait、Sellとして使用することも可能)。 Maxim Dmitrievsky 2017.06.14 12:59 #4120 エリブラリウスそして、読んだ限りでは--私も同じ意見です。出口が1つなので、確率も買いが約0(または-1)、売りが約1になります。(トレーニングの仕方によっては、その逆もありえます)。出力が3つ以上あると便利なのでしょうか?そうすると、1出力は使いにくいのですが......。3または4タスクの場合(ただし、0、0.5、1をクラスBuy、Wait、Sellとして使用することも可能)。 そうですね、おそらく2つ以上のクラスを持てるようにしたのでしょう。そうすれば、よりクラスタリングが進み、k-meansのような他の手法も使えるようになるはずです :) 1...405406407408409410411412413414415416417418419...3399 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私のソリューションは、当初はOpenNN(C++)をベースにしていました。
今はいろいろと勉強して、Keras(Python)に乗り換えました。
主に分類問題予測のディープラーニングを扱っています。
つまり、同じ領域のMOを扱っているわけです。Kerasは、特にRに移植されているので、良いパッケージだと思います。
ただ、「何が?
グッドラック
つまり、同じ領域のMOを扱っているわけです。Kerasは、特にRに移植されているので、良いパッケージだと思います。
ただ、「何が?
グッドラック
これは興味深いことです...つまり、追加のテストを行う必要があるということで、このRNは以前考えられていたほど意味がないのかもしれません。
唯一の利点は、オプティマイザで他のシステムパラメータと同時に重みを選択することです
現在は、既知のデータの範囲内でどの程度計算できるかを試しているところです。例えば掛け算の表。
更新しました。
Expert Advisorを変更した後の追加実験では、通常のMLP3-5-1と比較して、以下のような結果が得られています。
テストには異なる処方を使用しました。
//double func(double d1,double d2,double d3 ){return d1*d2;} //乗算は数式につきものなので、誤差は0〜2%です。2%が得られるのは、遺伝的最適化装置が必ずしも理想的な解で停止しないためである。しかし、誤差が0になる絶対厳密解も存在する。
結論は、通常のMLPはReshetovのRNPに比べて2〜3倍誤差が少ないということです。おそらく、このエラーの一部は、MT5ターミナルの遺伝的最適化装置が理想的な解で停止しないことに起因しています。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}// error 0-2% multiplication is in the formula, on MLP 1%
//double func(double d1,double d2, double d3 ){return MathSin(d1).D1(double d1).D2(double d3);}// error 0-2% multiplication is in the formulas, on MLP 1% }// error 2-6%, on MLP 0,1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3).}// error 2%, on MLP 1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// 3-4% error, on MLP 1%
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.d3)}/ //MathSin(d1)*MathSin(d2);}// 3-4% error, on MLP 1% 33)*MathSqrt(d3);}// error 8-4%, at MLP 1.5%
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,0.33)*MathSqrt(d3);}// error 8-4%, at MLP 1.5%
現在は、既知のデータの範囲内でどの程度カウントできるかを試しているところです。例えば掛け算の表。
更新しました。
EAを変更した後の追加実験では、通常のMLP3-5-1と比較して、以下のような結果が得られました。
テストには異なる処方を使用しました。
//double func(double d1,double d2,double d3 ){return d1*d2;} //乗算は数式につきものなので、誤差は0〜2%です。2%が得られるのは、遺伝的最適化装置が必ずしも理想的な解で停止しないためである。しかし、誤差が0になる絶対厳密解も存在する。
まとめると、通常のMLPはReshetovのRNNに比べて2〜3倍誤差が少ないと結論付けられる。おそらく、このエラーの一部は、MT5ターミナルの遺伝的最適化装置が理想的な解で停止しないことに起因しています。//double func(double d1,double d2,double d3 ){return d1*d2*d3;}// error 0~2%の乗算は数式につきもの,MLPでは1%になります.
//double func(double d1,double d2,double d3 ){return MathSin(d1;}// error 2-6%, MLPでは0,1%。
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}// エラー2%、MLPでは1%になります。
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// 3-4% エラー,MLP 1% のとき.
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}// エラー 8-4%, MLP では 1.5%.
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}// エラー 8-4%, MLP では 1.5%.
そうですね、興味深い結果です。おそらく、完全な列挙の方がより正確でしょう。
そうですね、興味深い結果です。おそらく、フルオーバーシュートの方がより正確でしょう。
そうだろうけど、数週間後、数ヶ月後には...。1%ステップ1008=1000000000000回の繰り返しで8つの選択可能な係数があり、端末自体がその数だけ、ジェネリックに切り替わります。
alglibからMLPを分類するには、少なくとも2つの出力が必要だと理解していますが、これをどのように扱うか教えてください。 ヘルプや説明はどこにもありません... すずき )
alglibのMLPの分類は、少なくとも2つの出力が必要だと理解しているのですが、どのように作業すればよいのでしょうか?)
はい2、ヘルプからhttp://alglib.sources.ru/dataanalysis/neuralnetworks.php
特殊なケースとして、線形出力層と出力のSOFTMAX-normalizationを持つニューラルネットワークがあります。これは、ネットワークの出力が非負であり、その和が厳密に1に等しくなければならない分類問題で、入力ベクトルをクラスのいずれかに割り当てる確率として用いることができる(限定的には、学習したネットワークの出力はこれらの確率に収束する)。このようなネットワークの出力数は、常に2 以上でなければならない(初等論理による制限)。
はい、http://alglib.sources.ru/dataanalysis/neuralnetworks.php より参照
特殊なケースとして、線形出力層と出力のSOFTMAX-normalizationを持つニューラルネットワークがあります。これは、ネットワークの出力が非負であり、その和が厳密に1に等しくなければならない分類問題で、入力ベクトルをクラスのいずれかに割り当てる確率として用いることができる(限定的には、学習したネットワークの出力はこれらの確率に収束する)。このようなネットワークの出力数は、常に少なくとも2で ある(初等論理による制限)。
ああ、そうですか。つまり、ある結果の確率、例えば買う確率は0.9、売る確率は0.1というように、ある配列は買う確率のバッファとして、別の配列は売る確率として、これらの値を入れて、学習後に買う確率と売る確率を別々に捨てるのに使うのですか、そうですか。
例えば、「買い」の確率は0.9、「売り」の確率は0.1というように、どちらか一方の確率を与えて、一方の配列は「買い」、もう一方は「売り」の確率のバッファとして、学習後に確率を個別に破棄するということですね?
そして、読んだ限りでは--私も同じ意見です。
出口が1つなので、確率的には買いが0(または-1)、売りが1くらいになるのですが。(トレーニングの仕方によってはその逆もあり)。
出力が3つ以上ある場合、役に立つのでしょうか?やはり、1出力では使いにくいのでしょうか...。3または4タスクの場合(ただし、0、0.5、1をクラスBuy、Wait、Sellとして使用することも可能)。
そして、読んだ限りでは--私も同じ意見です。
出口が1つなので、確率も買いが約0(または-1)、売りが約1になります。(トレーニングの仕方によっては、その逆もありえます)。
出力が3つ以上あると便利なのでしょうか?そうすると、1出力は使いにくいのですが......。3または4タスクの場合(ただし、0、0.5、1をクラスBuy、Wait、Sellとして使用することも可能)。
そうですね、おそらく2つ以上のクラスを持てるようにしたのでしょう。そうすれば、よりクラスタリングが進み、k-meansのような他の手法も使えるようになるはずです :)