신경망 - 페이지 14

 
예 훈련 대 예측. 나는 훈련, 테스트 및 교차 검증에 사용된 데이터의 처음 6-7년으로 새로운 네트워크를 구축했습니다. 그런 다음 라이브 테스트를 모방하는 아이디어로 학습 없이 테스트로 남은 3년의 데이터를 제공했습니다. 훈련 회귀선의 기울기는 0.99995였으며, 약 3년 동안 이전에 볼 수 없었던 데이터를 입력했을 때 0.9995로 떨어졌습니다. 이것을 어떻게 해석해야 할지 잘 모르겠습니다. 한 시간도 채 안 되는 시간에 정리한 것치고는 너무 정확한 것 같습니다.

예를 들어 설명하겠습니다.

GBPJPY/와 같이 100에서 250 사이의 값을 가질 수 있는 변수를 예측하려고 한다고 가정해 보겠습니다. H1 또는 H4/와 같은 훈련 데이터와 비교하여 매우 작은 시간 단계를 예측하려고 합니다. 일부 단계의 경우 원하는 값은 174.850이고 NN 출력은 176.350입니다. 오류는 /약 0.8%/ 매우 작지만 Forex 용어로 오류는 150핍으로 큽니다.

정상 또는 대수 수익률을 예측하는 것이 훨씬 쉽습니다. 오류를 범하더라도 출력은 여전히 유용할 것입니다. /가격의 20% 인상을 예측하고 실제로 10%라면 오류가 50%일지라도 결과는 여전히 매우 양호합니다/.

당신이 무작위로 첫 번째 모집단을 생성한다면 어떤 프로그램도 문제를 해결하지 못하는 모집단을 생성할 수 있는 기회가 없습니까?

그것은 불가능.

NN이 매우 나쁜 예측을 제공하더라도 여전히 솔루션입니다.

일반 데스크탑이 처리할 수 있는 것 이상

데스크탑 컴퓨터를 사용할 수 있습니다. 오늘날 컴퓨터는 내가 처음 시작했던 것보다 훨씬 낫습니다.

 

mrwobbles,

친절하고 NN 결과에 대한 입력 및 출력을 알려주시겠습니까? NeuroShell을 통해 실행하고 동일한 견고성 주변에서 R 상관 관계 수준을 생성할 수 있는지 확인하고 싶습니다. 미리 감사드립니다.

 
Kazam:
예를 들어 설명하겠습니다.

GBPJPY/와 같이 100에서 250 사이의 값을 가질 수 있는 변수를 예측하려고 한다고 가정해 보겠습니다. H1 또는 H4/와 같은 훈련 데이터와 비교하여 매우 작은 시간 단계를 예측하려고 합니다. 일부 단계의 경우 원하는 값은 174.850이고 NN 출력은 176.350입니다. 오류는 /약 0.8%/ 매우 작지만 Forex 용어로 오류는 150핍으로 큽니다.

정상 또는 대수 수익률을 예측하는 것이 훨씬 쉽습니다. 오류를 범하더라도 출력은 여전히 유용할 것입니다. /가격의 20% 인상을 예측하고 실제로 10%라면 오류가 50%일지라도 결과는 여전히 매우 양호합니다/.

네, 하지만 그보다 훨씬 작은 규모의 오류에 대해 이야기하고 있습니다. 내가 훈련한 네트워크 핍의 평균 오류는 약 10-20으로 허용 가능한 수준에 접근하고 있습니다. 여전히 몇 가지 변칙적인 결과가 있습니다. 분명히 받아들일 수 없는 100핍이 넘는 몇 개입니다.

그것은 불가능.

NN이 매우 나쁜 예측을 제공하더라도 여전히 솔루션입니다.

예, 솔루션이라고 부를 수는 있지만 무작위 모집단으로 시작하면 수렴 시간이 더 길어지지 않습니까? 이 경우 사전 훈련된 네트워크 모집단으로 시작하면 네트워크의 수렴 속도가 확실히 빨라지고 더 정확한 결과를 얻을 수 있습니다.

 
네, 하지만 그보다 훨씬 작은 규모의 오류에 대해 이야기하고 있습니다. 내가 훈련한 네트워크 핍의 평균 오류는 약 10-20으로 허용 가능한 수준에 접근하고 있습니다. 여전히 몇 가지 변칙적인 결과가 있습니다. 분명히 받아들일 수 없는 100핍이 넘는 몇 개입니다.

그러나 여전히 훈련 데이터를 보고 있습니다. 나는 간단한 예를 만들었습니다 - 아래 그림을 보십시오. 오차 척도는 작고 상관 계수는 매우 높지만 다음 10단계를 예측하려고 할 때 어떤 일이 발생하는지 보십시오.

예, 솔루션이라고 부를 수는 있지만 무작위 모집단으로 시작하면 수렴 시간이 더 길어지지 않습니까? 이 경우 사전 훈련된 네트워크 모집단으로 시작하면 네트워크의 수렴 속도가 확실히 빨라지고 더 정확한 결과를 얻을 수 있습니다.

무작위성이 핵심이다

많은 무작위 네트워크를 사용하면 결국 최상의 솔루션을 찾을 수 있는 더 큰 기회가 있습니다. 두 번째 사진을 보세요. NN을 미리 선택하면 로컬 최적값에 갇힐 수 있지만 임의의 NN을 사용하면 전역 최적값을 찾을 가능성이 더 높아집니다.

