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

 
ミハイル・マルキュカイツ

間違いは、ただの間違いではありません。小さなミスが大きな影響を与えます。

そして、NSは反復的なデータの取得を求められているわけではありません。繰り返しのデータがない中で、正しい結果を得るために、隠れたパターンを特定することが求められているのです。般化を理解する。データの領域が有限であるにもかかわらず、その50%しかデータがない場合。ネットワークが学習し、パターンを特定することで、見ていないデータの残りを構築することができるのです。まるで、古いビデオ映像の画素が欠けた部分をネットワークが再構築しているようなものです。

統計的なアプローチなんですね!?例えば、いろいろな三角形の写真が20枚あるとします。21枚目は、三角形の斜辺が欠けています。収集した統計から、描かれていない三角形であることは容易に判断できる--(それぞれの写真に三角形がある)。つまり、三角形の描画に 誤りがあっても、全体としての統計はすでに持っているので、致命的なことにはならない。この原理は、NSでも通用するのでは?
 
タグコノウ
それは統計的なアプローチですね。 例えば、いろいろな三角形の写真が20枚あるとします。21枚目は、三角形の斜辺が欠けています。どの写真にも三角形が写っているのですが、収集した統計から、これが描かれていない三角形だと簡単に判断できます。つまり、三角形の描画に 誤りがあっても、私はすでに一般的な統計学を持っているので、致命的なことにはならないのです。この原理はNSでも通用するのでは?
まあ、だいたい、21枚の写真では角が描かれているだけで、そこに三角形は論外ということを考えなければ......。
 
ミハイル・マルキュカイツ
21枚の写真に角が描かれているだけで、そこに三角形の話がないことを除けば、だいたいは......。
統計に基づく予測というのは、そういうものなのです。描かれていない三角形で、次の写真では中空になると予測しています。
 
これだけは言っておく。そして、MoDでは理論と実践の2種類の経験があり、それらは非常に異なっています。実践すればするほど、その分野の哲学がわかってくる。それ、自己隔離でポテチを食べに行くのはクエストにしか見えませんね^^;(
 

ニューラルネットワークの本質と理論的基礎を理解するためには、Kolmogorov、Arnold、Hecht-Nielsonの各理論の 知識が不可欠である。

実務上、特に必要な知識ではありませんが、一般的に理解しておいて損はないでしょう。

 
エリブラリウス

JOTデータからスプリットを見ることができるリンクを紹介しました。そこで、フルモデルをファイルにアップロードするのです。そして、そこからスプリットを読み出す。

確かにすでに非対称の木は、アンロードできるのでしょうか?


エリブラリウス

ブースティングでは、定義上、すべての木が重要である。連続したツリーは、前のツリーをすべてリファインする。もし、ある木を途中で捨ててしまったら、その後に続く木はすべて間違ったデータで動作することになりますから、捨てた木を考慮せずに再トレーニングしなければなりません。この場合、最初のツリーは、廃棄されたツリーを非常によく再現することになります。

いや、それはちょっと違うかな。モデルが出来上がると、そこには木の葉の山があり、0.5に近い確率が出ますが、これは要するにゴミなのです。


エリブラリウス

他の精製ツリーのリーフからの応答で補強されるため、ビンディングの個々のリーフは不完全です。そして、例えば100本の木の累積回答だけが正解となる。

ブーストモデルの1枚から信頼できるものを得ようとするのは不可能です。
ブースティングでは、100本の木から得られる100個の回答をすべて合計し、例えば合計で0.01=1個を与える。1葉=0.01という値、そこから何を得たいのか?何もないんです。100枚の葉の合計だけが正しい答えになります。
実際、1番目の木が強く、例えば0.7を与え、残りの木は合計を1に近づけているのです。最初の木の葉だけを別に考えればですが、ランダムフォレストのどの木よりも、深さが浅い分、弱いと思っています。
ランダムフォレストには平均値があり、例えば100本の木の葉はすべて1、平均値も1である。しかし、100人の回答者が集まれば、それなりに正確な答えとして平均値を出すことができます。

一本の木から有用な情報を得ることも可能ですが、それは稀です。

最初の木でも、最高のものにはならない。

ブーストは高速ですが、モデルを厳選する必要があり、そのためには大きなサンプルが必要なのが問題です。

 
アレクセイ・ニコラエフ

ニューラルネットワークの本質と理論的基礎を理解するためには、Kolmogorov、Arnold、Hecht-Nielsonの各理論の 知識が不可欠である。

実務上、特に必要な知識ではありませんが、一般的に理解しておいて損はないでしょう。

Spc.

これらのニューラルネットワークモデルに関する厳密な理論がないことは、実用的な問題への応用の可能性を研究する妨げにはならない。

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

確かにすでに非対称の木は、アンロードできるのでしょうか?

grow_policy='Lossguide'を追加した例を試してみました。
スプリットを含むモデルの一部をご紹介します。

'split': {'border': 16.049999237060547, 'float_feature_index': 1, 'split_index': 0, 'split_type': 'FloatFeature'}}, 'right': {'left': {'value': 0.05454545454545454, 'weight': 153}, 'right': {'value': 0.8265895953757225, 'weight': 161}, 'split': {'border': 5.999999046325684, 'ctr_target_border_idx': 0, 'split_index': 4, 'split_type': 'OnlineCtr'}}, 
'split': {'cat_feature_index': 1, 'split_index': 1, 'split_type': 'OneHotFeature', 'value': -845129958}}, {'left': {'left': {'value': -0.43103007753084105, 'weight': 444}, 'right': {'value': -0.10906568919445614, 'weight': 133}, 'split': {'border': 6.999999046325684, 'ctr_target_border_idx': 0, 'split_index': 2, 'split_type': 'OnlineCtr'}}, 'right': {'left': {'value': 0.02835585997337218, 'weight': 163}, 'right': {'value': 0.5713236394502054, 'weight': 151},
'split': {'border': 5.999999046325684, 'ctr_target_border_idx': 0, 'split_index': 3, 'split_type': 'OnlineCtr'}}, 
'split': {'cat_feature_index': 1, 'split_index': 1, 'split_type': 'OneHotFeature', 'value': -845129958}

デプスワイズとのスプリットも ある。しかし、これはPython上での話であり、R上でモデルをアンロードする方法は見たことがありません。でも、Rでモデルを内部形式で保存して、Pythonで開いてJSONにアンロードすることは可能だと思います。そして、その中から必要なものだけを

 
同僚話題は面白いのですが、機械学習とテスターでの単純なパラメータ最適化の違いがよくわかりません。結局のところ、目的はほぼ同じで、エントリー(エグジット)パラメータが一致したときにマーケットにエントリー(エグジット)する決断をすることです。どちらの方法も、市場が強く変化すると機能しなくなります。再トレーニングを行い、最適化する必要があります。簡潔に、哲学を抜きにして。
 
Yan Barmin:
同僚。話題は面白いのですが、機械学習とテスターでの単純なパラメータ最適化の違いがよくわからないのですが?目的はほぼ同じで、入力(出口)パラメータが一致したときに市場参入(出口)を決定することである。どちらの方法も、市場が強く変化すると機能しなくなります。再トレーニングを行い、最適化する必要があります。簡潔に、哲学を抜きにして。

その違いは、ツールの柔軟性にあります。ニューラルネットワークは、どんなシリーズにも適応できる。下の多項式を見てください。係数の幅や個数が全く異なることもあり得ます。

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9, double v10) {
   double x0 = 2.0 * (v0 + 2.6721302849319) / 5.70376880500565 - 1.0;
   double x1 = 2.0 * (v1 + 0.862195874260524) / 4.318953971518134 - 1.0;
   double x2 = 2.0 * (v2 + 0.636958350251177) / 2.893126110958697 - 1.0;
   double x3 = 2.0 * (v3 + 1.28131145039971) / 4.47439455086403 - 1.0;
   double x4 = 2.0 * (v4 + 1.40655622673661) / 3.84454848827483 - 1.0;
   double x5 = 2.0 * (v5 + 1.05792133319783) / 4.0361119526354905 - 1.0;
   double x6 = 2.0 * (v6 + 0.960632890559664) / 2.810809591513934 - 1.0;
   double x7 = 2.0 * (v7 + 2.50474545671368) / 4.50657217846072 - 1.0;
   double x8 = 2.0 * (v8 + 3.37124943164126) / 5.00153555828254 - 1.0;
   double x9 = 2.0 * (v9 + 1.01434366581359) / 3.81959911946484 - 1.0;
   double x10 = 2.0 * (v10 + 0.997401251919643) / 2.959840023725593 - 1.0;
   double decision = 0.0455519244734931 * sigmoid(x0 + x5 + x8)
  + 0.01733841684822077 * sigmoid(x5 + x7 + x8)
  + 0.21269063180827888 * sigmoid(x0 + x5 + x7 + x8)
  + 0.02875816993464052 * sigmoid(x0 + x8 + x9)
  -0.025853304284676835 * sigmoid(x0 + x4 + x8 + x9)
  + 0.021169208424110384 * sigmoid(x0 + x7 + x10)
  + 0.07184095860566449 * sigmoid(x0 + x8 + x10)
  + 0.03769063180827887 * sigmoid(1.0 + x0 + x3 + x5 + x8)
  -0.03179012345679012 * sigmoid(1.0 + x3 + x6 + x9)
  + 0.02750544662309368 * sigmoid(1.0 + x0 + x5 + x7 + x9)
  + 0.1463507625272331 * sigmoid(1.0 + x1 + x2 + x8 + x9)
  + 0.012799564270152506 * sigmoid(1.0 + x0 + x2 + x10)
  + 0.1864560639070443 * sigmoid(1.0 + x0 + x1 + x5 + x8 + x10)
  + 0.07494553376906318 * sigmoid(1.0 + x0 + x2 + x5 + x8 + x10)
  + 0.014669571532316631 * sigmoid(1.0 + x2 + x5 + x6 + x8 + x10)
  + 0.05266884531590414 * sigmoid(1.0 + x0 + x1 + x7 + x8 + x10)
  + 0.04566085693536674 * sigmoid(1.0 + x0 + x1 + x2 + x8 + x9 + x10)
  + 0.061546840958605666 * sigmoid(1.0 + x0 + x2 + x4 + x8 + x9 + x10);
   return decision;
}

このような柔軟性を誇るマルチパラメータのExpert Advisorは ありません。また、一般化能力もあると言われていますが、定かではありません :-)

理由: