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

 
Forester #:
여러분! 주제를 혼동하고 있지 않나요? 주제에서 벗어난 2-3 페이지를 정리하는 것이 좋을 것입니다.
Alexey의 기사는 한 시간 전에 게시되었습니다.
나는 우리가 이미 모든면에서 적절한시기에 그의 정량화에 대해 논의했다고 생각합니다. 나는 그것이 그에게 적어도 200 달러를 가져다 준 것이 그에게 기쁘다고 전에 말한 것에 덧붙일 수 있습니다.
 
Aleksey Nikolayev #:
그의 정량화에 대해서는 이미 여러 측면에서 논의했다고 생각합니다. 앞서 말씀드린 것에 덧붙여 최소 200달러를 벌게 되어 기쁘다는 말만 덧붙일 수 있습니다.

나뭇가지? 오늘 당신은 주제에서 벗어난 철학적 및 기타 조작을 많이 표현했는데, "자신의 원칙을 존중하지 않는 것"을 무엇이라고 생각하십니까?
게다가 칸트와 디오게네스, 그리고 아마도 아리스토텔레스와 피타고라스는 다른 사람의 미덕과 업적을 모욕하고 모욕하고 비하하여 고취되는 사람을 무엇이라고 부를까요?
 
Aleksey Nikolayev #:
그의 정량화에 대해서는 이미 여러 측면에서 논의했다고 생각합니다. 앞서 말씀드린 것에 덧붙여 최소 200달러를 벌게 되어 기쁘다는 말만 덧붙일 수 있습니다.

감사합니다, 제 수입에 대해 행복해서 기쁩니다 - 드문 일입니다!

이 기사는 소개입니다-당신이 맞습니다-내가 거기에 쓴 모든 것이 맞습니다-내 생각에는 너무 분명합니다.

두 번째 부분은 적당히 있으며 조금 더 흥미 롭습니다. 그러나 현재 나는 내 자신의 방법을 설명하는 것을 포기하고 테스트에 약간의 영향을 미치는 단순화 된 버전을 생각해 냈습니다. 두 번째 부분에서 설명하겠습니다.

그러나 이것은 새로운 아이디어가 텍스트의 5 %를 넘지 않는 경우입니다.

다시 돌아와서 읽고 댓글을 달아주세요.

 
Andrey Dik #:

h ttps:// www.mql5.com/ru/forum/309270
스레드는요? 오늘 철학적이고 주제에서 벗어난 사색(플루드)을 많이 하셨는데, "자신의 원칙을 존중하지 않는 것"을 무엇이라고 생각하시나요?
게다가 칸트와 디오게네스, 그리고 아마도 아리스토텔레스와 피타고라스는 다른 사람의 미덕과 업적을 모욕하고 모욕하고 비하하여 취하는 사람을 무엇이라고 부를까요?

어떤 디오게네스를 말하는지 모르겠지만 트롤링의 의미에서 우리는 모두 시노페의 디오게네스 나 라에르 테스의 디오게네스와 비교할 때 어린애입니다.

내 스레드의 날짜, 리소스에 등록한 날짜와 오늘의 스레드를 보면 더 명확해질 것입니다. 등록 후 2 년이 지난 후에도 포럼에서 건설적이고 유용한 대화에 대한 희망이 있었지만 6 년 반이 지난 지금은 거의 희망이 남아 있지 않습니다. 그냥 재미로.

 
Aleksey Vyazmikin #:

고마워요, 드물게 수입이 생겨서 기쁘네요!

이 기사는 입문용입니다 - 맞습니다, 제가 거기에 쓴 모든 것이 충분히 명확하다고 생각합니다.

두 번째 부분은 검토 중이며 조금 더 흥미 롭습니다. 그러나 현재 나는 내 자신의 방법을 설명하는 것을 포기하고 테스트에 약간의 영향을 미치는 단순화 된 버전을 생각해 냈습니다. 두 번째 부분에서 설명하겠습니다.

그러나 이것은 새로운 아이디어가 텍스트의 5 %를 넘지 않는 경우입니다.

다시 돌아와서 읽고 댓글을 달아주세요.

초대해 주셔서 감사합니다. 당연히 첫 번째 부분을 읽었고 두 번째 부분도 읽을 것입니다. 글에 대한 생각이 있으면 공유하겠습니다.
 
