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

 
Maxim Dmitrievsky #:

한 장의 나무가 때로는 나무보다 더 효과적일 때가 있듯이요?

최소한 준비된 TC

새 데이터에서는 그렇습니다. 단지 일관된 패턴이 맞았고 나무의 나머지 나뭇잎은 바람 소음일 뿐입니다. 노이즈는 나무가 모든 질문에 대한 답을 제공하도록, 즉 샘플을 완전히 분류하도록 강요하기 때문에 발생합니다.

 
밤에는 잠을 자야 합니다.
 
Aleksey Vyazmikin #:

새 데이터에서는 그렇습니다. 단지 안정적인 패턴이 맞았고 나머지 트리에는 바람 소리만 남았을 뿐입니다. 노이즈는 트리가 모든 질문에 대한 답을 제공하도록, 즉 전체 샘플을 분류하도록 강요하기 때문에 발생합니다.

나는 잎 활성화 수준을 변경하여 자동으로 (잎 선택)을 수행합니다. 일반적으로 분류에는 0.5가 사용됩니다. 0.5보다 높은 확률을 가진 모든 잎은 활성화되고 나머지는 침묵합니다 (나무에서 제거 된 것과 같습니다). 이 방법은 이 사이트와 포럼의 여러 문서에 설명되어 있습니다.

그리고 레벨을 0.9 또는 0.95로 설정하면 올바른 클래스의 예가 95 % 인 매우 깨끗한 잎만 작동합니다. 회귀의 경우에도 마찬가지로 레벨은 0에서 1이 아니라 복근 값으로만 설정할 수 있습니다. 위의 그림은 동일한 모델이지만 활성화 수준이 다른 것을 보여줍니다. 첫 번째는 0.00020, 두 번째는 0.00040pt입니다. 두 번째는 수익성이 없는 거래 구간을 건너뛰고 가장 수익성이 높은 구간에서만 작동하여 수익을 보였지만 1-2년 동안 일시 정지했습니다. 활성화는 400,000건 중 70000건, 즉 가장 좋은 잎의 약 17%가 작동했습니다.

결과는 비슷하며 코드에서 단 하나의 명령 if(leaf_value>0.00040){...}로 달성했습니다. 잎과 이제 클러스터를 선택하는 모든 과정을 거치지 않아도 됩니다.

하지만 이미 알고 계시겠지만....

 
Aleksey Vyazmikin #:

새 데이터에서는 그렇습니다. 단지 일관된 패턴이 맞았고 나머지 트리에는 바람 소리만 남았을 뿐입니다. 노이즈는 트리가 모든 질문에 대한 답을 제공하도록, 즉 전체 샘플을 분류하도록 강요하기 때문에 발생합니다.

문제는 트리가 이익 극대화 조건이 아니라 패키지 프로그래밍에 편리한 손실 함수에 의해 구축된다는 것입니다.

따라서 복잡하고 속임수를 쓴 패키지를 재구성하거나 비좁은 자전거를 만드는 등 불쾌한 선택을 해야 합니다. 이 두 가지 옵션을 "성공적으로" 결합하는 것도 가능합니다).

IMHO에 따르면, 기존 패키지를 나무에 손대기로 결정했다면, 예를 들어 앞으로의 수익 극대화를 조건으로 가지치기(전정)를 사용해야 합니다. 규칙을 수동으로 조작하는 것을 피할 수도 있습니다.

 
Maxim Dmitrievsky #:
나는 많은 희망을 품지 않고 가끔씩 들여다보고 있습니다. 결국 저는 이 주제에서 정체와 정체를 예상합니다. 돌파구가 보이지 않습니다. 암호화폐와 마찬가지로 순전히 과대 광고일 뿐입니다. 이제 그들은 돈을 벌고 진정 할 것입니다.
저도 동감입니다!

우리 동네 전체가 선전 된 신경망을 칭찬하지만 간단한 작업을 설정하면 대처하지 못합니다.
 
Stanislav Korotky #:

제가 제시한 예는 범주형 교차 엔트로피 섹션에서 가져온 것입니다(그리고 각 인스턴스에서 값의 합이 1이라는 사실에 주의를 기울이지 않았을 것입니다). Keras에서와 같이 작동하지 않는다는 사실은 저에게 지표이며, 이는 MQL5의 CCE 구현 또는 설명이 예상과 일치하지 않음을 의미합니다. 그런 다음 자세한 설명이 필요합니다. 그건 그렇고, pytorch에서 CrossEntropyLoss에는 내부에 예비 소프트 맥스가 포함되어 있습니다. 그러나 일반적으로 MQL5의 행렬에 대한 문서에는 인터페이스가 파이썬 인터페이스와 유사하다는 아이디어가 포함되어 있기 때문에 동작의 우연성이 암시되어 있습니다. 그리고 우연이 없다면 문제와 혼란을 야기합니다.

클래스가 많다는 것은 행렬로 작업한다는 것을 의미하므로(샘플/행이 많고 각 행에 클래스가 있는 경우) 벡터를 사용한 예제는 여전히 질문에 대한 답을 제공하지 못합니다.

알겠습니다. 손실 함수는 벡터와 마찬가지로 행렬에서도 작동합니다. 여기서 우리는 끝내지 못했습니다(축 매개 변수를 추가하지 않았습니다).

즉, 예제에서는 한 줄씩 풀어야 합니다.

관심을 가져주셔서 감사합니다.

 
Aleksey Vyazmikin #:

새 데이터에서는 그렇습니다. 단지 일관된 패턴이 맞았고 나머지 트리에는 바람 소리만 남았을 뿐입니다. 노이즈는 트리가 모든 질문에 대한 답을 제공하도록, 즉 전체 샘플을 분류하도록 강요하기 때문에 발생합니다.

그리고 숲에서 그것을 꺼내면 나무의 수에 따라 모든 나무의 규칙의 평균이있을 것입니다.

 
Forester #:

저는 잎 활성화 레벨을 변경하여 이 작업(잎 선택)을 자동으로 수행합니다. 일반적으로 0.5가 분류에 사용됩니다. 0.5보다 높은 확률을 가진 모든 잎은 활성화되고 나머지는 침묵합니다 (나무에서 제거하는 것과 같습니다). 이 방법은 이 사이트와 포럼의 여러 문서에 설명되어 있습니다.

그리고 레벨을 0.9 또는 0.95로 설정하면 올바른 클래스의 예가 95%인 매우 깨끗한 잎만 작동합니다. 회귀의 경우에도 마찬가지로 레벨은 0에서 1이 아니라 복근 값으로만 표시됩니다. 위의 그림은 동일한 모델이지만 활성화 수준이 다른 것을 보여줍니다. 첫 번째는 0.00020, 두 번째는 0.00040pt입니다. 두 번째는 수익성이 없는 거래 구간을 건너뛰고 가장 수익성이 높은 구간에서만 작동하여 수익을 보였지만 1-2년 동안 일시 정지했습니다. 활성화는 400000건 중 70000건, 즉 가장 좋은 잎의 약 17%가 작동했습니다.

결과는 비슷하며 코드에서 단 하나의 명령 if(leaf_value>0.00040){...}로 달성했습니다. 잎과 이제 클러스터를 선택하는 번거로움 없이도 말이죠.

하지만 이미 알고 계시겠지만....

포리스트가 있는데 모델을 구축한 후 가중치를 재조정하지 않나요? 아니면 활성화된 나뭇잎의 평균을 취하나요?

저는 나뭇잎을 선택할 때 역사에 따른 반응 분포의 안정성과 균일성을 고려합니다. 저는 2차원 지표를 만들고 이를 종합적으로 평가합니다. 따라서 응답이 없는 잎은 저에게 매우 드뭅니다.

나뭇잎을 쉽게 저장하여 수천 개의 나무를 만들고 그것으로만 작업 할 수있는 것 같습니다.

 
Aleksey Nikolayev #:

문제는 트리가 수익 극대화 조건에 따라 구축되는 것이 아니라 패키지 프로그래밍에 편리한 손실 함수에 따라 구축된다는 것입니다.

따라서 복잡하고 까다로운 패키지를 재구성하거나 비좁은 자전거를 만들거나 하는 불쾌한 선택이 있습니다. 이 두 가지 옵션을 "성공적으로" 결합하는 것도 가능합니다.)

IMHO에 따르면, 기존 패키지를 나무에 손대기로 선택한 경우, 예를 들어 앞으로의 수익 극대화를 조건으로 가지치기(전정)를 사용해야 합니다. 규칙을 수동으로 조작하는 것을 피할 수 있습니다.

제가 나무를 만드는 데 사용한 변형은 깊은 나무가 아닌 나무를 만드는 것이므로 가지 치기가 불필요할 수 있습니다.

예, 거의 모든 조작은 자동화되어 있으며, 그렇지 않은 것은 오히려 R에 대한 저의 무지에 근거한 것입니다.

루트 예측자는 10 % 이하의 영역에서 특정 클래스에 대한 성향 확률을 포함 할 수 있고 나머지 확률은 균등하게 분포되고 나머지 잔류 물은 나머지 잎을 자르는 데 사용되기 때문에 소음에 대해 이야기하고 있습니다.

 
Maxim Dmitrievsky #:

숲에서 뽑아내면 모든 나무의 평균이 나무의 수만큼 나올 것입니다.

나무는 독립적으로 만들어진 다음 나뭇잎의 답에 따라 가중치가 부여됩니다. 저는 숲이 아니라 나무 한 그루로 작업했습니다. 유전학에 숲이 있다는 건 들어본 적이 없어요.

사유: