기고글 토론 "3세대 신경망: 심층 신경망" - 페이지 5

 
alsu:
아니요, 물론 아닙니다. 저는 응용이든 이론이든 과학을 샤머니즘으로 대체하려는 시도에 최선을 다해 맞서 싸우고 있을 뿐입니다. 그리고 이것이 바로 약 10 년 동안 응용과 이론 모두에 실제로 갇혀있는 NS 분야에서 일어나고있는 일입니다.

1. 고착에 대해. 딥 네트워크를 기반으로 한 음성 및 필기 인식의 광범위한 실제 적용이이를 반증하는 것 같습니다. 나는 얼굴 인식에 대해 말하는 것이 아닙니다. 지금은이 주제가 새로운 추진력을 얻은 것 같습니다.

2. 과학과 샤머니즘에 관하여. 소비에트 시대 이후로 소비에트 과학과 서양 과학의 실천에 대한 접근 방식의 차이는 근본적으로 달랐습니다. 이것은 과학 문헌에서 가장 잘 볼 수 있습니다. 연구소 (지난 세기의 70 년)에서 저는 서양 출판물에서 복잡한 문제가 얼마나 접근 가능하고 이해하기 쉽게 설명되어 있는지, 그리고 복잡한 공식이 흩어져있는 국내 문헌에서 얼마나 난해하고 왜곡되어 있는지에 주목했습니다. 이 접근 방식은 지금까지 변하지 않았습니다. 더 복잡하고 이해하기 어려울수록 더 과학적일까요?

저는 프로그래머도 수학자도 아닙니다. 저는 실무자입니다. 새로운 아이디어가 접근 가능한 방식으로 제시되고 권위있는 적용을 통해 확인되어야하며 구현에 대한 최소한의 글라 보 볼리즘과 시간 손실로 필요한 질문을 해결하는 데 도움이되는 것이 중요합니다. 그리고 이것은 모두 R 언어 패키지의 심층 신경망 주제에 있습니다.

나는 기사의 모든 것이 힙에 있다는 데 동의합니다. 아무도 광대 함을 포용하려는 욕구를 취소하지 않습니다. 그리고 새로운 세대의 모든 대표자가 신경망이라는 주제를 기억하는 것은 아닙니다. 나는 그들에게 상기시키고 싶었습니다.

글쎄요, 결과적으로.

행운을 빕니다.

 

좋은 기사!

최근 일련의 멋진 DM 기사들입니다.

 

지금까지 모든 것을로드하려고 시도했지만 내가 무엇을하든로드 할 수 없습니다. 모든 경로는 귀하의 지침과 동일하며, 귀하가 사용한 것과 동일한 버전 인 3.1.1과 최신 버전 3.1.3을 모두 시도했으며 모든 스크립트, DLL, 표시기, 헤더 등은 귀하의 지침에 따라 올바른 위치에 있습니다.

EA를 차트에 놓을 때마다 경고 창으로 "Rterm이 충돌했습니다"라는 메시지가 표시되며, 코드를 살펴보면 R이 로드되지 않는다고 나와 있습니다.

R을 로드하는 데 필요한 DLL과 같은 추가 단계가 누락되어 있나요?

또한 올바른 경로(및 폴더 이름의 대소문자 구분)를 확인하기 위해 모든 R 스크립트를 확인했지만 여전히 작동하지 않습니다.

글과 설명의 깊이에 깊은 인상을 받았습니다. 저는 Jeff Heaton의 신경망으로 많은 작업을 해왔기 때문에 R도 살펴보고 싶었습니다.

조언을 주시면 감사하겠습니다.

 
아직 사용 중이지만 LSTM 및 델파이 결정에 대한 재구성이 필요합니다. MT4에 대해 자세히 알아보기
 
traderd:

지금까지 모든 것을로드하려고 시도했지만 내가 무엇을하든로드 할 수 없습니다. 모든 경로는 귀하의 지침과 동일하며, 귀하가 사용한 것과 동일한 버전 인 3.1.1과 최신 버전 3.1.3을 모두 시도했으며 모든 스크립트, DLL, 표시기, 헤더 등은 귀하의 지침에 따라 올바른 위치에 있습니다.

EA를 차트에 놓을 때마다 경고 창으로 "Rterm이 충돌했습니다"라는 메시지가 표시되며, 코드를 살펴보면 R이 로드되지 않는다고 나와 있습니다.

R을 로드하는 데 필요한 DLL과 같은 추가 단계가 누락되어 있나요?

또한 올바른 경로(및 폴더 이름의 대소문자 구분)를 확인하기 위해 모든 R 스크립트를 확인했지만 여전히 작동하지 않습니다.

글과 설명의 깊이에 깊은 인상을 받았습니다. 저는 Jeff Heaton의 신경망으로 많은 작업을 해왔기 때문에 R도 살펴보고 싶었습니다.

조언을 주시면 감사하겠습니다.

Hi/

기사에 관심을 가져주셔서 기쁩니다.
나는 다음과 같이 R터마가 떨어지는 경우를 디버깅합니다 :
- 시작 () 에서 검사 작업을 제외한 모든 것을 주석 처리합니다.
- 시작 () 에서 실행 Rterm ()을 제외한 모든 것을 주석 처리합니다 .

- Rterm이 실행 중이면 Init()에서 하나의 연산자 주석을 해제하고 검사합니다. 연산자 충돌이 발생하는 시점을 지정합니다.

그러면 충돌 원인을 파악하기가 더 쉬워집니다. 일반적으로 두 가지가 있습니다: 스크립트 구문 오류 또는 필요한 라이브러리 부족 .
나는 다시 기사의 부록을 참조합니다 .

당신이 어떤 가을을 알려주는 경우 미래에 당신을 도울 준비가되어 있습니다.

최고의 안부

 
guz1kas:

아직 사용 중이지만 LSTM 및 델파이 결정에 대한 재구성이 필요합니다. MT4에 대해 자세히 알아보기

안녕하세요.

구식인가요??? 새롭습니다.

더 나은 방법, 이유. 더 자세히 설명해 주시면 좋겠습니다. 그냥 궁금해서요.

우리는 델파이에 대해 전혀 논의하고 있지 않습니다.

문제는 우리가 MT4를 좋아하느냐 그렇지 않느냐가 아닙니다. 우리가 가진 것(즉, MT4든 무엇이든)으로 필요한 것을 빠르고 안정적으로 이행하는 것이 과제입니다.

행운을 빕니다.

 
vlad1949:

Hi/

기사에 관심을 가져주셔서 기쁩니다.
나는 다음과 같이 케이스 가을 Rterma를 디버깅합니다 :
- 시작 () 에서 검사 작업을 제외한 모든 것을 주석 처리합니다.
- init () 에서 실행 Rterm ()을 제외한 모든 것을 주석 처리합니다 .

- Rterm이 실행 중이면 Init()에서 하나의 연산자 주석을 해제하고 검사합니다. 연산자 충돌이 발생하는 시점을 지정합니다.

그러면 충돌 원인을 파악하기가 더 쉬워집니다. 일반적으로 두 가지가 있습니다: 스크립트 구문 오류 또는 필요한 라이브러리 부족 .
나는 다시 기사의 부록을 참조합니다 .

당신이 어떤 가을을 알려주는 경우 미래에 당신을 도울 준비가되어 있습니다.

안부 인사

나도 같은 문제가 있습니다. 검사 작업 Rterma 또는 init ()을 제외하고는 시작 ()에 대해 이야기하고있는 곳을 찾을 수 없지만 Rterm ()을 실행합니다. R 코드와 메타 편집기에서 살펴 보았습니다.
 

매우 흥미롭고 유용한 기사입니다. 하지만 MT4가 아닌 Zorro에서 시스템이 작동하도록 했습니다. 이렇게 하면 스크립트가 많이 단순화되고 2014년 10월 14일부터 오늘까지 백테스트할 수 있습니다.

하지만 한 가지 문제가 있습니다. 다음 바의 ZZ가 아닌 같은 바의 ZZ에 대해 훈련한 것 같습니다. 따라서 시스템은 방금 끝난 바를 예측하는 데 매우 능숙합니다. 과거 막대에서 거래하면 이 밸런스 곡선을 얻습니다:

타임머신으로 거래하기

완벽한 시스템입니다! 하지만 다음 막대에서 거래할 때 반환된 시그널을 사용하면 약간 더 현실적인 밸런스 곡선이 나타납니다:

실제 거래

(빨간색 부분이 언더워터 에퀴티입니다).

2014년 10월 14일 모델을 사용했습니다. 이미 다음 막대의 ZZ에서 모델을 훈련해 보셨나요?

 
jcl365:

매우 흥미롭고 유용한 기사입니다. 하지만 MT4가 아닌 Zorro에서 시스템이 작동하도록 했습니다. 이렇게 하면 스크립트가 많이 단순화되고 2014년 10월 14일부터 오늘까지 백테스트할 수 있습니다.

하지만 한 가지 문제가 있습니다. 다음 바의 ZZ가 아닌 같은 바의 ZZ에 대해 훈련한 것 같습니다. 따라서 시스템은 방금 끝난 바를 예측하는 데 매우 능숙합니다. 과거 막대에서 거래하면 이 밸런스 곡선을 얻습니다:

완벽한 시스템입니다! 하지만 다음 막대에서 거래할 때 반환된 시그널을 사용하면 약간 더 현실적인 잔고 곡선이 나타납니다:

(빨간색 부분이 언더워터 에퀴티입니다).

2014년 10월 14일 모델을 사용했습니다. 이미 다음 막대의 ZZ에서 모델을 훈련해 보셨나요?

Hi/

다음 사항을 염두에두어야 합니다 .

1. 지그재그에서 신호를 얻습니다 .

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

2. 나중에 다른 막대로 이동합니다 .

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

3. 다음 막대의 신호로 신경망을 훈련시킵니다 .
교육의 질은 지표의 선택, 매개 변수, 신경망의 매개 변수를 증가시킬 필요가 있습니다.

이 기사는 경로와 방법을 보여줍니다. 이러한 네트워크의 잠재력은 엄청납니다.

안부 인사

블라디미르

 

이제 다음 막대를 예측하는 새 모델을 학습시켰는데 실제로 작동하는 것 같습니다. 정확도는 여전히 74% 범위입니다. 이것이 현재 주식 곡선입니다:

:

제가 예상한 대로 시스템이 훈련 직후에는 수익성이 좋다가 시장이 변화함에 따라 서서히 악화됩니다.

따라서 다음 단계는 모델을 정기적으로 재훈련하는 WFO 테스트입니다. 이를 위해서는 트레이닝이 전략 스크립트에 통합되어야 합니다.

다음 막대의 시그 계산을 위한 보정 함수입니다:

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;
        //Trail = 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(); // 세션 종료
        }
}