트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 368

 
도서관 :
SanSanych는 자신의 코드를 작성하는 데 어려움을 겪지 않고 R의 기성 기능을 사용하려는 의도라고 생각합니다.

코드뿐만이 아닙니다. 완성된 코드는 몇 가지 아이디어를 구현한 것입니다.

우리는보고있다

gafs - 유전 알고리즘에 의한 예측 변수 선택
최종 모델은 리샘플링에 의해 결정된 최적의 세대 수와 결합된 예측 변수의 하위 집합을 기반으로 합니다.


rfe - 역 예측 변수 선택

예측 변수 중요도 순위를 기반으로 역 예측 변수 선택을 구현합니다.

예측 변수는 순서가 지정되고 덜 중요한 예측 변수는 시뮬레이션 전에 순차적으로 제거됩니다.

목표는 보다 정확한 모델에서 사용할 수 있는 예측 변수의 하위 집합을 찾는 것입니다.

safs - 예측 변수 선택의 시뮬레이션된 안정성(예측 변수 어닐링)

검색하는 동안 검색에 적합도(즉, 에너지 값 SA ) 측정이 필요합니다. 이것은 성능의 내부 측정입니다. 검색 시 사용 가능한 데이터는 상위 수준의 리샘플링을 통해 선택한 인스턴스(예: 위에서 언급한 9/10)입니다. 일반적인 접근 방식은 다른 리샘플링 절차를 수행하는 것입니다. 또 다른 옵션은 샘플 외 세트를 사용하여 내부 성능 점수를 결정하는 것입니다.


동시에 우리는 항상 "쓰레기 인 - 쓰레기 아웃"을 기억합니다.

 
산산이치 포멘코 :

코드뿐만이 아닙니다. 완성된 코드는 몇 가지 아이디어를 구현한 것입니다.

우리는보고있다

gafs - 유전 알고리즘에 의한 예측 변수 선택
최종 모델은 리샘플링에 의해 결정된 최적의 세대 수와 결합된 예측 변수의 하위 집합을 기반으로 합니다.


rfe - 역 예측 변수 선택

예측 변수 중요도 순위를 기반으로 역 예측 변수 선택을 구현합니다.

예측 변수는 순서가 지정되고 덜 중요한 예측 변수는 시뮬레이션 전에 순차적으로 제거됩니다.

목표는 보다 정확한 모델에서 사용할 수 있는 예측 변수의 하위 집합을 찾는 것입니다.

safs - 예측 변수 선택의 시뮬레이션된 안정성(예측 변수 어닐링)

검색하는 동안 검색에 적합도(즉, 에너지 값 SA ) 측정이 필요합니다. 이것은 성능의 내부 측정입니다. 검색 시 사용 가능한 데이터는 상위 수준의 리샘플링을 통해 선택한 인스턴스(예: 위에서 언급한 9/10)입니다. 일반적인 접근 방식은 다른 리샘플링 절차를 수행하는 것입니다. 또 다른 옵션은 샘플 외 세트를 사용하여 내부 성능 점수를 결정하는 것입니다.


동시에 우리는 항상 "쓰레기 인 - 쓰레기 아웃"을 기억합니다.

흥미로운 아이디어. 직접 쓰지 마세요...

상관관계 검사를 했습니다. 시작한다.
나는 전체 상관관계를 기준으로 예측변수를 정렬한 다음, 덜 상관관계가 있는 것부터 시작하여 상관관계가 있는 예측변수를 삭제합니다. 그런 다음 나머지 예측 변수로 이것을 반복합니다.

피어슨 코 M
1.00,0.97,0.86,0.88,0.84,0.80,
0.97,1.00,0.92,0.84,0.79,0.75,
0.86,0.92,1.00,0.73,0.67,0.63,
0.88,0.84,0.73,1.00,0.99,0.98,
0.84,0.79,0.67,0.99,1.00,1.00,
0.80,0.75,0.63,0.98,1.00,1.00,
Corr + Kfull - 열 합계
5.35,5.26,4.80,5.42,5.30,5.16,

Kfull 정렬됨
4.80(2),5.16(5),5.26(1),5.30(4),5.35(0),5.42(3),
삭제할 입력: 1,3,4,
유지할 입력: 0,2,5,

 
산산이치 포멘코 :

코드뿐만이 아닙니다. 완성된 코드는 몇 가지 아이디어를 구현한 것입니다.

우리는보고있다

gafs - 유전 알고리즘에 의한 예측 변수 선택
최종 모델은 리샘플링에 의해 결정된 최적의 세대 수와 결합된 예측 변수의 하위 집합을 기반으로 합니다.


rfe - 역 예측 변수 선택

예측 변수 중요도 순위를 기반으로 역 예측 변수 선택을 구현합니다.

예측 변수는 순서가 지정되고 덜 중요한 예측 변수는 시뮬레이션 전에 순차적으로 제거됩니다.

목표는 보다 정확한 모델에서 사용할 수 있는 예측 변수의 하위 집합을 찾는 것입니다.