Forester #:

왜 무작위로 하나요?
한 클래스의 모든 점을 순환하고 다른 클래스의 모든 점과의 거리를 측정하여 최소 거리를 취합니다.
모든 것을 얻으면 한 번에 한 쌍씩 필요한 거리로 정렬하고 삭제합니다. 삭제된 점이 다른 쌍에서 사용된 경우 새로운 최소 거리를 가진 새 점을 찾아 다시 정렬하고 계속합니다.
더 나은 방법을 생각해낼 수 있을지도 모릅니다. 정렬하지 않고 필요한 거리까지만 삭제하는 방법도 있습니다.

어, 제가 제대로 이해하지 못한 것 같아요:

  1. 샘플의 예시 수와 같은 크기의 길이와 너비로 거리 행렬을 만듭니다.
  2. "최소 거리" 기준을 충족하는 점들을 단위로 하는 새로운 행렬(이진이라고 가정해 보겠습니다.)을 만듭니다.
  3. 제가 알기로는 여기서 조건부 섬의 포인트 수를 세고 (행의 단위를 합산) 이웃 섬보다 포인트가 더 많고 포인트가 그 사이에 나뉘면 이러한 포인트가 더 많은 더미 (클러스터)에 이러한 포인트를 할당해야합니다. 이러한 점이 점의 집합 #n에 속하도록 고정하고 2단계에서 이러한 점을 행렬에 0으로 만듭니다.
  4. 포인트가 남지 않을 때까지 계속 제로화합니다.

알고리즘의 프로토타입을 올바르게 이해했나요?

제가 이렇게 늦게 다시 주제로 돌아오는 이유는 CatBoost 모델과 다른 트리 앙상블의 잎이 활성화에서 강한 상관 관계를 가질 수 있다는 생각에 약간 매료되어 훈련 중에 신뢰도를 왜곡하여 모델 전체의 잎 값을 과대 평가할 수 있기 때문입니다.

 
Aleksey Vyazmikin #:

제가 좀 느리게 받아들이는 것 같아요:

  1. 샘플의 예시 수와 같은 크기의 길이와 너비로 거리 행렬을 만듭니다.
  2. '최소 거리' 기준을 충족하는 점을 단위로 하는 새로운 행렬(이진이라고 가정해 보겠습니다.)을 만듭니다.
  3. 제가 알기로는 여기서 조건부 섬의 포인트 수를 세고(행의 단위를 합산), 이웃 섬보다 포인트가 많고 포인트가 나누어져 있는 경우 이러한 포인트가 더 많은 더미(클러스터)에 이러한 포인트를 할당해야 합니다. 이러한 점이 점의 집합 #n에 속하도록 고정하고 2단계에서 이러한 점을 행렬에 0으로 만듭니다.
  4. 더 이상 점이 남지 않을 때까지 영점화를 계속합니다.

알고리즘의 프로토타입을 올바르게 이해했나요?

제가 이렇게 늦게 다시 주제로 돌아오는 이유는 CatBoost 모델과 다른 트리 앙상블의 잎이 활성화에서 강한 상관 관계를 가질 수 있다는 생각에 약간 매료되어 훈련 중에 신뢰도를 왜곡하여 모델 전체의 잎 값을 과대 평가할 수 있기 때문입니다.

클러스터링은 이 문제와 아무 관련이 없습니다. 서로 모순되는 클래스가 다른 가장 가까운 지점, 즉 노이즈를 제거하기만 하면 됩니다. 그런 다음 클러스터링 또는 트리 등 원하는 방식으로 훈련할 수 있습니다.

1) 행렬을 사용할 수도 있지만 반드시 필요한 것은 아니지만 0 클래스의 각 점에서 1 클래스의 가장 가까운 점을 즉시 찾습니다.
3) 아무것도 계산하지 않고 클러스터를 참조하지 말고 가장 가까운 점 쌍을 제거하십시오. 거리가 임계값보다 작으면 이 예제에서 임계값은 0.6이 됩니다.
1 클래스의 삭제 된 점이 0 클래스의 다른 점과 쌍을 이룬 경우 쌍없이 남겨지면 1 클래스의 새로운 가장 가까운 점을 찾아야합니다 (다시 계산을하거나 1 점에서 제안한대로 행렬을 사용하십시오. 메모리가 충분하다면 1 백만 x 1 백만 행렬은 메모리에 맞지 않을 것이라고 생각합니다.
4) 남아 있지 않고 임계 거리까지. 매우 크면 처음에는 더 많았던 클래스 중 1의 포인트 만 남습니다.

그러나 이전에 썼 듯이이 노이즈 제거는 좋은 생각이 아니라고 생각합니다 ( https://www.mql5.com/ru/forum/86386/page3324#comment_50171043 참조). 예측을 할 때 노이즈를 제거할 수 없는 것은 아닙니다. 나무 자체는 약 50%의 확률을 부여하여 시끄러운 나뭇잎을 표시하고, 예를 들어 클래스 중 하나가 80% 이상(또는 적합하다고 생각하는 만큼)의 확률을 가진 시끄럽지 않은 나뭇잎을 표시합니다.

Машинное обучение в трейдинге: теория, модели, практика и алготорговля - На рыночных данных сигналы пропадают, потому что на новых данных сигналы выходят за узкий допустимый диапазон.
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - На рыночных данных сигналы пропадают, потому что на новых данных сигналы выходят за узкий допустимый диапазон.
  • 2023.10.26
  • www.mql5.com
если в работу использовать листья с высокой чистотой классов и не делить листья до 1 примера в листе. остальные как то достигли чистоты листьев например 70 - вроде неплохо. Препочитаю дерево и лист с честными 53 чистоты одного из классов
 
Forester #:
클러스터는 이 작업과 아무 관련이 없습니다. 서로 모순되는 클래스, 즉 노이즈가 있는 가장 가까운 점을 제거하는 것뿐입니다. 그런 다음 클러스터링 또는 트리를 사용하여 훈련할 수 있습니다.
.

1) 행렬을 사용할 수도 있지만 반드시 필요한 것은 아니지만 0 클래스의 각 지점에서 1 클래스의 가장 가까운 지점을 즉시 찾습니다.
3) 아무것도 계산하지 않고 클러스터를 참조하지 말고 가장 가까운 지점 쌍을 제거하십시오. 거리가 임계값보다 작으면 이 예제에서 임계값은 0.6이 됩니다.
1 클래스의 삭제 된 점이 0 클래스의 다른 점과 쌍을 이룬 경우 쌍없이 남겨지면 1 클래스의 새로운 가장 가까운 점을 찾아야합니다 (다시 계산을하거나 1 점에서 제안한대로 행렬을 사용하십시오. 메모리가 충분하다면 1 백만 x 1 백만 행렬은 메모리에 맞지 않을 것이라고 생각합니다.
4) 남아 있지 않고 임계 거리까지. 매우 크면 처음에는 더 많았던 클래스 중 1의 포인트 만 남습니다.

그러나 이전에 썼 듯이이 노이즈 제거는 좋은 생각이 아니라고 생각합니다 ( https://www.mql5.com/ru/forum/86386/page3324#comment_50171043 참조). 예측을 할 때 노이즈를 제거할 수 없는 것은 아닙니다. 나무 자체는 약 50%의 확률을 부여하여 시끄러운 나뭇잎을 표시하고, 예를 들어 클래스 중 하나가 80% 이상(또는 적합하다고 생각하는 만큼)의 확률을 가진 시끄럽지 않은 나뭇잎을 표시합니다.

아직 머릿속에 잘 들어오지 않네요. 모든 것이 한 공간, 즉 한 예측 변수의 메트릭에서 발생하지만 다른 변수는 어떻게 고려해야 할까요?

예측할 때 무엇을 해야 하는지에 관해서는 삭제된 것을 감지하거나 데이터가 '뭉치는' 영역에 있는지 확인하는 모델과 이미 남은 것에 대해 작동하는 모델 두 가지를 사용할 생각입니다.

 
Aleksey Vyazmikin #:

아직 이해가 되지 않습니다. 이 모든 것이 한 공간, 즉 한 예측 변수의 지표에서 발생하지만 다른 변수는 어떻게 고려해야 할까요?

예측할 때 무엇을 해야 하는지에 관해서는 두 가지 모델을 사용할 생각입니다. 하나는 제거된 것을 감지하거나 데이터가 '클러스터링' 영역에 있는지 확인하고, 다른 하나는 이미 남은 것에 대해 작동합니다.

https://www.mql5.com/ru/articles/9138

1년 동안 아무도 신경 쓰지 않았습니다.

저는 이와 같은 알고리즘을 12개에서 20개 정도 작성했고, 일부는 잘 정립되어 있습니다. 기사의 하나는 결과의 안정성 측면에서 최고가 아니며 첫 번째 팬케이크입니다.

아직 더 나은 것이 없기 때문에 논의 할 것이 없습니다.


Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов
Метамодели в машинном обучении и трейдинге: Оригинальный тайминг торговых приказов
  • www.mql5.com
Метамодели в машинном обучении: Автоматическое создание торговых систем практически без участия человека — Модель сама принимает решение как торговать и когда торговать.
 
저는 ML을 처음 사용합니다. 여러 모델에서 작업하고 있습니다. 그리고 지난 주에 문제가 발생했습니다. 어떤 모델도 ONNX(((에 저장되지 않습니다. 누가 이 문제를 겪은 적이 있나요?
WARNING:tf2onnx.tf_loader:Could not search for non-variable resources. Concrete function internal representation may have changed.
ERROR:tf2onnx.tf_utils:pass1 convert failed for name: "model_3/lstm_4/PartitionedCall/while"
op: "StatelessWhile"
input: "model_3/lstm_4/PartitionedCall/while/loop_counter"
input: "model_3/lstm_4/PartitionedCall/while/maximum_iterations"
input: "model_3/lstm_4/PartitionedCall/time"
input: "model_3/lstm_4/PartitionedCall/TensorArrayV2_1"
input: "model_3/lstm_4/zeros"
input: "model_3/lstm_4/zeros_1"
input: "model_3/lstm_4/PartitionedCall/strided_slice"
input: "model_3/lstm_4/PartitionedCall/TensorArrayUnstack/TensorListFromTensor"
input: "Func/model_3/lstm_4/PartitionedCall/input/_3"
input: "Func/model_3/lstm_4/PartitionedCall/input/_4"
input: "Func/model_3/lstm_4/PartitionedCall/input/_5"
attr {
  key: "T"
  value {
    list {
      type: DT_INT32
      type: DT_INT32
      type: DT_INT32
      type: DT_VARIANT
      type: DT_FLOAT
      type: DT_FLOAT
      type: DT_INT32
      type: DT_VARIANT
      type: DT_FLOAT
      type: DT_FLOAT
      type: DT_FLOAT
    }
  }
}
attr {
  key: "_lower_using_switch_merge"
  value {
    b: false
  }
}
attr {
  key: "_num_original_outputs"
  value {
    i: 11
  }
}
attr {
  key: "_read_only_resource_inputs"
  value {
    list {
    }
  }
}
attr {
  key: "body"
  value {
    func {
      name: "while_body_149241"
    }
  }
}
attr {
  key: "cond"
  value {
    func {
      name: "while_cond_149240"
    }
  }
}
attr {
  key: "output_shapes"
  value {
    list {
      shape {
      }
      shape {
      }
      shape {
      }
      shape {
      }
      shape {
        dim {
          size: -1
        }
        dim {
          size: 128
        }
      }
      shape {
        dim {
          size: -1
        }
        dim {
          size: 128
        }
      }
      shape {
      }
      shape {
      }
      shape {
        dim {
          size: 1
        }
        dim {
          size: 512
        }
      }
      shape {
        dim {
          size: 128
        }
        dim {
          size: 512
        }
      }
      shape {
        dim {
          size: 512
        }
      }
    }
  }
}
attr {
  key: "parallel_iterations"
  value {
    i: 32
  }
}
, ex=Could not infer attribute `_read_only_resource_inputs` type from empty iterator
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-7-50 ef5b7ad3f4> in <cell line: 87>()
     85 
     86 # Преобразовать Keras-модель в ONNX формат
---> 87 onnx_model = tf2onnx.convert.from_keras(model)
     88 
     89 # Сохранить модель в формате ONNX

8 frames
/usr/local/lib/python3.10/dist-packages/onnx/helper.py in make_attribute(key, value, doc_string, attr_type)
    874         value = list(value)
    875         if len(value) == 0 and attr_type is None:
--> 876             raise ValueError(
    877                 f"Could not infer attribute `{key}` type from empty iterator"
    878             )

ValueError: Could not infer attribute `_read_only_resource_inputs` type from empty iterator
사유: