トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1276 1...126912701271127212731274127512761277127812791280128112821283...3399 新しいコメント Кеша Рутов 2019.01.27 14:52 #12751 マキシム・ドミトリエフスキービーバーは知らないうちに同じダムを作っている。 が、それぞれ頑なに自分が新しいものを発明したと信じている。ビーバーは勤勉で正しい生き物ですが、勉強熱心なビーバーは 意地悪な生き物で、あちこちからほうきで追い払うか、単に無視するのがよいでしょう。 Maxim Dmitrievsky 2019.01.27 14:58 #12752 ケシャ・ルートフビーバーは勤勉で正しい生き物、全く別物、騎手見習いは 厄介な生き物、あちこちから箒で追い払うか、いっそのこと無視しちゃいましょう。 「壷の中のアナリスト" :)) 皿洗いのファックオフ Forester 2019.01.27 15:20 #12753 アレクセイ・ヴャジミキン要は、仮に全体の50%が取れたとしても、さらにこの50%から最初のルートスプリットに明確な選択がある(Alglibではそうでないのか?)CatBoostは予測変数のランダムな選択だけでなく、最初の木に対するランダムスプリット(計算の際にランダムに重みが加えられる)も備えています。 私の目標は、モデル全体を推定することではなく、高い確率でサンプルの大部分を記述する葉を得ることです。そして、そのような葉っぱを年ごとに履歴を検証して、組成を作ります。市場全体を表現するものではないかもしれませんが、ほとんどの場合、50%の確率で推測するよりも、知っていることをより正確に答えられる方がいいと思うのです。 プレディクターは600台程度になり、完全にオーバーキルすることは現実的ではなくなりました。 Alglibは残りの50%の予測器をすべて調べ、それぞれを四分位で4分割し、すべての変種の中から最も誤差が少ないものを選びます。原理的には、ランダムな分割は難しくありません。 個々の木でテスト結果が良いもの(45〜50%)は見たことがないが、それが林立している方が面白い)。 Forester 2019.01.27 15:27 #12754 見た予測因子の重要性という点では。 xgboost, lightGBMパッケージには、「木モデル」に対する特徴量の重要 度を推定するメソッドが組み込まれていました。 ゲイン この指標は、各特徴のモデルへの相対的な寄与度を示すもので、各木を調べ、どの特徴がノード分岐につながるかを調べ、その指標に従ってモデルの不確実性がどれだけ減少したかを計算する(Gini impurity、information gain)。 各特徴について、その寄与度をすべての木について合計する。 カバー 各フィーチャーの観測回数を表示します。例えば、4つの機能、3つの木があるとします。fich 1が木のノード1、2、3にそれぞれ10、5、2個のオブザベーションを持っているとすると、このfichの重要度は17 (10 + 5 + 2)となる。 周波数 与えられた特徴がツリーノードにどの程度含まれているかを示す。すなわち、各ツリーにおける各特徴の分割ツリーノードの総数がカウントされる。重要性を正しく分けていないんです。 5本の棒で学習させたフォレストが、100本の棒より良い結果を出すというテストがあります。しかし、100人単位で教える場合、最初の5人は重要視されず、遠くの人が重要視されます。 100でトレーニングした場合、個々の木や森の誤差が小さくなっています。明らかにオーバートレーニングで30-100のバーを重要視していることが原因です。しかし、通常のロジックでは重要ではなく、5小節でのフォレストがより良い結果をもたらすからであることは明らかである。 Forester 2019.01.27 15:35 #12755 ところで、CoverとFrequencyの違いがよくわからないのですが?具体的には、Coverの機能観察とは何でしょうか?(周波数帯のチップで分解して理解する)。木は、観察されるのではなく、特徴によって分割されるようです。 Forester 2019.01.27 16:18 #12756 アレクセイ・ヴャジミキン遺伝的アルゴリズムで 木を作り、エントロピーの向上で世代を選択するRスクリプトがある。そして、何らかの最終選考がある。最終的にすべての木を選び、葉っぱを抜いて、MT5でさらに別個に測定します。スクリプトは公開されていないので、詳細な説明もありません。どうやらそれは森から最高の木を選択するようなものですが、オーバートレーニングを避けるために深さの制限があり、よくプロセスは最後のサンプルにすべてのコアで約2日間かかりますが、すべてのバーではなく、入力する唯一の信号、および3年間のすべてのバーであれば、計算がそこに1.5ヶ月かかります。計算後、ツリーの分割、つまり、最良母集団ツリーのルート予測変数の列を削除して、もう一度やり直すのですが、この手順を40回行っても、非常に良い葉が作られることがあるようです。 このコードにざっと目を通したところ、rpartパッケージからツリーを構築するための機能が遺伝的に選択されていることがわかりました。そこで、それぞれの木に独自の特徴量を学習させるようにしました。遺伝学的に、このような機能セットは完全なブルートフォースよりも高速である。 でも、この木は魔法の木ではなく、rpartが提供する木なんです。そこそこ標準的だと思います。 Forester 2019.01.27 16:55 #12757 マキシム・ドミトリエフスキーまず、すべての特徴量に対してモデルを学習させ、その誤差を保存します。 そして、一つずつ、例えば正規分布で予測変数をランダム化し、このランダム化(変更)したものを含むすべての特徴量で再度誤差を確認し、初期のものと比較します。モデルの再トレーニングは必要 ありません。そうして、それぞれの予測因子をチェックする。もしその予測変数が優れていた場合、サンプル全体(他のすべてのオリジナル予測変数を含む)の誤差はオリジナルに比べて劇的に増加します。エラー差分を保存し、それを元に最適なフィッシュをふるいにかける。そして、最後に優秀なものだけをトレーニングして、製品にモデルチェンジします。悪い予測変数はモデルにとってノイズであり、1%もあれば必要ない。良いものは通常5-10個残るが、残りのものの重要性は指数関数的に減少する(Zipfの法則)。 フィルタを教えようとしたが、あまり意味がない、一度にすべてを一つのモデルに入れた方がいい できれば、ちょうど予測因子VERYの 選択について有能(すでに以前に投げた) 順列についての投稿を見つけました。 面白い変化球ですね。試してみるしかないですね。 100本のバーのモデルに適用して、95本のバーを削除して最初の5本を残そうとすると、結果が50%になるのが怖いですが。結局、その最初の5つはほとんど分割に関与していない(平均して5%のノードしか構築されていない)。 Maxim Dmitrievsky 2019.01.27 17:15 #12758 エリブラリウス 順列についての投稿を見つけました。 面白い変化球ですね。試してみなければなりませんね。 100本モデルに適用して、95本を削除して最初の5本を残そうとすると、結果が50%になるのが怖いですが。結局、その最初の5つはほとんど分割に関与していない(平均して5%のノードしか構築されていない)。100本で何をやっているのかわからない、ちゃんと塗れば大丈夫なんだろうけれども Forester 2019.01.27 19:39 #12759 マキシム・ドミトリエフスキー100本のバーで何をやっているのかわからない。おそらく、きちんと適用すればうまくいくはずだ重要でない予測因子を選別するプロセスを自動化したい) Forester 2019.01.27 19:42 #12760 マキシム・ドミトリエフスキーまず、すべての特徴量に対してモデルを学習させ、その誤差を保存します。 そして、一つずつ、例えば正規分布で予測変数をランダム化し、このランダム化(変更)したものを含むすべての特徴量で再度誤差を確認し、初期のものと比較します。モデルの再トレーニングは必要 ありません。そうして、それぞれの予測因子をチェックする。もしその予測変数が優れていた場合、サンプル全体(他のすべてのオリジナル予測変数を含む)の誤差はオリジナルに比べて劇的に増加します。エラー差分を保存し、それを元に最適なフィッシュをふるいにかける。そして、最後に優秀なものだけをトレーニングして、製品にモデルチェンジします。 悪い予測変数はモデルにとってノイズであり、1%もあれば必要ない。 良いものは通常5-10個残るが、残りのものの重要性は指数関数的に減少する(Zipfの法則)。 フィルタを教えようとしたが、あまり意味がない、一度にすべてを一つのモデルに入れた方がいい できれば、ちょうど予測変数の選択についてVERY有能(すでに以前に投げた)私はこの方法を違った意味で理解していました。 調査対象の予測因子については、正規分布のランダムな値を与えるのではなく、この列の行をシャッフルすればよいのです。 とにかく、記事からの結果が印象的です。実際にやってみないとわからないですね。 1...126912701271127212731274127512761277127812791280128112821283...3399 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ビーバーは知らないうちに同じダムを作っている。
が、それぞれ頑なに自分が新しいものを発明したと信じている。
ビーバーは勤勉で正しい生き物ですが、勉強熱心なビーバーは 意地悪な生き物で、あちこちからほうきで追い払うか、単に無視するのがよいでしょう。
ビーバーは勤勉で正しい生き物、全く別物、騎手見習いは 厄介な生き物、あちこちから箒で追い払うか、いっそのこと無視しちゃいましょう。
「壷の中のアナリスト" :)) 皿洗いのファックオフ
要は、仮に全体の50%が取れたとしても、さらにこの50%から最初のルートスプリットに明確な選択がある(Alglibではそうでないのか?)CatBoostは予測変数のランダムな選択だけでなく、最初の木に対するランダムスプリット(計算の際にランダムに重みが加えられる)も備えています。
私の目標は、モデル全体を推定することではなく、高い確率でサンプルの大部分を記述する葉を得ることです。そして、そのような葉っぱを年ごとに履歴を検証して、組成を作ります。市場全体を表現するものではないかもしれませんが、ほとんどの場合、50%の確率で推測するよりも、知っていることをより正確に答えられる方がいいと思うのです。
プレディクターは600台程度になり、完全にオーバーキルすることは現実的ではなくなりました。
原理的には、ランダムな分割は難しくありません。
個々の木でテスト結果が良いもの(45〜50%)は見たことがないが、それが林立している方が面白い)。
xgboost, lightGBMパッケージには、「木モデル」に対する特徴量の重要 度を推定するメソッドが組み込まれていました。
この指標は、各特徴のモデルへの相対的な寄与度を示すもので、各木を調べ、どの特徴がノード分岐につながるかを調べ、その指標に従ってモデルの不確実性がどれだけ減少したかを計算する(Gini impurity、information gain)。
各特徴について、その寄与度をすべての木について合計する。
各フィーチャーの観測回数を表示します。例えば、4つの機能、3つの木があるとします。fich 1が木のノード1、2、3にそれぞれ10、5、2個のオブザベーションを持っているとすると、このfichの重要度は17 (10 + 5 + 2)となる。
与えられた特徴がツリーノードにどの程度含まれているかを示す。すなわち、各ツリーにおける各特徴の分割ツリーノードの総数がカウントされる。
5本の棒で学習させたフォレストが、100本の棒より良い結果を出すというテストがあります。しかし、100人単位で教える場合、最初の5人は重要視されず、遠くの人が重要視されます。
100でトレーニングした場合、個々の木や森の誤差が小さくなっています。明らかにオーバートレーニングで30-100のバーを重要視していることが原因です。しかし、通常のロジックでは重要ではなく、5小節でのフォレストがより良い結果をもたらすからであることは明らかである。
遺伝的アルゴリズムで 木を作り、エントロピーの向上で世代を選択するRスクリプトがある。そして、何らかの最終選考がある。最終的にすべての木を選び、葉っぱを抜いて、MT5でさらに別個に測定します。スクリプトは公開されていないので、詳細な説明もありません。どうやらそれは森から最高の木を選択するようなものですが、オーバートレーニングを避けるために深さの制限があり、よくプロセスは最後のサンプルにすべてのコアで約2日間かかりますが、すべてのバーではなく、入力する唯一の信号、および3年間のすべてのバーであれば、計算がそこに1.5ヶ月かかります。計算後、ツリーの分割、つまり、最良母集団ツリーのルート予測変数の列を削除して、もう一度やり直すのですが、この手順を40回行っても、非常に良い葉が作られることがあるようです。
でも、この木は魔法の木ではなく、rpartが提供する木なんです。そこそこ標準的だと思います。
まず、すべての特徴量に対してモデルを学習させ、その誤差を保存します。
そして、一つずつ、例えば正規分布で予測変数をランダム化し、このランダム化(変更)したものを含むすべての特徴量で再度誤差を確認し、初期のものと比較します。モデルの再トレーニングは必要 ありません。そうして、それぞれの予測因子をチェックする。もしその予測変数が優れていた場合、サンプル全体(他のすべてのオリジナル予測変数を含む)の誤差はオリジナルに比べて劇的に増加します。エラー差分を保存し、それを元に最適なフィッシュをふるいにかける。そして、最後に優秀なものだけをトレーニングして、製品にモデルチェンジします。悪い予測変数はモデルにとってノイズであり、1%もあれば必要ない。良いものは通常5-10個残るが、残りのものの重要性は指数関数的に減少する(Zipfの法則)。
フィルタを教えようとしたが、あまり意味がない、一度にすべてを一つのモデルに入れた方がいい
できれば、ちょうど予測因子VERYの 選択について有能(すでに以前に投げた)
面白い変化球ですね。試してみるしかないですね。
100本のバーのモデルに適用して、95本のバーを削除して最初の5本を残そうとすると、結果が50%になるのが怖いですが。結局、その最初の5つはほとんど分割に関与していない(平均して5%のノードしか構築されていない)。
順列についての投稿を見つけました。
面白い変化球ですね。試してみなければなりませんね。
100本モデルに適用して、95本を削除して最初の5本を残そうとすると、結果が50%になるのが怖いですが。結局、その最初の5つはほとんど分割に関与していない(平均して5%のノードしか構築されていない)。
100本で何をやっているのかわからない、ちゃんと塗れば大丈夫なんだろうけれども
100本のバーで何をやっているのかわからない。おそらく、きちんと適用すればうまくいくはずだ
重要でない予測因子を選別するプロセスを自動化したい)
まず、すべての特徴量に対してモデルを学習させ、その誤差を保存します。
そして、一つずつ、例えば正規分布で予測変数をランダム化し、このランダム化(変更)したものを含むすべての特徴量で再度誤差を確認し、初期のものと比較します。モデルの再トレーニングは必要 ありません。そうして、それぞれの予測因子をチェックする。もしその予測変数が優れていた場合、サンプル全体(他のすべてのオリジナル予測変数を含む)の誤差はオリジナルに比べて劇的に増加します。エラー差分を保存し、それを元に最適なフィッシュをふるいにかける。そして、最後に優秀なものだけをトレーニングして、製品にモデルチェンジします。 悪い予測変数はモデルにとってノイズであり、1%もあれば必要ない。 良いものは通常5-10個残るが、残りのものの重要性は指数関数的に減少する(Zipfの法則)。
フィルタを教えようとしたが、あまり意味がない、一度にすべてを一つのモデルに入れた方がいい
できれば、ちょうど予測変数の選択についてVERY有能(すでに以前に投げた)
私はこの方法を違った意味で理解していました。
とにかく、記事からの結果が印象的です。実際にやってみないとわからないですね。調査対象の予測因子については、正規分布のランダムな値を与えるのではなく、この列の行をシャッフルすればよいのです。