safs - 예측 변수 선택의 시뮬레이션된 안정성(예측 변수 어닐링)

검색하는 동안 검색에 적합도(즉, 에너지 값 SA ) 측정이 필요합니다. 이것은 성능의 내부 측정입니다. 검색 시 사용 가능한 데이터는 상위 수준의 리샘플링을 통해 선택한 인스턴스(예: 위에서 언급한 9/10)입니다. 일반적인 접근 방식은 다른 리샘플링 절차를 수행하는 것입니다. 또 다른 옵션은 샘플 외 세트를 사용하여 내부 성능 점수를 결정하는 것입니다.


동시에 우리는 항상 "쓰레기 인 - 쓰레기 아웃"을 기억합니다.

물론 흥미로운 아이디어는 직접 작성할 수 없으며 아이디어 자체를 생각해 낼 수도 없습니다)

그러한 복잡한 아이디어가 거래 목적에 필요한지 여부는 여전히 의문입니다. 지금은 상관 관계가 높은 항목을 제거하려고 합니다. 결과가 허용되지 않으면 R로 전환해야 합니다.
 
도서관 :

물론 흥미로운 아이디어는 직접 작성할 수 없으며 아이디어 자체를 생각해 낼 수도 없습니다)

그러한 복잡한 아이디어가 거래 목적에 필요한지 여부는 여전히 의문입니다. 지금은 상관 관계가 높은 항목을 제거하려고 합니다. 결과가 허용되지 않으면 R로 전환해야 합니다.

당신은 연구 작업에 매우 불편하다는 의미에서 alglib에 의해 고정됩니다. R 인터프리터와 무언가를 시도하십시오 - 그냥 침을 뱉으세요.

상관관계가 높은 예측변수(다중공선)의 제거는 필수 단계입니다.

예측 변수와 대상 간의 상관 관계는 확실히 흥미롭습니다. 나는 당신에게 이런 종류의 상관관계에 대한 아이디어를 줄 수 있습니다. 선형 회귀 를 만들고(더 정교한 회귀가 있음) 중요한 계수가 없는 예측 변수를 버립니다. 나는 그것에서 아무것도 얻지 못했다. 어쩌면 당신은 그것을 할 수 있습니다.

그러나 예측 변수의 선택은 MO에서 필수 단계입니다.

 

https://www.mql5.com/en/articles/497 기사에서 입력 수에 따라 활성화 함수의 기울기를 변경하는 것이 제안되었습니다.

Algli 및 R에서 - 기울기 표준입니까, 아니면 입력 수에 따라 자체 최적화됩니까? 아니면 이 블랙박스 안에 무엇이 들어 있는지 거의 아무도 모른다는 사실에 대해?

Нейронные сети - от теории к практике
Нейронные сети - от теории к практике
  • 2012.10.06
  • Dmitriy Parfenovich
  • www.mql5.com
В наше время, наверное, каждый трейдер слышал о нейронных сетях и знает, как это круто. В представлении большинства те, которые в них разбираются, это какие-то чуть ли не сверхчеловеки. В этой статье я постараюсь рассказать, как устроена нейросеть, что с ней можно делать и покажу практические примеры её использования.
 
도서관 :

https://www.mql5.com/en/articles/497 기사에서 입력 수에 따라 활성화 함수의 기울기를 변경하는 것이 제안되었습니다.

Algli 및 R에서 - 기울기 표준입니까, 아니면 입력 수에 따라 자체 최적화됩니까? 아니면 이 블랙박스 안에 무엇이 들어 있는지 거의 아무도 모른다는 사실에 대해?


일부 신경망 라이브러리는 생성된 신경망을 사용자 정의할 수 있는 가장 광범위한 가능성을 사용자에게 제공하여 개별 뉴런에 대한 활성화 기능을 설정하거나 개별 연결을 추가/제거할 수 있습니다. 그러나 실제로는 광범위한 기능이 요구되지 않는 경우가 많다는 것을 보여줍니다. 미세 조정으로 크게 개선할 수 없는 몇 가지 일반적인 아키텍처가 있습니다. 상황은 신경망 훈련 방법과 유사합니다. 마지막으로 사용자에게 너무 풍부한 도구를 제공해서는 안 되는 또 다른 이유가 있습니다. 신경망에 미세 조정이 필요한 경우 이러한 조정은 소프트웨어 패키지 작성자에게 어렵지 않지만 종종 최종 사용자를 혼란스럽게 할 수 있습니다. 따라서 결론 - 좋은 신경망 패키지는 복잡한 구성을 요구하지 않아야 합니다. 이 원칙에 따라 ALGLIB 패키지는 가능한 한 많은 질문을 자동으로 해결하려고 하여 사용자에게 정말 중요한 결정만 남겨둡니다.

사용 가능한 아키텍처
ALGLIB 패키지를 사용하면 은닉층 없이 하나의 은닉층과 2개의 은닉층이 있는 신경망을 생성할 수 있습니다. 연결은 입력 레이어에서 첫 번째 숨겨진 레이어(있는 경우)로 이동한 다음 두 번째 레이어로 이동한 다음 출력 레이어로 이동합니다. 입력 레이어에서 출력 레이어로 "짧은" 연결이 없습니다. 은닉층에는 표준 수축 활성화 함수 중 하나가 있지만 신경망의 출력층에는 더 다양할 수 있습니다. 출력 계층은 선형일 수 있으며(이러한 네트워크는 근사 문제에 사용됨) 압축 활성화 함수를 가질 수 있습니다(네트워크 출력이 특정 범위로 제한되는 경우). 상한(또는 하한) 활성화 기능이 제한된 네트워크도 사용할 수 있습니다. 가장 단순한 경우(경계가 0임), 이 함수는 x가 +∞로 가는 경향이 있을 때 x가 되는 경향이 있고 x가 -∞로 가는 경향이 있을 때 기하급수적 으로 0이 되는 경향이 있습니다.
특별한 경우는 선형 출력 레이어와 SOFTMAX 출력 정규화가 있는 신경망입니다. 그것들은 네트워크 출력이 음이 아니어야 하고 합이 1과 엄격하게 같아야 하는 분류 문제에 사용되며, 이를 통해 입력 벡터를 클래스 중 하나에 할당할 확률로 사용할 수 있습니다(제한적인 경우 , 훈련된 네트워크의 출력은 이러한 확률로 수렴됩니다. 이러한 네트워크의 출력 수는 항상 최소 2개입니다(기본 논리에 따라 제한됨).
이러한 아키텍처 집합은 미니멀리즘에도 불구하고 대부분의 실제 문제를 해결하는 데 충분합니다. 불필요한 세부 사항이 없으면 관련 없는 세부 사항에 너무 많은 주의를 기울이지 않고 작업(분류 또는 근사)에 집중할 수 있습니다(예: 비선형 레이어의 특정 활성화 함수 선택은 일반적으로 결과에 거의 영향을 미치지 않음).

http://alglib.sources.ru/dataanalysis/neuralnetworks.php

 
나는 그것을 전에 읽었지만 질문에 대답하지 않습니다
"은닉층에는 표준 수축 활성화 기능 중 하나가 있습니다." - 어느 것입니까? 들어오는 연결 수에 따라 계수를 조정합니까? 입력의 수가 결과에 영향을 미친다는 사실에 대해 기사에 표시되었습니다. 그런 다음 은닉층(또는 입력에서도)에서 100개의 뉴런을 강타하면 다음 뉴런은 5개의 입력에서만 잘 작동할 수 있습니다.
 
도서관 :
나는 그것을 전에 읽었지만 그것은 질문에 대답하지 않습니다
"은닉층에는 표준 수축 활성화 기능 중 하나가 있습니다." - 어느 것입니까? 들어오는 연결 수에 따라 계수를 조정합니까? 입력의 수가 결과에 영향을 미친다는 사실에 대해 기사에 표시되었습니다. 그런 다음 은닉층(또는 입력에서도)에서 100개의 뉴런을 강타하면 다음 뉴런은 5개의 입력에서만 잘 작동할 수 있습니다.


이것은 코드를 파헤치거나 질문하는 경우에만 해당됩니다. 그리드에 2가지 유형이 있는 경우 선형인지 범위 내에 있는지에 따라 시그모이드 및 기타 출력이 변경될 수 있습니다.

글쎄, 그리드 아키텍처를 선택하면 예 ... 최소한 2 개의 숨겨진 레이어를 여기에서 설정할 수 있으므로 수고해야합니다. 이미 더 쉽습니다 :) 숨겨진 레이어는 일반적으로 2 배여야한다는 어딘가를 읽었습니다. 입력보다 작거나 .. 이상, 잊어 버림)

 

그건 그렇고, EURUSD M1 차트에서 10에서 60(6개)까지의 기간과 추세선형 레그 상관 관계를 확인했습니다.

-0.00,0.01,0.00,0.01,0.01,-0.01

-0.01에서 0.01까지의 상관관계, 즉 그녀는 전혀 존재하지 않습니다.

그러나 귀하의 EA는 이익을 보여줍니다... 당신이 해야 할 일은 추세선형을 보고 차트 움직임을 기반으로 몇 가지 규칙을 발명하여 수동으로 거래를 표시하는 것입니다. 제 생각에는 이것들에 따라 작동하는 일반 EA를 작성하는 것이 더 쉽습니다 규칙.

 
막심 드미트리예프스키 :


나는 숨겨진 레이어가 일반적으로 입력보다 2 배 이상 작아야한다는 것을 어딘가에서 읽었습니다 .. 나는 잊어 버렸습니다)

"은닉층의 최적 뉴런 수(#숨겨진 뉴런) = (# 입력 + # 출력)/2 또는 SQRT(# 입력 * # 출력)" 규칙 중 하나

그리고 사용한 Reshetov 네트워크에서 2개의 nInputs

사유: