Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 3384

 
Aleksey Nikolayev #:
Quais mecanismos de paralelização de cálculos na CPU no mql5 você conhece?

OpenCL para os mais ou menos avançados.

Para os menos avançados - execução de agentes em gráficos separados. Cada gráfico em um thread separado, todos os núcleos da CPU serão usados no total.

Além disso, os próprios agentes de terminal podem ser usados para paralelizar os cálculos do aplicativo em um gráfico de terminal, o que não é conhecido por muitas pessoas.

Neste artigo, mostrarei como escrever um GA binário que cubra todos os dígitos significativos de um número duplo com uma etapa ilimitadamente pequena de parâmetros em MQL5 (na verdade, ele é limitado a 16 casas decimais para o duplo). E mesmo esse não é o limite, você pode escrever extensões de tipos padrão de números em MQL5.

 
Andrey Dik #:

O OpenCL é para os mais ou menos avançados.

Para os menos avançados - executar agentes em gráficos separados. Cada gráfico em um thread separado, todos os núcleos do processador serão usados no total.

Além disso, os próprios agentes de terminal podem ser usados para paralelizar os cálculos do aplicativo em um gráfico de terminal, o que não é conhecido por muitas pessoas.

Neste artigo, mostrarei como escrever um GA binário que cubra todos os dígitos significativos de um número duplo com uma etapa ilimitadamente pequena de parâmetros em MQL5 (na verdade, ele é limitado a 16 casas decimais para o duplo). E mesmo esse não é o limite, você pode escrever extensões de tipos padrão de números em MQL5.

É isso que estou dizendo - você terá uma bicicleta com muitas cãibras.

E o OpenCL é tão bom que a metaquotes não escreveu seu otimizador de GPU nele, provavelmente apenas porque qualquer um de nós pode facilmente escrever o seu próprio.

Ok, vou parar, ou serei banido como Maxim se disser tudo o que penso sobre sua demagogia.

 
Aleksey Nikolayev #:

É isso que estou dizendo - será uma bicicleta bem desagradável.

E o OpenCL é tão bom que a metaquotes não escreveu seu otimizador de GPU nele, provavelmente apenas porque qualquer um de nós pode facilmente escrever o seu próprio.

Ok, vou parar ou serei banido como Maxim se eu disser tudo o que penso sobre sua demagogia.

Então, qual é exatamente o problema? Se você tiver problemas com a MQL5, não é culpa da linguagem, há tópicos de perfil especiais para aqueles que fazem perguntas.

Qual é a minha "demogogia"? Eu lhe dei uma lista enorme de literatura, a seu pedido, para ler, expandir seus horizontes, eu lhe digo e mostro implementações específicas e estratégias de pesquisa em MQL5. O que mais você precisa de mim, para que eu não fique com a cara suja e tenha medo de ser banido?

Fico muito surpreso com as pessoas.

 

Um pouco sobre a redundância do forrest renderizado

pegar o conjunto de dados da íris + treinar o forrest + extrair regras do forrest + criar um conjunto de dados em que cada regra é um recurso.

Obtemos uma matriz com regras em colunas (cerca de 700 peças).

X <- iris[,-5]
target <- iris[,"Species"] 

library(inTrees)
library(RRF)

rules_dataset <- target |> 
                  RRF(x = X) |> 
                  RF2List() |> 
                  extractRules(X = X) |> 
                  sapply(\(r) eval(str2expression(r)))
ncol(rules_dataset)
[1] 698

Agora, identifique todas as regras linearmente relacionadas e remova-as como redundantes.

remove_lin_comb <- caret::findLinearCombos(rules_dataset)$remove
clear_rules_dataset <- rules_dataset[, -remove_lin_comb]

e obtemos

ncol(clear_rules_dataset)
[1] 32


O conjunto de dados inteiro pode ser descrito por 32 regras em vez de 698.


É assim que as coisas são...

Forrest é 698/32 = 21,8125 vezes mais redundante do que poderia ser.

 
mytarmailS #:

Um pouco sobre a redundância do Random Forrest

pegar o conjunto de dados da íris + treinar a floresta + extrair regras da floresta + criar um conjunto de dados em que cada regra é um recurso.

obter uma matriz com regras em colunas (cerca de 700 peças)

Agora, identifique todas as regras linearmente relacionadas e remova-as como redundantes.

e obteremos


O conjunto de dados inteiro pode ser descrito por 32 regras em vez de 698.


É assim que as coisas são.

Forrest é 698/32 = 21,8125 vezes mais redundante do que poderia ser.

De onde vêm as regras? É isso mesmo: montanhas de informações na entrada, comprimir e obter regras e, em seguida, usá-las para a previsão, não as informações originais. É por isso que ele é chamado de modelo.

 
СанСаныч Фоменко #:

De onde vêm as regras? Isso mesmo: montanhas de informações na entrada, comprimi-las e obter regras e usá-las para a previsão, não as informações originais. É por isso que ele é chamado de modelo.

Leia atentamente o que foi escrito

 
mytarmailS #:
Você não queria escrever um artigo sobre regras ou mudou de ideia? Provavelmente é um tópico interessante, mais interessante do que minimizar as funções de teste. Ou você tem problemas com a validação delas em OOS? Ou não há problemas, você só tem preguiça de escrever.
 
Algum tipo de abordagem geral para a seleção de regras. Por exemplo, aqui está a divisão da árvore em regras, e depois... no contexto do TC. Práticas recomendadas e percepções. Isso seria interessante.

Não apenas funções aleatórias e lobos aleatórios, mas mais próximos dos lucros.
 
Maxim Dmitrievsky #:
Algum tipo de abordagem geral para a seleção de regras. Por exemplo, aqui está a divisão da árvore em regras, e depois... no contexto do TC. Práticas recomendadas e percepções. Eu ficaria curioso.

Não apenas funções aleatórias e lobos aleatórios, mas mais próximos dos lucros.

"Mais próximo do lucro" não é sinônimo de "treinamento excessivo"?
Obtemos um bom equilíbrio no lucro aleatório, já que a base é um valor incremental aleatório. E de onde vem a beleza do equilíbrio?

O equilíbrio é a avaliação do TS no terminal, em que esse equilíbrio é influenciado não apenas pelo erro de classificação.

Mas se ficarmos dentro do MOE, então a avaliação NÃO é o perfil

 
СанСаныч Фоменко #:

"Mais perto do lucro" não é sinônimo de "treinamento excessivo"?
Obtemos um belo equilíbrio em um lucro aleatório, porque a base é um valor de incremento aleatório. De onde vem a beleza do equilíbrio?

O equilíbrio é a avaliação do TS no terminal, em que esse equilíbrio é influenciado não apenas pelo erro de classificação.

E se permanecermos dentro do MO, então a avaliação NÃO é um lucro

Mais perto do lucro - mais perto das cotações, não treinando em algo sem sentido. Há muitos testes desse tipo na Internet, e as peculiaridades de diferentes MOs são conhecidas há muito tempo. O que é pior e o que é melhor.

Só não entendo onde a extração de regras se encaixa na hierarquia.