記事"第三世代ニューラルネットワーク:深層ネットワーク"についてのディスカッション - ページ 5

 
alsu:
いや、もちろんそんなことはない。私は、応用的であれ理論的であれ、科学をシャーマニズムに置き換えようとする試みと全力で戦っているだけだ。そして、これはまさにNSの分野で起こっていることであり、実はこの10年ほど、応用と理論の両方で行き詰まっている。

1.行き詰まりについてディープネットワークに基づく音声認識や手書き文字認識の実用化が広がっていることが、それを反証しているように思える。顔認識の話ではない。今、このテーマは新たな勢いを増しているように思える。

2.科学とシャーマニズムについて。ソビエト時代から、ソビエトの科学と西洋の科学の実践に対するアプローチの違いは根本的に異なっている。これは科学文献を見ればよくわかる。研究所の頃(前世紀の70年)、私は、西側の出版物では複雑な問題がいかにわかりやすく、理解しやすく記述され、国内の文献では複雑な数式が散りばめられ、いかに難解で捻じ曲げられているかに注目していた。このアプローチは現在も変わっていない。複雑で理解しにくいものほど科学的なのだろうか?

私はプログラマーでも数学者でもない。私は実務家だ。私にとって重要なのは、新しいアイディアがわかりやすく提示され、権威ある応用によって確認され、必要な疑問を最小限のグラボリズムと時間のロスで解決するのに役立つことである。そしてこれはすべて、R言語パッケージのディープ・ニューラル・ネットワークの 話題の中にある。

私は、この記事のすべてが山積みであることに同意する。誰も広大さを受け入れたいという願望をキャンセルしない。そして、新世代の代表者全員がニューラルネットワークの話題を覚えているわけではない。私は彼らを思い出させたかった。

まあ、結果的にはね。

幸運を祈る。

 

素晴らしい記事

最近のDMの一連の記事は素晴らしい。

 

これまでのところ、すべてをロードしようと試みましたが、何をやってもロードすることができません。すべてのパスはご指示と同じです。ご指示と同じバージョンの3.1.1と新しいバージョンの3.1.3の両方を試しましたが、すべてのスクリプト、DLL、インジケーター、ヘッダーなどはご指示に従って正しい場所にあります。

EAをチャートにドロップすると、アラートウィンドウに "Rterm has crashed "と表示されます。

Rをロードするのに必要なDLLが見つからないなど、何か追加のステップが必要なのでしょうか?

すべてのRスクリプトのパスが正しいか(フォルダ名の大文字と小文字が区別されているか)も確認 しましたが、まだ動作しません。

あなたの記事と説明の深さにとても感銘を受けました。私はJeff HeatonのNeural Networkで多くの仕事をしてきたので、Rも見てみたいと思いました。

何かアドバイスがあればお願いします。

 
統計はありませんが、LSTMとDelphi Decitionを使用しています。MT4での取引について
 
traderd:

これまでのところ、すべてをロードしようと試みましたが、何をやってもロードすることができません。すべてのパスはご指示と同じです。ご指示と同じバージョンの3.1.1と新しいバージョンの3.1.3の両方を試しましたが、すべてのスクリプト、DLL、インジケーター、ヘッダーなどはご指示に従って正しい場所にあります。

EAをチャートにドロップすると、アラートウィンドウに "Rterm has crashed "と表示されます。

Rをロードするのに必要なDLLが見つからないなど、何か追加のステップが必要なのでしょうか?

すべてのRスクリプトのパスが正しいか(フォルダ名の大文字と小文字が区別されているか)も確認しましたが、まだ動作しません。

あなたの記事と説明の深さにとても感銘を受けました。私はJeff HeatonのNeural Networkで多くの仕事をしてきたので、Rも見てみたいと思いました。

何かアドバイスがあればお願いします。

こんにちは。

記事に 興味を持っていただけて嬉しいです�
私は 以下のように 秋の Rtermaを デバッグして います:
- 検査 作業 Rterma
- init () run Rterm () 以外を コメント アウトする

- Rtermが 起動して 実行されている場合は、 Init() 以降、 1つの 演算子の コメントを 解除してチェック 演算子が クラッシュした ときの 処理を 指定する

その後、 クラッシュの 原因を特定することは 容易である 通常は 、スクリプトの 構文 エラーか、 必要な ライブラリの 不足の 2つである�
私は 再び 記事の 付録を参照してください。

今後、 Rtermが どのように クラッシュするか教えて いただければ 、お手伝いする用意があります

よろしくお願いします。

 
guz1kas:

統計はありませんが、LSTMとDelphi Decitionを使用しています。MT4について

こんにちは。

時代遅れですか?それは新しいです。

より良い方法、理由。あなたは詳細をより詳細にすることができれば、できれば。私はただ興味があるだけです。

我々はDelphiについて全く議論していない。

問題は、MT4が好きかどうかではない。課題は、今あるもの(つまりMT4であれ何であれ...)で、必要なことを迅速かつ確実に実現することだ。

幸運を祈る。

 
vlad1949:

こんにちは。

私は あなたが 記事に興味を持っていることを嬉しく思います。
私は 以下のように Rterma ケースを デバッグします�
- その検査 作業 Rtermaを除いて 開始()の すべてをコメントアウト
- 実行 Rterm () 以外のすべての init )で コメントアウト します

- Rtermが 起動して 実行されている場合は、 Init() 以降、 1つの 演算子の コメントを 解除してチェック。 演算子が クラッシュした ときの 処理を 指定する

その後、 クラッシュの 原因を特定することは 容易である 通常は 、スクリプトの 構文 エラーか、 必要な ライブラリの 不足の 2つである�
私は 再び 記事の 付録を参照してください。

今後、 Rtermが どのように クラッシュするか教えて いただければ 、お手伝いする用意があります

よろしくお願いします。

私も同じ問題を抱えています。start()については、Rtermaやinit()が動作する以外は、Rterm()を実行する以外、どこに書いてあるのかわかりません。私はRコードとMetaEditorで見てきました。
 

とても興味深く、役に立つ記事です。このシステムはMT4ではなくZorroで動作するようになりました。これでスクリプトがかなり簡素化され、2014年10月14日から今日までバックテストできるようになりました。

次のバーのZZではなく、同じバーのZZでトレーニングしているようです。つまり、このシステムは終わったばかりのバーを予測するのに非常に優れているのです。過去のバーで取引すると、このようなバランス曲線になります:

タイムマシンによる取引

完璧なシステムです!完璧なシステムです!しかし、戻ってきたシグを次のバーの取引に使うと、このような少し現実的なバランス曲線になります:

リアル・トレーディング

(赤い部分が水面下のエクイティ)。

私は2014年10月14日のモデルを使いました。次のバーのZZでモデルをトレーニングしてみましたか?

 
jcl365:

とても興味深く、役に立つ記事です。このシステムはMT4ではなくZorroで動作するようになりました。これでスクリプトがかなり簡素化され、2014年10月14日から今日までバックテストできるようになりました。

次のバーのZZではなく、同じバーのZZでトレーニングしているようです。つまり、このシステムは終わったばかりのバーを予測するのに非常に優れているのです。過去のバーで取引すると、このようなバランス曲線になります:

完璧なシステムです!完璧なシステムです!しかし、戻ってきたシグを次のバーの取引に使うと、このような少し現実的なバランス曲線になります:

(赤い部分が水面下のエクイティ)。

私は2014年10月14日のモデルを使用しました。次のバーのZZでモデルをトレーニングしてみましたか?

こんにちは。

以下の点に留意する必要があります

1. ジグザグから シグナルを 得る

sig <- ifelse(diff(zz) > 0, 1, ifelse(diff(zz) < 0, -1, NA)

2. 将来の 別の小節に シフトさせる

sig <- Hmisk::Lag(sig, shift=-1)

3. 3 . 次のバーからの 信号に ニューラルネットワークを 訓練する�
教育の質は、 指標の 選択 そのパラメータ ニューラルネットワークの パラメータを 増加させる 必要があります

記事では、 パスと方法を示しています。 これらの ネットワークの 可能性は 非常に大きい。

よろしくお願いします。

ウラジミール

 

次のバーを予測する新しいモデルをトレーニングしたところ、確かにうまくいったようだ。精度はまだ74%の範囲にある。これが現在のエクイティ・カーブだ:

:

システムはトレーニング直後から利益を上げ、市場が変化するにつれて徐々に悪化していく。

次のステップは、モデルの定期的な再トレーニングによるWFOテストだ。そのためには、学習をストラテジーのスクリプトに組み込む必要がある。

これは、次のバーのSigを計算するための修正された関数です:

Sig <- function(ch = 0.0037, pr = price[ ,'Med']) {
        ZZ <<- ZigZag(pr, change = ch, percent = F, retrace = F, lastExtreme = T)
        for(i in 1:length(ZZ)) { if(is.na(ZZ[i])) ZZ[i] = ZZ[i-1] }
  #shift zz for predicting the next bar
        for(i in 1:length(ZZ)-1) { ZZ[i] = ZZ[i+1] }
        dz <- c(diff(ZZ), NA)
        sig <- ifelse(dz > 0, 0, ifelse(dz < 0, 1, NA))
        return(sig)
}

ストラテジー・スクリプトが30分ごとに実行する「計算」関数:

Compute <- function() {
  price <<- pr.OHLC(Open,High,Low,Close)
  X <<- In()
  normalized <- predict(Prepr, tail(X,1))
  pr.sae <- nn.predict(SAE, normalized)
  return(pr.sae[1]);
}

ストラテジー・スクリプト、「EA」:

#include <default.c>
#include <r.h>

string RPath = "F:\\D\\R\\R-3.1.3\\bin\\i386\\Rterm.exe";
int Size = 200;

bool RCheck()
{
   if(!Rr()) {
        quit("R session aborted!");
                return false;           
   }
   return true;
}


function run()
{
        BarPeriod = 30;
        StartDate = 20141014;
        LookBack = Size;
        asset("EUR/USD");
        
        Spread = Slippage = Commission = RollLong = RollShort = 0;
        //Stop = 25*PIP;
        //トレイル = 25*PIP;
        
        if(is(INITRUN)) {
           RStart(RPath,1);
           if(!RCheck()) return;
           printf("\n%s running",RPath);
           Rx("rm(list = ls());");
           string Command = strfmt("source('%sStrategy/SAE.r')",
                strrep(ZorroFolder,"\\","/"));
           Rx(Command);
           Command = strfmt("load('%sData/sae.model')",
                strrep(ZorroFolder,"\\","/"));
           Rx(Command);
        }
        
        vars op = rev(series(priceOpen())),
                hi = rev(series(priceHigh())),
                lo = rev(series(priceLow())),
                cl = rev(series(priceClose()));
                
        if(!is(LOOKBACK)) {
                Rv("Open",op,Size);
                Rv("High",hi,Size);
                Rv("Low",lo,Size);
                Rv("Close",cl,Size);
                
                var Predict = Rgd("Compute()");
                if(!RCheck()) return;
                
                if(Predict > 0.6 && !NumOpenShort)
                        enterShort();
                else if(Predict < 0.4 && !NumOpenLong)
                        enterLong();
        }
        
        if(is(EXITRUN)) {
                RStop(); // セッションを終了する
        }
}