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

 
エリブラリウス
1ヶ月間何かを始める場合 - コンピュータの無停電電源を使用してください、私は一度2週間の計算をした、ライトが消えました))
そして、GPU版はあまり期待できませんが、コードを書き直すのは長いようで、作者がやっていなければ、他の誰かがこの作業を最後までやり遂げることはないでしょう。

さて、筆者はすべてを平行移動させたので、あとは走らせるだけである。とにかく3日間MAXで走らせ、9回入力のモデルを手に入れましたが、これは正直言って今の自分にとって記録的なことです。そんなに長い間、最適化したいとは思っていません。しかし、よく言われるように市場が求めているのです。したがって、パワーを求めて、どなたかオプティマイザーで、しかも20~30コアでデータセットを最適化する機会があれば、非常にありがたいです。
 

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

学習する日、週。

このような小さなデータセットでは、Knnのようなブルートフォースアルゴリズムを安全に使用することができ、それは準最適です。このようなデータセットでは、学習サイクル全体とセット全体の実行は1秒以上かかるべきではありません。
 
pantural
このような小さなデータセットでは、Knnのようなブルートフォースアルゴリズムを使用することができます。このようなデータセットでは、学習サイクル全体とセット全体の実行は1秒以上かかるべきではありません。

上で説明したとおりです。100分割、各分割は1000エポック学習など。オプティマイザーの本質は、データセットの適合性に疑問が生じないように計算することである。つまり、彼はこのファイルを比喩的に上下に回転させ、あなたはそれをニューロンの1回のトレーニングと比較し続けるのです。IMHO本来は、ニューロンの学習とともにあらゆる最適化や前処理が行われ、学習そのものが何百回も行われるAIシステムです。どちらかというと...。
 
ミハイル・マルキュカイツ

上で説明したとおりです。100分割、各分割は1000エポック学習、など。オプティマイザーの本質は、データセットを計算して、その適性に疑問の余地がないようにすることなのに、あなたはニューロンの1回のトレーニングに固執している。つまり、彼はこのファイルを比喩的に上下に回転させ、あなたはそれを1つのニューロンの1回のトレーニングと比較し続けるのです。IMHO本来は、ニューロンの学習とともにあらゆる最適化や前処理が行われ、学習そのものが何百回も行われるAIシステムです。どちらかというと...。
私は一般的にこのようなトレーニングには反対ですが、あなたのマシンはまさにダンナが発明したもので、私でも理解することができます。
 
エリブラリウス
MLPって95%くらい当ててるよね...。正しいバイクをやっているとは思えないが)悪気はない。

間違っていますよ。
表の一番最初の列は行番号で、この列は予測では使えないのですが、なぜかjPredictionにだけ必要なのです。

ターゲットは、前半のラインがクラス0、後半のラインがクラス1となるように分布しています。そこで、ニューロンは、行番号が228より小さければクラス0、そうでなければクラス1と単純に記憶している。

 
Dr.トレーダー

間違っていますよ。
テーブルの一番最初の列は行番号で、予測ではこの列は使えないのですが、なぜかjPredictionだけ義務化されています。

ターゲットは、前半のラインがクラス0、後半のラインがクラス1となるように分布しています。そこで、ニューロンは単純に、行番号が228より小さければクラス0、そうでなければクラス1と記憶しているのです。

あ、ちなみに、そうです。ただの数字であることに気づかなかった。

なし 保管する入力:4,50,53,59,61,64,92,98,101,104。