물론 국소 최적에 갇히는 문제를 극복하는 방법이 있습니다.

파일:
 

그 생각이 머릿속을 스쳐 지나갔다. 사전 훈련된 NN의 모집단이 너무 작거나 유전적 분산이 충분하지 않은 경우 일부 솔루션이 고려되지 않을 수 있습니다. 당신이 말했듯이 항상 다른 지역 최소값에 붙어 있고 좋지 않은 12개의 NN을 선택할 기회가 있습니다. 또는 더 나쁜 것은 모두 동일한 로컬 최소값에 고정된 12개의 NN입니다. 유전적 축적을 시도하고 증가시키기 위해 항상 일부 임의의 유전자 돌연변이를 인코딩할 수 있지만 매 10세대가 말합니다. 완전히 무작위 구조로 시작하면 대부분의 가능성이 고려됩니다.

아 알겠습니다. 네트워크를 훈련시킨 후 네트워크를 사용하는 방법을 알게 되었습니다. sim 기능 은 분명히... 오 도움말 파일의 즐거움 내 무지를 용서해야 할 것입니다. 저는 NN과 함께 일하는 것이 상당히 새롭습니다. 그렇게 쉽게 풀었다면 실망했을 것이다. 이것은 내가 여름 방학 동안 하는 일이어야 한다. 글쎄, 그리고 일

편집: 저는 처음 7년 데이터로 네트워크를 훈련시킨 다음 지난 몇 년간의 입력에 대한 성능을 시뮬레이션했습니다. 핍의 평균 오류는 40이었지만 그래프의 플롯을 보면 첫 번째 1500개의 예쁜 지점을 얻은 다음 손실되고 가격이 잘못되기 시작하지만 방향은 대부분 옳습니다. 그런 다음 약 10000에 도달하고 다시 시작합니다(큰 충돌이 발생하기 직전). 이것을 보고 어떻게 생각하는지 말해주세요. 진한 파란색은 밝은 파란색 출력 대상입니다. Btw 분석을 위해 오버레이된 대상을 네트워크에 제공하지 않았습니다.

파일:
gbpjpy60-4.jpg  40 kb
gbpjpy60-8.jpg  55 kb
 

"그림자 효과"가 있을 수 있고 사진이 너무 작아서 설명할 수 없기 때문에 사진을 보고 아무 것도 말할 수 없습니다.

하지만 NN이 괜찮은지 확인하는 방법을 알려드릴 수 있습니다. 내보내기 / Matlab에 내보내기 및 가져오기 마법사가 있습니다/ 테스트 출력을 XLS 또는 CSV 파일로 /Excel 파일/. 그런 다음 NN 출력 옆에 실제 값을 입력하고 다음 열에 NN이 가격 움직임의 올바른 방향을 예측했는지 확인하는 공식을 입력합니다.

얼마나 많은 "1"을 얻었는지 세어보면 네트워크의 정확도를 알 수 있습니다.

모든 단계에 대한 손익을 계산하는 공식을 작성할 수 있습니다. 아래 사진을 보세요./저는 폴란드어 버전의 Excel을 사용하고 있으므로 공식을 제대로 이해했는지 모르겠습니다. /. 지금은 스프레드를 건너뛰세요.

파일:
 

안녕하세요 카잠님

이 NN 패키지를 Metatrader에 구현할 수 있습니까?

파일:
example.zip  106 kb
 

괜찮은 것 같습니다. Open Office 스프레드시트 를 통해 공식을 실행했는데 거래 방향에서 73%의 정확도를 반환했습니다. 정확도를 향상시킬 것으로 생각되는 네트워크를 제공하기 위해 몇 가지 입력이 더 있습니다. 여기 스프레드시트가 있습니다. xls 형식으로 저장했습니다. 읽을 수 있어야 합니다.

파일:
gj60.rar  831 kb
 

샘플에서, 샘플에서

mrwobbles:
괜찮은 것 같습니다. Open Office 스프레드시트를 통해 공식을 실행했는데 거래 방향에서 73%의 정확도를 반환했습니다. 정확도를 향상시킬 것으로 생각되는 네트워크를 제공하기 위해 몇 가지 입력이 더 있습니다. 여기 스프레드시트가 있습니다. xls 형식으로 저장했습니다. 읽을 수 있어야 합니다.

양호... 샘플 또는 샘플 없음?

귀하의 계정에 큰 차이가 생길 것입니다. 샘플에서 73%는 계정 킬러이고, 샘플에서 73%는 아마도...

out of sample 결과만을 믿으십시오. 입력이 적을수록 과적합이 적어집니다. 따라서 새 입력을 추가하는 경우 이전 입력 중 일부를 삭제하는 것을 고려하거나 out of sample을 확장하십시오. 당신의 신념을 위조할 데이터 세트

경험상 더 적은 입력, 더 적은 연결, 더 많은 샘플 포인트...더 나은 일반화.

문안 인사

심바

 

비딕

DLL이므로 여기를 살펴보십시오.

http://www.metatrader.info/node/150[/CODE]

There's an example of how to use DLL functions in Metatrader.

mrwobbles

It's either the training data or you got something wrong - the results are to good .

If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff

SIMBA

You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.

But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.

There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.

My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.

PS

I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction

[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf
사유: