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

 
Roman #:


最小化のための目標関数の 使い方について教えてください。


Matlabでは関数fminsearch()はNelder-Meadアルゴリズムを使用します。
このアルゴリズムはENUM_LOSS_FUNCTIONには 存在しません。
このアルゴリズムを追加することはできますか?

ニューラルネットワークを訓練するタスクは、訓練サンプルの誤差を最小にするアルゴリズムを見つけることであり、この目的のために損失関数が使用されます。損失 メソッドは偏差を計算するために使用され、ENUM_LOSS_FUNCTION 列挙の14種類の中から1つを指定することができます

これは活性化関数の微分値を計算し、渡されたベクトル/行列に書き込みます

列挙を拡張できるため、必要に応じて新しいアルゴリズムを追加できます。

 
Renat Fatkhullin #:

ニューラルネットワークの学習タスクは、学習サンプルの誤差を最小化するアルゴリズムを見つけることであり、この目的のために損失関数が使用されます。 偏差を計算するには、Loss メソッドが使用され、ENUM_LOSS_FUNCTION 列挙の14種類の中から1つを指定することができます

これは活性化関数の微分の値を計算し、渡されたベクトル/行列に書き込みます

列挙を拡張できるため、必要に応じて新しいアルゴリズムを追加できます。


私はMAPEの例で それを理解した。

ターゲット関数を最小化する損失関数だと思っていた。
そしてこれは単なるメトリック計算 だ。

vector Forecast = {28.252177870295327, 1.386017247821653, 1.321279511381957};
vector Fact     = {45.979999999999997, 1.710000000000000, 1.340000000000000};

double MAPE = Forecast.Loss(Fact,LOSS_MAPE);

Print(DoubleToString(MAPE,2) + " %");
19.63 %


コードでは同じことだ。

vector Forecast = {28.252177870295327, 1.386017247821653, 1.321279511381957};
vector Fact     = {45.979999999999997, 1.710000000000000, 1.340000000000000};

vector loss = {0.,0.,0.};

for(int i=0; i<3; i++)
   loss[i] = fabs(Forecast[i] - Fact[i]) / Fact[i];

double MAPE = loss.Mean()*100;

Print(DoubleToString(MAPE,2) + " %");
19.63 %



それから、ドキュメントの記述に 疑問がある。

記述に間違いはないだろうか?

ll


損失の値をメトリック MSE, MAEなどで計算する... やはり、損失を最小化する関数は自分で書くべきでしょう。


そして、ここには奇妙な記述があります。

i

Документация по MQL5: Методы матриц и векторов / Машинное обучение / Loss
Документация по MQL5: Методы матриц и векторов / Машинное обучение / Loss
  • www.mql5.com
Loss - Машинное обучение - Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Aleksey Vyazmikin #:

神秘的な予言/特徴/兆候を求めて未知の道を行く、興味深くエキサイティングな旅の仲間を探している。

私はそれらを見つけるための地図を持っており、罠を設置し、これらの驚くべき現象の習慣と後光について熟考する手が必要です。

旅は簡単ではなく、長くはあるがエキサイティングで、トロフィーなしではいられないだろう!

もし興味があれば、質問してほしい!

すでにすべてが私たちの前に発明されているので、私はただ列車に飛び乗りたい。

メタトレーダーにニューラルネットワークを導入したら、あとはのんびりしよう。

一般的には、ガス先物を買って、それを売ればいい。
 
Maxim Dmitrievsky #:
だから、すでにすべてが私たちの前に発明されている。

たぶん発明されたのだろうが、オープンソースでは明らかに表面化していない。

予測因子の検索と選択のために、私は体系的なアプローチを開発している。興味深いものを探すために、コードベースをふるいにかけたいなと思っています。一般的に、私のパラダイムには「イベント」という概念があり、それは価格に影響を与える可能性のあるもので、予測子によって記述されます。例えば、「価格が水準を割った」(これはインジケーターによって生成される)など、さまざまなタイプのイベントがあり、これらのイベントの説明には、時間、イベントの履歴、イベントの相対性(正規化)、座標系を担当するプレディクターがあります。

この方法自体は機能しており、興味深い変種を選択することができますが、これらの変種を生成する必要があります。

私は、このプロセスをスピードアップし、批判的で創造的な思考を高めてくれる人を探している。

そう、興味のある人はいないでしょう。私は一人でゆっくり、退屈そうに選ぶことになるでしょう。

 
Aleksey Vyazmikin #:

発明されたかもしれないが、オープンソースでは明らかに表面化していない。

予測因子の検索と選択のために、私は体系的なアプローチを開発している。興味深いものを探すために、コードベースをふるいにかけたいなと思っています。一般的に、私のパラダイムには「イベント」という概念があり、それは価格に影響を与える可能性のあるもので、予測子によって記述されます。例えば、「価格が水準を割った」(これはインジケーターによって生成される)など、さまざまなタイプのイベントがあり、これらのイベントの説明には、時間、イベントの履歴、イベントの相対性(正規化)、座標系を担当するプレディクターがあります。

この方法自体は機能し、興味深いバリアントを選択することができますが、これらのバリアントを生成する必要があります。

私は、このプロセスをスピードアップし、批判的で創造的な思考を高めてくれる人を探しています。

そう、興味のある人はいないでしょう。私が1人を選ぶのです-ゆっくりと、退屈そうに。

私はすでにこれをすべて作成しました
 
Aleksey Vyazmikin #:

発明されたかもしれないが、オープンソースでは明らかに表面化していない。

予測因子の検索と選択のために、私は体系的なアプローチを開発している。興味深いものを探すために、コードベースをふるいにかけたいなと思っています。一般的に、私のパラダイムには「イベント」という概念があり、それは価格に影響を与える可能性のあるもので、予測子によって記述されます。例えば、 「価格が水準を割った」(これはインジケーターによって生成さ れる)など、さまざまなタイプのイベントがあり、これらのイベントの説明には、時間、イベントの履歴、イベントの相対性(正規化)、座標系を担当するプレディクターがあります。

この方法自体は機能し、興味深いバリアントを選択することができますが、これらのバリアントを生成する必要があります。

私は、このプロセスをスピードアップし、批判的で創造的な思考を高めてくれる人を探しています。

そう、興味のある人はいないでしょう。私は一人で、ゆっくりと、退屈そうに選ぶつもりです。

そうでなければ、他の人たちと同じような結果になるでしょう :-)

y=abs(sin(x))*sin(x);1日と1週間の頻度で、位相のずれは事前に計算したほうがいい。

というのも、指標と線の交差の確率は、それらに依存 するからである。

ところで、フーリエは有害で、ここでは嫌われている。)

 
mytarmailS #:
もう全部作ったよ。

君は本当に優秀だ!

そして、あなたは面白いと持続可能な多くを発見した?

ターミナルで動作するソリューションの問題は解決されましたか?

 
Maxim Kuznetsov #:

さもないと、みんなと同じことになるよ。)

a la 2 pcs: y=abs(sin(x))*sin(x) ; 1日と1週間の頻度で ; 位相のずれは事前に計算した方が良い。

なぜなら、指標とラインクロスの確率はそれらに依存 するからである。

ところで、フーリエは有害で、ここでは嫌われている。)

まあ、私の妄想の中では、私は賢くないのだが......。リアルタイム」とはどういう意味ですか?

 
Aleksey Vyazmikin #:

0)なんていい子なんだ!

1)面白いもの、持続可能なもの、たくさん見つけた?

2)ターミナルでのソリューション作業の問題は解決した?

0)ええ、そうです。)

1)まだ全部はデプロイしていない、
1.次元の呪いや組合せ爆発の問題はあるが、理論的には解決可能である。
2.2.探索アルゴリズムが遅いという問題があり、多くのことをCかC++で書く必要がある。
3.最適化されたアルゴリズムであっても、大きな日付のパターンを検索することはできない。
でも一般的には、うまくいかないものは何もうまくいかない...。

2)そうですね。


ところで、"event "という単語は "rule "という単語に置き換えることができる。


 
Aleksey Vyazmikin #:

そうですね......僕は賢くないんです、空想の中では......。"リアルタイム "ってどういう意味ですか?

価格がどのラインを超えるか(インジケータのシグナルが発生するか)は、時間帯や曜日によって異なります。

NNとDLに周期的な時間を加える必要があります。最も単純な方法は正弦波です。依存関係は非線形なので、符号を考慮して単純に2乗する。時間参照を担当する入力が2つ追加される。午前0時/正午はどこでも異なるので、事前に計算して位相を与えた方がよい。これは、モデルが現実世界とその時間に接続するためである。

もしこれらが明示的に与えられない場合、IMHOはカボチャを得るか、全体が自分でそれらを得て出力しようとするかのどちらかになるでしょう。