Discussão do artigo "Importância da qualidade do gerador de números aleatórios no desempenho dos algoritmos de otimização" - página 6

 
Stanislav Korotky #:

Portanto, é fundamental dividir o conjunto de dados original em dois e, ao realizar a otimização em uma metade, controlar a qualidade na segunda metade.

Espere um pouco. Agora, os algoritmos do Andrew são responsáveis exatamente pelo tipo de otimização que o MT5-Tester realiza. Na citação, você fala sobre a saliência sobre o algoritmo de otimização.


Na discussão, você ainda pode sentir um certo algoritmo de otimização, que não é formalmente um concorrente do algoritmo no MT5-Tester, mas resolve tarefas de pesquisa bastante diferentes. Não havia nenhum desses algoritmos na série de artigos de Andrei.

 
Andrey Dik #:

Então, existe alguma maneira de selecionar, entre todos os parâmetros possíveis nos resultados de uma pesquisa completa, o conjunto que usaremos em dados desconhecidos? Fizemos uma pesquisa completa, sem otimização aqui.

Agora é muito importante responder a essa pergunta.

Sim, acreditamos que há uma maneira.

Qual é a intriga?

 

Parece haver alguma confusão nos termos.

Chamo de otimização o processo de busca dos melhores parâmetros (nesse caso, uma estratégia de negociação). E os "melhores" parâmetros são aqueles que passarão bem pelo forward.

 
Andrey Khatimlianskii #:

Parece haver uma certa confusão de termos.

Eu chamo de otimização o processo de busca dos melhores parâmetros (nesse caso, uma estratégia de negociação). E os "melhores" parâmetros são aqueles que passarão bem pelo forward.

Aparentemente, há de fato um mal-entendido terminológico.

A otimização no sentido do MT5-Tester é a busca pelo maior valor de FF.

 
fxsaber #:

Aparentemente, de fato, um mal-entendido terminológico.

Otimização no sentido do MT5-Tester - busca pelo maior valor de FF.

Stanislav e eu estávamos claramente falando de outra coisa.

Encontrar o máximo é divulgado nos artigos. Mas nem sempre isso pode ser útil do ponto de vista prático.

 
Andrey Khatimlianskii #:

Encontrar o máximo em artigos é revelador. Mas nem sempre pode ser útil do ponto de vista prático.

Portanto, isso está um pouco fora do contexto de uma série de artigos sobre diferentes maneiras de resolver um problema clássico de otimização.


A maneira mais direta de encontrar locais interessantes para OOS é interromper à força o algoritmo de otimização que está resolvendo o problema clássico.

Por exemplo, deixe o AG fazer 10.000 passagens para resolver o problema. Obviamente, os 100 melhores resultados das primeiras 3.000 passagens contêm mais extremos locais do que os 100 melhores resultados das 10.000 passagens.

Portanto, interromper após 3.000 passagens e analisar as 100 melhores é razoável para possivelmente encontrar configurações robustas.

 
Andrey Khatimlianskii #:

Qual é a intriga?

Não há nenhuma intriga. Fiz uma pergunta, de certa forma um teste para entender a terminologia e quem coloca o quê no termo "otimização".

Quem chegou mais perto de usar a terminologia como pretendido foi o fxsaber.

De qualquer forma, isso não é bom nem ruim, não é certo nem errado, apenas facilita o alcance das metas e evita colocar significados onde não há nenhum e vice-versa, permitindo que você preste mais atenção aos aspectos que realmente afetam o que precisa ser alcançado.

Em termos de arquitetura, a forma como o testador e o otimizador internos estão estruturados, tudo é feito corretamente, as moscas são separadas das costeletas. É por isso que posso imaginar como os desenvolvedores da Metaquotes usam mentalmente palavrões, talvez até gesticulem sentados em seus locais de trabalho quando leem frases de usuários como "a otimização no otimizador interno é um ajuste" e declarações semelhantes.

Tentarei esclarecer a confusão terminológica.

 
Andrey Khatimlianskii #:

Stanislaw e eu estávamos obviamente falando de outra coisa.

A busca pelo máximo é revelada nos artigos. Mas ela nem sempre pode ser útil do ponto de vista prático.

Sim, você estava falando de outra coisa. Parece que "o tópico do cozimento de kebab é divulgado, mas os kebabs podem não ser saudáveis". Tudo bem, vamos resolver isso juntos, separar as moscas das costeletas.

 
Stanislav Korotky #:

Isso é algum tipo de jogo de terminologia? Sugeri três maneiras de escolher o melhor conjunto - elas também são adequadas para o caso de um histórico completo executado em todas as combinações possíveis.

Por exemplo, um problema bem conhecido: há um NS (digamos, negociação em incrementos de preço) e a otimização é usada para encontrar os pesos dessa rede. Se aplicarmos seus algoritmos de forma direta, obteremos um NS excessivamente treinado, que não conseguirá trabalhar com novos dados. Portanto, é fundamental dividir o conjunto de dados original em dois e, ao realizar a otimização em uma metade, controlar a qualidade na segunda metade.

Você poderia explicar o que significa "aplicar algoritmos de frente"? Acho difícil ver como os algoritmos de otimização podem ser mal utilizados. Os conceitos de "excesso de treinamento" e/ou "ajuste" não se aplicam aos algoritmos de otimização.

Não, não é um jogo de terminologia, mas minha tentativa de esclarecer um mal-entendido de longa data que vem ocorrendo em torno da otimização em geral e dos algoritmos de otimização em particular.

 
fxsaber #:

Portanto, isso está um pouco fora do contexto de uma série de artigos sobre diferentes maneiras de resolver um problema clássico de otimização.

Sim, exatamente, Stanislav e Andrey estão falando sobre coisas fora do contexto dessa série de artigos. Além disso, a série de artigos não trata da solução de problemas de otimização, mas de algoritmos de otimização. Um algoritmo de otimização é apenas uma parte de um problema de otimização (é assim tanto terminologicamente quanto corretamente do ponto de vista da comparação de algoritmos entre si, caso contrário, seria impossível comparar algoritmos em princípio), portanto, nesta série de artigos, considero apenas algoritmos de otimização.

Vou deixar isso mais claro nos comentários abaixo. Espero realmente que isso ajude a olhar para coisas conhecidas de um ângulo diferente.