学習時の平均誤差(60.0%) =0.269 (26.9%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
検証時の平均誤差(20.0%) plot =0.864 (86.4%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
テスト時の平均誤差(20.0%) plot =0.885 (88.5%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2

明らかにオーバートレーニング。だから、インプットを別の方法でふるいにかける必要があるんです。

入力の重さでふるいにかけるとか?スレッドの最初の投稿にある問題に対して行ったように...。

添付のRスクリプトを書き換えて、列の名前と数を決定できるようにしようとしているのですが...。が、Rを十分に知らない。

 
エリブラリウス

添付していただいたRスクリプトを書き換えて、列の名前と数を決定するようにしたいのですが...。が、Rを十分に知らない。


当時はまだRを学び始めたばかりで、スクリプトはほぼ全てrattle(Rのデータマイニング用ビジュアル環境)で生成されており、そのため非常に複雑で、あらゆる場面でカスタマイズされているのです。


これは...

crs$input <- c("input_1", "input_2", "input_3", "input_4",
     "input_5", "input_6", "input_7", "input_8",
     "input_9", "input_10", "input_11", "input_12",
     "input_13", "input_14", "input_15", "input_16",
     "input_17", "input_18", "input_19", "input_20")

crs$numeric <- c("input_1", "input_2", "input_3", "input_4",
     "input_5", "input_6", "input_7", "input_8",
     "input_9", "input_10", "input_11", "input_12",
     "input_13", "input_14", "input_15", "input_16",
     "input_17", "input_18", "input_19", "input_20")

に変更する必要があります...

crs$input <- colnames(crs$dataset)[-ncol(crs$dataset)]

crs$numeric <- crs$input

そして、それは大丈夫なはずです。


一般的には、このような方法で入力の重要性を定義するのはよくありません。その時はなぜかうまくいったのですが、それっきりです。

 

予測変数の重要度は、以下のように定義するのがよいでしょう。

library(vtreat)

sourceTable <- read.table("BuySell.csv", sep=";", header = TRUE, stringsAsFactors = FALSE)

#Эта  строка кода относится только к конкретно этому файлу.
 этом csv первая колонка и первая строка специально заполнены для конкретной модели, и тут не нужны. Удалить.
#для  обычных csv файлов такую команду выполнять не нужно.
sourceTable <- sourceTable[-1,-1]

#число колонок
sourceTable_ncol <- ncol(sourceTable)

#Оценка  для классификации, только для двух классов.
#Outcometarget  должен быть равен значению одного из классов.
#На  выбор или эта функция designTreatmentsC, или designTreatmentsN, или designTreatmentsZ (ниже, закоменчены)
#Взаимная  корреляция предкиторов учитывается только в designTreatmentsC, и у повторяющихся или похожих предикторов оценка будет понижаться
set.seed(0)
treats <- designTreatmentsC(dframe = sourceTable,
                            varlist = colnames(sourceTable)[-sourceTable_ncol],
                            outcomename = colnames(sourceTable)[sourceTable_ncol],
                            outcometarget = 1,
                            verbose = FALSE
)

# #оценка  для регрессии или если больше двух классов
#  sourceTable[,sourceTable_ncol] <- as.numeric(sourceTable[,sourceTable_ncol])
#  set.seed(0)
#  treats <- designTreatmentsN(dframe = sourceTable,
#                              varlist = colnames(sourceTable)[-sourceTable_ncol],
#                              outcomename = colnames(sourceTable)[sourceTable_ncol],
#                              verbose = FALSE
# )

# #Оценка  предикторов без учёта цели.
#  set.seed(0)
#  treats <- designTreatmentsZ(dframe = sourceTable,
#                              varlist = colnames(sourceTable)[-sourceTable_ncol],
#                              verbose = FALSE
# )
# 




#табличка  только с названием колонки и её оценкой важности
resultTable <- treats$scoreFrame[,c("varName", "sig")]

#сортировка
 resultTable <- resultTable[order(resultTable$sig),]

#согласно  общему правилу, оценка предиктора (sig) должна быть меньше 1/<общее число предикторов>
#чем  оценка меньше, тем лучше
resultTable$testPassed <- resultTable$sig < 1/(sourceTable_ncol-1)

#для  создания модели и прогноза лучше использовать только те предкторы у которых testPassed == TRUE
resultTable
 

重要度評価の結果は、以下の通りです。表中の予測値は高いほど良い。VVolum6, VDel1, VVolum9, VQST10 のみが合格しました。

rattleでは、この4つの予測因子に対して一度に6つのモデルを構築することができ、SVMは検証データとテストデータで約55%の精度を示しています。悪くないですね。

             varName sig testPassed 182 VVolum6_catB 3.220305e-06 TRUE 28 VDel1_catB 1.930275e-03 TRUE 186 VVolum9_catB 5.946373e-03 TRUE 143 VQST10_catB 8.458616e-03 TRUE 126 VQST_catB 1.843740e-02 FALSE 23 Del11_catP 2.315340e-02 FALSE 147 Volum_catP 2.331145e-02 FALSE 24 Del11_catB 2.429723e-02 FALSE 154 Volum3_catB 2.985041e-02 FALSE 12 Del5_catP 3.689965e-02 FALSE 120 QST9_catB 4.092966e-02 FALSE 130 VQST2_catB 4.429723e-02 FALSE 154 Volum3_catB 2.985041e-02 FALSE 12 Del5_catP 3.689965e-02 FALSE 161136235e-02 FALSE 163 Volum9_catP 4.299684e-02 FALSE 109 QST2_catB 4.311742e-02 FALSE 32 VDel3_catB 4.704981e-02 FALSE 11 Del5_lev_x.14.725332e-02 FALSE 19 Del9_catB 5.316355e-02 FALSE 13 Del5_catB 5.472078e-02 FALSE 178 VVolum4_catB 5.725332e-02 FALSE 19 Del9_catB 5.316355e-02 FALSE 178 VVolum4_catB 5.316355e-02 FALSE705614e-02 FALSE 191 VVolum11_catB 5.749245e-02 FALSE 148 Volum_catB 6.281945e-02 FALSE 181 VVolum6_catP 6.534487e-02 FALSE 31 VDel3_catP 6.534487e-02 FALSE 191 VVolum11_catB 5.749245e-02 FALSE 181 VVolum11_catB 5.534487e-02 FALSE911261e-02 FALSE 74 VST11_catB 7.709038e-02 FALSE 134 VQST4_catB 9.536026e-02 FALSE 141 VQST9_catB 9.536026e-02 FALSE 162 Volum7_catB 9.589108e-02 FALSE 107 QST1_catB 9.589108e-02 FALSE 2 Del_catB 1.049703e-01 FALSE 151 Volum2_catP 1.071203e-01 FALSE 60 ST11_catB 1.589108e-02 FALSE 5.589108e-02 FALSE 6.589108e-02 9.589108e-02 FALSE 7.589108e-02 FALSE 8.0076877e-01 FALSE 43 VDel10_catP 1.201338e-01 FALSE 184 VVolum7_catB 1.286891e-01 FALSE 121 QST10_catP 1.464880e-01 FALSE 38 VDel6_catB 1.076877e-01 FALSE 121 VDel10_catP 1.201338e-01 FALSE479268e-01 FALSE 173 VVolum2_catP 1.663695e-01 FALSE 8 Del3_catB 1.703652e-01 FALSE 10 Del4_catB 1.755150e-01 FALSE 30 VDel2_catB 1.479268e-01 FALSE 174 Volum2_catP 1.663695e-01 FALSE 175 VDel2_catB 1.663695e-01 FALSE781568e-01 FALSE 37 VDel6_catP 1.797087e-01 FALSE 1 Del_catP 1.995316e-01 FALSE 112 QST4_catP 2.104902e-01 FALSE 15 Del6_catB 2.132517e-01 FALSE 27 VDel1_catP 2.313270e-01 FALSE 41 VDel9_catP 2.316597e-01 FALSE 100 VAD11_catP 2.320692e-01 FALSE 144 VQST11_lev_x.100を作成しました。2.374690e-01 FALSE 123 QST11_catP 2.576971e-01 FALSE 145 VQST11_catP 2.626389e-01 FALSE 104 QST_catP 2.716664e-01 FALSE 160 Volum6_catB 2.776463e-01 FALSE 115 QST6_catP 3.034207e-01 FALSE 137 VQST6_catB 3.060767e-01 FALSE 102 QST_lev_x.100 3.061104e-01 FALSE 36 VDel5_catB 3.149911e-01 FALSE 99 VAD11_lev_x.0蝙九十九戒3.340276e-01 FALSE 17 Del7_catB 3.431346e-01 FALSE 16 Del7_catP 3.819094e-01 FALSE 3 Del1_catP 3.912432e-01 FALSE 152 Volum2_catB 3.938369e-01 FALSE 44 VDel10_catB 3.965567e-01 FALSE 5 Del2_catP 4.Del1_catP、Del2_caT、Del3_caT、Del4_caT、Del5_caT、Del6_caT。363645e-01 FALSE 20 Del10_catP 4.409282e-01 FALSE 171 VVolum1_catP 4.550495e-01 FALSE 169 VVolum_catP 4.682515e-01 FALSE 46 VDel11_catP 4.693330e-01 FALSE 86 AD11_catP 4.742976e-01 FALSE 187 VVolum10_catP 4.5428e01 FALSE 179 VVolum2_catP 4.5428e01 FALSE963890e-01 FALSE 132 VQST3_catP 5.291401e-01 FALSE 14 Del6_catP 5.310502e-01 FALSE 124 QST11_catP 5.355186e-01 FALSE 177 VVolum4_catP 5.542335e-01 FALSE 150 Volum1_catP 5.552986e-01 FALSE 39 VDel7_catP 5.5402e-01 FALSE 176 VVolum1_catP 5.5402e-01 FALSE 177 VVolum2_catP 5.540235e-01 FALSE 178 VVolum3_CatP 5.540240e-01 FALSE589613e-01 FALSE 185 VVolum9_catP 5.589901e-01 FALSE 59 ST11_catP 5.669251e-01 FALSE 188 VVolum10_catB 5.680089e-01 FALSE 21 Del10_catB 5.706515e-01 FALSE 9 Del4_catP 5.708557e-01 FALSE 142 VQST10_catP 5.680089e-01 FALSE725309e-01 FALSE 113 QST4_catB 5.856434e-01 FALSE 119 QST9_catP 5.922916e-01 FALSE 131 VQST3_catP 6.033950e-01 FALSE 168 Volum11_catB 6.156530e-01 FALSE 155 Volum4_catP 6.196455e-01 FALSE 170 VVolum_catB 6.156455e-01 FALSE 169 VQST4_catP 6.15640e-01 FALSE244269e-01 FALSE 180 VVolum5_catB 6.279081e-01 FALSE 87 AD11_catB 6.372863e-01 FALSE 153 Volum3_catP 6.641713e-01 FALSE 73 VST11_catP 6.701117e-01 FALSE 172 VVolum1_catB 6.707140e-01 FALSE 183 VVolum7_catP 6.771533e-01 FALSE 55 ST6_catB 6.780044e-01 FALSE 42 VDel9_catB 6.925700e-01 FALSE 167 Volum11_catP 6.973599e-01 FALSE 179 VVolum5_catP 7.093678e-01 FALSE 125 VQST_catP 7.189573e-01 FALSE 146 VQST11_catB 7.925700e-01 FALSE 169 VVolum11_catP 7.9258e01 FALSE195859e-01 FALSE 101 VAD11_catB 7.250369e-01 FALSE 25 VDel_catP 7.310211e-01 FALSE 108 QST2_catP 7.426980e-01 FALSE 29 VDel2_catP 7.486648e-01 FALSE 136 VQST6_catP 7.529104e-01 FALSE 103 QST_lev_x.07.600202e-01 FALSE 22 Del11_lev_x.07.600202e-01 FALSE 47 VDel11_catB 7.619000e-01 FALSE 140 VQST9_catP 7.684919e-01 FALSE 164 Volum9_catB 7.743767e-01 FALSE 4 Del1_catB 7.796789e-01 FALSE 158 Volum5_catB 7.804397e-01 FALSE 117 QST7_catP 7.619000e-01 FALSE 7.719000e-01 7.619000e-01 7.724000e-01 FALSE843659e-01 FALSE 26 VDel_catB 7.904299e-01 FALSE 166 Volum10_catB 7.936121e-01 FALSE 165 Volum10_catP 8.017445e-01 FALSE 6 Del2_catB 8.104867e-01 FALSE 190 VVolum11_catP 8.133908e-01 FALSE 45 VDel11_lev_x8.231377e-01 FALSE 189 VVolum11_lev_x.08.231377e-01 FALSE 105 QST_catB 8.431046e-01 FALSE 174 VVolum2_catB 8.506238e-01 FALSE 81 AD6_catP 8.552222e-01 FALSE 94 VAD6_catP 8.552222e-01 FALSE 110 QST3_catP 8.560370e-01 FALSE 35 VDel5_catP 8.633955e-01 FALSE 122 QST10_catB 8.651814e-01 FALSE 18 Del9_catP 8.816989e-01 FALSE 34 VDel4_catB 8.6168e-01 FALSE 16 VDel5_catP 8.560370e-01 FALSE909886e-01 FALSE 176 VVolum3_catB 8.911481e-01 FALSE 159 Volum6_catP 9.086195e-01 FALSE 106 QST1_catP 9.218420e-01 FALSE 133 VQST4_catP 9.218420e-01 FALSE 133 VVolum6_catP 9.218420e-01 FALSE218420e-01 FALSE 70 VST9_catP 9.223350e-01 FALSE 129 VQST2_catP 9.276503e-01 FALSE 54 ST6_catP 9.371128e-01 FALSE 161 Volum7_catP 9.634046e-01 FALSE 138 VQST7_catP 9.223350e-01 FALSE 161 VQST2_catP 9.371127e-01 FALSE991105e-01 FALSE 116 QST6_catB 9.992413e-01 FALSE 7 Del3_catP 9.993376e-01 FALSE 33 VDel4_catP 9.994999e-01 FALSE 40 VDel7_catB 9.992413e-01 FALSE 117 VDel4_catP 9.992413e-01 FALSE 118 VDel7_catB 9.992413e-01 FALSE995014e-01 FALSE 157 Volum5_catP 9.995728e-01 FALSE 156 Volum4_catB 9.995799e-01 FALSE 118 QST7_catB 9.995921e-01 FALSE 139 VQST7_catB 9.995937e-01 FALSE 175 VVolum3_catP 9.996133e-01 FALSE 149 Volum1_catP 9.996479e-01 FALSE 48 ST_catB 1.000000e+00 FALSE 49 ST1_catB 1.000000e+00 FALSE 50 ST2_catB 1.000000e+00 FALSE 51 ST3_catB 1.000000e+00 FALSE 49 ST1_catB 1.000000e+00 FALSE 49 ST2_catB 1.000000e+00 FALSE 49 ST2_catB 1.000000e+00 FALSE 54 ST3_catC000000e+00 FALSE 52 ST4_catB 1.000000e+00 FALSE 53 ST5_catB 1.000000e+00 FALSE 56 ST7_catB 1.000000e+00 FALSE 57 ST9_catB 1.000000e+00 FALSE 58 ST10_catB 1.000000e+00 FALSE 56 ST7_catB 1.000000e+00 FALSE 56 ST8_CatB 1.000000e+00 FALSE 56 ST8_CatB 1.000000a000000e+00 FALSE 61 VST_catB 1.000000e+00 FALSE 62 VST1_catB 1.000000e+00 FALSE 63 VST2_catB 1.000000e+00 FALSE 64 VST3_catB 1.000000e+00 FALSE 65 VST4_catB 1.000000e+00 FALSE 66 VST5_catB 1.000000e+00 FALSE 67 VST6_catP 1.000000e+00 FALSE 68 VST6_catB 1.000000e+00 FALSE 69 VST7_catB 1.000000e+00 FALSE 68 VST8_catP 1.000000a+00 FALSE 68 VST9_catB 1.000000a+00 FALSE 68 VST9_catP 1.000000e+00 FALSE000000e+00 FALSE 71 VST9_catB 1.000000e+00 FALSE 72 VST10_catB 1.000000e+00 FALSE 75 AD_catB 1.000000e+00 FALSE 76 AD1_catB 1.000000e+00 FALSE 77 AD2_catB 1.000000e+00 FALSE 78 AD3_catB 1.000000e+00 FALSE 79 AD4_catB 1.000000e+00 FALSE 80 AD5_catB 1.000000e+00 FALSE 82 AD6_catB 1.000000e+00 FALSE 87 AD3_CatB 1.000000e+00 FALSE 97 AD3_atB 1.000000e+00 FALSE 97 AD4_catB 1.0000000e+00 FALSE000000e+00 FALSE 83 AD7_catB 1.000000e+00 FALSE 84 AD9_catB 1.000000e+00 FALSE 85 AD10_catB 1.000000e+00 FALSE 88 VAD_catB 1.000000e+00 FALSE000000e+00 FALSE 89 VAD1_catB 1.000000e+00 FALSE 90 VAD2_catB 1.000000e+00 FALSE 91 VAD3_catB 1.000000e+00 FALSE 92 VAD4_catB 1.000000e+00 FALSE 93 VAD5_catB 1.000000e+00 FALSE 89 VAD1_catB 1.000000e+00 FALSE000000e+00 FALSE 95 VAD6_catB 1.000000e+00 FALSE 96 VAD7_catB 1.000000e+00 FALSE 97 VAD9_catB 1.000000e+00 FALSE 98 VAD10_catB 1.000000e+00 FALSE 111 QST3_catB 1.000000e+00 FALSE 95 VAD6_catB 1.000000e+00 FALSE 98 VAD9_catB 1.000000e+00 FALSE000000e+00 FALSE 114 QST5_catB 1.000000e+00 FALSE 127 VQST1_catP 1.000000e+00 FALSE 128 VQST1_catB 1.000000e+00 FALSE 135 VQST5_catB 1.000000e+00 FALSE
 
エリブラリウス
MLPでは、95%の確率で正しいことが行われているのですが...。正しいバイクを作ってるとは思えない)悪気はないんです。
私も自分のバイクを作りますが、何十年も実績のあるMLP(時代遅れでもっとかっこいいものが必要だと言われています)をベースにしています。


また、alglib決定木も試してみてください。MLPよりもカウントが早く、性能も優れています。Diplerningも高速化されていますが、alglibではそうではありません。

主なものは速度と品質の比率であり、1週間、あるいは1日、あるいは1時間待つことに何の意味があるのか、だから最適な組み合わせを見つけることができないのだ)モデルの学習には数秒かかり、その後、パラメータや予測変数のオートシミュレーションに遺伝学を利用することができるようになります。)

理由: