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

 
ディミトリ

ルネサンス期にはビザンティウムはすでに存在せず、コンスタンティノープルはオスマン帝国の首都であり、十字軍は その200年前に終わっていたのです

冗談抜きで...

復活は 4つのステージに分かれる。

  1. プロト・ルネサンス(13世紀 後半~14世紀)
  2. アーリールネッサンス(15世紀初頭から15世紀後半まで)
  3. ハイ・ルネサンス(15世紀末~16世紀前半20年間)
  4. ルネサンス後期

1202年〜1204年の第4回十字軍(これが 13世紀の 始まりです)

ヨーロッパで最も裕福で大きな都市を略奪した後...彼ら(十字軍)は、コンスタンティノープルを首都とする国家、ラテン帝国を建国した。征服者との闘いは50年以上続いた。1261年、ラテン帝国は滅亡した。ビザンティウムは復興したが、二度とかつての力を取り戻すことはできなかった。

50年にわたるビザンティウムでの略奪生活で、新たに豊かになったヨーロッパ人(主に海運業を営んでいたヴェネツィアとその地区)は、美しい生活に味をしめ、クリエイティブな人々に高い報酬を払うようになりました。クリエーターが弟子を雇って育て、その弟子が教師として優秀な成績を残すなど。という具合に、どんどん進んでいきました。

 
CatBoostの サンプリング意見が必要で、そこではトレーニングに2つのサンプルが必要です。1つ目は最適化関数,2つ目はモデル選択,つまり過学習を避けるためにこの関数の働きをいつ止めるかであり,そのために学習結果を2つ目のサンプルに適用する.と思っているのですが、実は2014~2016年のトレーニングサンプルでパターンを探し、2016~2017年でこのパターンをテストし、2018~2019年の第3サンプルですでにモデルを独自にテストしていることが判明しています。長期にわたって安定したパターンを捉えたいのに、そのパターンの持続時間がわからないのですから、これだけ時間の広がりが大きいと困惑するというか、テストに大きなサンプルが必要なのか疑問です...。テストサンプルに2-3ヶ月を入れれば、周期的で前後に繰り返されるトレンドが明らかになると考えていますが、そうすると、トレーニングサンプルでこの周期性を明らかにする前に、モデルが他のものを記述する木を多く集めてしまい、その時だけテストサンプルのトレンドを記述する木を構築するリスクがあります。とにかく迷って、3つのサンプルのそれぞれの長さを決めるのに役立つ実験をどうしたらいいかわからない。どなたかお分かりになる方はいらっしゃいますか?
 
エリブラリウス

50年にわたるビザンティウムでの略奪生活で、新たに豊かになったヨーロッパ人(主に海運を担当したベネチアとその郡部)は、美しい生活に味をしめ、クリエイティブな人々に高い報酬を支払うようになりました。クリエーターが弟子を雇って育て、その弟子が教師として優秀な成績を残すなど。そうやって、少しずつ、少しずつ。

しかし、もちろんこれはIMHOです。

あるヨーロッパのテレビ局の司会者は、「コンスタンティノープルの陥落は、何十万人もの犠牲者と破壊にもかかわらず、教育を受けた人々がヨーロッパに殺到し、進んで採用され、これがローマ帝国から失われた知識の一部を返還する機会を与え、中世からの出現に貢献したことは幸いであった」と述べた。

すなわち、戦争のような冒涜的な行為でさえ、現在でも全人類のための善行として紹介されている......。歴史は勝者によって書かれる。

 
Aleksey Vyazmikin:
しかし、トレーニングサンプルでこの周期性を明らかにする前に、モデルが他のものを記述する木を作りすぎてしまい、テストサンプルでその傾向を記述する木を作るだけになってしまうというリスクがあります。

木もNSも時間によって文字列を分けているわけではなく、シャッフルしているのです。だから、「では」木は建たない。どれも均等に シャッフルされたデータの上に成り立っている。2014年と2016年の列を並べることができます。

NSが行をシャッフルしない場合、最初の例で再学習するだけでデッドロックに陥り、最後のデータで学習が終わらない。列をシャッフルした後、NSは均等に学習する。r=1(1本の木を学習するための行の占有率)なら行をシャッフルする必要はありませんが、通常は過学習を避けるために<1に設定されているので、それもシャッフルする必要があり、r=0.5では2014年と2015年のデータだけを取らないということですね。

Aleksey Vyazmikin:
3つのサンプルのそれぞれの長さを決めるのに役立つような実験をどうすればいいかわからない。何か心当たりはありますか?

これも最適化する必要があると思います。しかし、私は、サンプルが代表的で、すべてのランダムな偏差を平均化するために、行数は1000~10000未満であってはならないと考えています。そうでなければ、小さなサンプルにランダムなバイアスを当てはめることができます。

 
アレクセイ・ヴャジミキン

あるヨーロッパの番組では、コンスタンティノープルの陥落は、何十万人もの犠牲者と破壊にもかかわらず、教育を受けた人々がヨーロッパに殺到し、彼らは進んで採用され、その結果、ローマ帝国から失われた知識の一部を取り戻すことができ、中世からの脱出に貢献した、と述べている。

すなわち、戦争のような冒涜的な行為でさえ、現在でも、全人類のための善行として紹介されている......。歴史は勝者によって書かれる。

もちろん、誰もが自分にとっての良さを認識する。もちろん、ヨーロッパ人にとっては、これは財政と頭脳の略奪という善行である。ビザンチン人にとって、これは祝福ではなく、多くの人にとって死であった。

正確には覚えていませんが、ビザンティンの黄金期には、年間2〜4千トンの金が課税されていたそうです。しかし、数年前に見た映画では、そのようなことが描かれていました。ご興味のある方はご覧ください。冒頭で偶然に出会ったのですが、コインだけでも数百トンが運び出されました。


 
エリブラリウス

木もNSも、時間によって文字列を分けているわけではなく、シャッフルしているのです。したがって、"後から "木を作ることはないのです。どれも均等にシャッフルされたデータの上に成り立っている。2014年と2016年の列を並べることができます。

私の言いたいことが伝わったかというと、そうとは言い切れません。

学習用サンプルで1本の木を作り、それがサンプルの10%(Recall)をカバーしたとすると、20本の木はそれぞれRecallを3%~7%追加しますが、これは学習用サンプルでの話です。一方、テストサンプルでは、一般に5~6本だけが完全性と精度の反応を示し、前後の木はノイズとなりますが、アルゴリズムでその「後」が切られれば、「前」が残ります。つまり、分類に役立つ木と邪魔になる木、あるいは受動的に振る舞う木が混在したモデルができあがります。だからこそ、テストサンプルの大きさとその充填が問題なのです。

全部で14本ほどの弦楽器があるのですが、それを3つのサンプルに分けたいのです。

このようなモデルの場合、サンプルの異なる塊を切り出して、出来上がったモデルをサンプル全体でテストして安定性を確認するのが効率的なのかもしれませんね...。思索にふける。

 
エリブラリウス

もちろん、良いというのは各個人の認識です。もちろん、ヨーロッパ人にとっては、財政と頭脳の強奪という形で祝福された。ビザンティン人にとってそれは恩恵ではなく、多くの人にとって死であった。

正確には覚えていませんが、ビザンティウムの最盛期には、年間の税金は金で2〜4千トンくらいでした。私たちの時代でも、多くの国にとって非常に良い量です。 しかし、私はその数字について間違っているかもしれません。数年前に見た映画では、そう言っていました。ご興味のある方はご覧ください。冒頭で偶然にも出くわした--コインだけで数百トンを取り出した。


ビデオを見てみるよ、ありがとう、でも日本人か誰か独立した人から見たいんだ...。

 
アレクセイ・ヴャジミキン
もしかしたら、完全性・正確性については、5番と6番の木だけが全く反応を示さず、前後の木はノイズになるかもしれませんが、もし「後」の木がアルゴリズムで刈り込まれるなら、「前」の木は残りますね。

どんなアルゴリズムで、すでに作られた森から木を切り出すのか?森は、ある一定の数に達したとき、あるいは他の方法で、よく学習したと判断したときに、成長を終了します。学習時に刈り込みを行うのであれば、学習時の誤差に良い影響を与えます(valid時にもあります)。

一般的に、もちろん木の一部は賛成に、一部は反対に投票することになります。そして、それを取り除くことは不可能です。なぜなら、それが、投票の平均化によって、個々の木とは異なり、森がうまく学習することを可能にしているからです。ブースティングの場合、最初の木だけがデータから学習し、他の木は誤差から学習する。

 
elibrarius:

どんなアルゴリズムで、すでに作られた森から木を切り出すのか?森は、ある一定の数に達したとき、あるいは他の方法で、よく学習したと判断したときに、成長を終了します。学習中に刈り込みが行われる場合、学習時の誤差に正の効果がある(有効な場合は有効な誤差も)。

CatBoostでは、10本(指定した本数)の新しい木が結果を改善しなかった場合、最後の10本の木を含まないモデルを作成し、それぞれ、利用可能なものの中で最高のものとするパラメータを設定することができます。

elibrarius:

ブースティングの場合、最初の木だけがデータから学習し、他の木は誤差から学習する。

面白い言葉ですね。ただ、その後のツリーは、既存のツリー構成からの誤差を減らすように作られていますが、ではなぜサンプリングを使わないのかが理解できません、もっと詳しく教えてください、何か深く理解していないかもしれませんが...。

 
アレクセイ・ヴャジミキン

面白い言葉ですね。しかし、後続のツリーは、既存のツリー構成からの誤差を減らすように作られていますが、ではなぜサンプリングを使わないのかが理解できません、もっと詳しく教えてください、もしかしたら深いところで見落としているかもしれませんが...。

そう、誤差を減らすために、正確な誤差を目標にし、それを差し引いているのです。

ブースティングのアルゴリズムはこちら、自分でも勉強中です https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1.データに対して 線形回帰または決定 木を設定(ここでは決定木を選択) [入力としてxを、出力としてyを 呼び出す](データに対して1treeを学習)

2.誤差を計算する。実際の目標値から予測目標値を差し引いた値 [e1 = y - y_predicted1].

3. 同じ入力変数で外れ値 用の新しいモデルをターゲット変数として 設定する [e1_predictedと名付ける] (2 と残りの木は誤差で学習する)

4.予測された外れ値を前回の予測値に追加する
[y_predicted2 = y_predicted1 + e1_predicted] とする。

5. 残りの誤差に対して別のモデルを設定する。すなわち、[e2 = y - y_predicted2] とし、オーバーフィットするか、合計が一定になるまでステップ 2 から 5 を繰り返す。検証用データで常に精度をチェックすることで、オーバーフィッティングの制御が可能です。


これは古典的なブーストだと理解しています。もしかしたら、catbustが独自に考え出したものかもしれない...。

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...
理由: