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

 

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

マキシムカが森で絡まれ、まだ出口が見つからない?事業内容 ......

仕事と悩みばかりで、長い間ここに来ていないことは認めますが...。でも、ここに来ることにしたんです。いわば、チェックインです :-)ところで...。

何もないところに居場所がある。かつては石頭のマキシムカ、今は半端者のマキシムカ)))


 
ヴィザード_。

何もないところに居場所がある。昔は "石頭のマクシムカ"、今は "半端者のマクシムカ")


シークレットガール
 
マキシム・ドミトリエフスキー

まあ君は一生お元気で、身分も変えない。

隠し芸

あ、先生)))それは「モデル」でも同じです。鹿はどこだ、女の子はどこだ、0はどこだ。
と1...定義がない、一山いくらのものです)))ほほえましい...。

 
ヴィザード_。

あ、先生))))それは、モデルでも同じです。鹿はどこだ、女の子はどこだ、0はどこだ。
と1...は、わからない、全部で1つの山))))愉快だ............。

どう対応したらいいのか、10分以上かかりました...スクリーンショットを準備したり、悩んだりしたんでしょうね...。

なるほど、ガラクタの山からリスポーンして華々しく登場すれば、気分爽快なんですね ))

まあ、お帰りなさい ))))

 
マキシム・ドミトリエフスキー

学習スピードは良いが、フォレストファイルが大きいため、使用時のレスポンスと構造のダウンロード時間が悪い。最大で300mbになったことがある。

シリアライズがおかしい。森は、ファイルから読み戻すよりも速く学習され、保存されます。

森が生成するファイルの数が桁違いに少なくなったというのであれば、非常に大きな高速化です

逆にNSは、訓練時間は長いですが、レスポンスは瞬時です。分類の質に差はない。何を使ってもいいのですが、箱から出した森が機能し、NSは調整が必要です。


バージョンアップの説明で書かれているのは、すべて森のことです。
ランダムフォレスト構築アルゴリズムの改良により、従来比2倍から10倍高速化し、桁違いに小さいフォレストを生成できるようになりました。

旧バージョンのデータ構造は 以下の通りです。

//--- ノード情報。

//--- W[K+0] - 変数番号(リーフモードでは-1).
//--- W[K+1] - 閾値(リーフノードのクラス/値).
//--- W[K+2] - ">="ブランチインデックス(リーフノードの場合は存在しない)

この新しいノードには、ノードと同じ3つの変数とリーフと同じ2つの変数が格納されます。
そして、全く同じ方法でツリーが構築されます。最後の例まで、エラーは0です。剪定は見ていない。
コードへのコメントで高速化について書かれているのは
SplitStrength- スプリットタイプ。
* 0 = ランダムな位置で分割。
* 1 = 範囲の中央での分割
* 2 = 範囲の最良点で強分割(デフォルト)

ランダムな分割を行うことで、2~10倍のスピードアップと、より良い分割ポイントが得られるようで、その結果、よりコンパクトなツリーになる可能性があります。

分割機能にランダムな点選択を追加すればいいのです。2-3行で編集してください))

 
エリブラリウス

英語はよくわからない。
森羅万象が書かれています。
ランダムフォレスト構築アルゴリズムの改良により、従来比2倍から10倍高速化し、桁違いに小さいフォレストを生成できるようになりました。

旧バージョンのデータ構造は このようなものでした。

//--- ノード情報。

//--- W[K+0] - 変数番号(リーフモードでは-1).
//--- W[K+1] - 閾値(リーフノードのクラス/値).
//--- W[K+2] - ">="ブランチインデックス(リーフノードの場合は存在しない)

この新しいノードには、ノードと同じ3つの変数とリーフと同じ2つの変数が格納されます。
そして、全く同じ方法でツリーが構築されます。最後の例まで、エラーは0です。剪定は見ていない。
コードへのコメントで高速化について書かれているのは
SplitStrength- スプリットタイプ。
* 0 = ランダムな位置で分割。
* 1 = 範囲の中央での分割
* 2 = 範囲の最良点で強分割(デフォルト)

ランダムな分割を行うことで、2〜10倍のスピードアップと、より良い分割ポイントが得られるようで、その結果、よりコンパクトなツリーが得られると思われます。

つまり、分割方法が設定できるようになったのですね。しかし、デフォルトが一番遅いことに変わりはない

そうか、それなら自分でやり直せばいいんだ、うん :)

 
マキシム・ドミトリエフスキー

つまり、分割方法が設定できるようになったのですね。しかし、デフォルトが一番遅いことに変わりはない

そうですか、それなら自分でやり直せばいいんですね、はい :)

端末が更新 されると、これらの変更はすべて上書きされてしまうのではと心配になります。フォレストクラスをコピーして別ファイルとして保存しておく必要があります
 
エリブラリウス
ただ、端末が更新 されると編集した内容がすべて上書きされてしまうのが怖いですね。フォレストクラスのコピーを作り、別のファイルとして保存しておく必要があります

そうですね、アーカイブを残しておくとか。

じゃあ、実験してみようか。いろいろと調べてくれてありがとう、助かるよ。

ベイジアンツリーを追加するのと同じように、もし理解できたら
 
エリブラリウス

だから、ここで変えようとすることがあるのだと理解しています。

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
マキシム・ドミトリエフスキー

だから、ここで何かを変えようとすることができるのだと理解しています。

はいそして、それをDFSplitRで複製し、回帰の足場も同じ機能を持つようにします。

理由: