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

 

Anteriormente falado sobre a possibilidade teórica de remover valores ruidosos de um array, aqui está o modelo original

e aqui removi ruído de 0.01 a -0.01 de um array com pesos de resposta em árvore binária

O ganho é ligeiramente menor, mas o desempenho relativo melhorou.

 

Hm, removido (valores zerados) já árvores binárias de -0.02 a 0.02

parece que não há um progresso fraco, o que significa que há um núcleo de racionalidade nisto - é necessária mais investigação.

 
Aleksey Vyazmikin:

Em termos muito primitivos, a primeira árvore não tem resposta à amostra, retorna zero, e a quarta árvore tem essa resposta e conta "probabilidade" 0,6 - tecnicamente corrigiu o erro da primeira árvore, mas na verdade revelou uma conexão que antes não existia de todo.

O erro da primeira árvore pode ser não só 0, mas também 1.

Ou seja, se a primeira árvore previu 1, mas na verdade foi 0, então as árvores seguintes devem diminuir o total de 1 para 0. Assim, 2,3 etc. árvores farão uma previsão negativa para diminuir 1 da primeira árvore para 0 após N passos por várias subtrações.

 
elibrarius:

O erro da primeira árvore pode ser não só 0, mas também 1.

Ou seja, se a primeira árvore previu 1, mas na verdade há 0, então as árvores subsequentes devem diminuir o total de 1 para 0. Ou seja, 2,3 etc. As árvores darão uma previsão negativa para reduzir 1 da primeira árvore para 0 após N passos por várias subtracções.

Claro, eu concordo. Mas isso não muda a essência - o importante é o padrão que a árvore encontrará, e a interpretação desse padrão é o trabalho de um algoritmo separado.

 
Aleksey Vyazmikin:

E eu não sei sobre a comunidade, ou seja, não sei como outros indivíduos de outras áreas o fazem?

Puxar dados me parece lógico, porque estou procurando um modelo de comportamento humano (ou algoritmo) com a ajuda de MO, pode haver muitos padrões de comportamento e eles podem ser independentes, então faz sentido puxar o máximo possível, porque é impossível generalizá-los todos juntos. E para alguém o mercado é algo inteiro, o resultado de um trabalho mental coletivo, algum tipo de órgão de votação sem regras, eles, provavelmente, estão procurando o modelo certo para descrever o comportamento do mercado como um organismo separado.

Como você pode não saber quando você faz parte disso )

talvez eu esteja compartilhando, pois o objetivo original era fazer algo como uma IA que pegasse tudo sozinho, sem uma rotina manual. Rotina apenas ao desenhar uma coisa dessas

Eu não consigo imaginar passar por centenas/milhares de modelos manualmente, selecionando algo lá. Pelo contrário, eu quero esquecer de "inventar" TCs como um pesadelo.

 
Maxim Dmitrievsky:

Como não sabes quando fazes parte dela )

talvez eu esteja compartilhando, pois o objetivo original era fazer algo como uma IA que abate tudo em si, sem uma tarefa manual. Rotina apenas ao desenhar uma coisa dessas

Eu não consigo imaginar passar por centenas/milhares de modelos manualmente, selecionando algo lá. Pelo contrário, quero esquecer de "inventar" o TC como um pesadelo.

E não tenho ideia de como analisar cada modelo separadamente - é por isso que dei ênfase ao processamento em lote. Os modelos individuais devem ser analisados em detalhe para melhorar o algoritmo geral do ciclo de criação de modelos, para encontrar novas ideias.

O problema é que quando você tem centenas de milhares de variantes de modelos que dão resultados totalmente diferentes, é difícil entender o que fazer para melhorar os resultados - é aqui que eu tenho o maior obstáculo. No início eu recebo modelos interessantes com 4 preditores e me parece que não faz sentido adicionar mais preditores e apenas mais modelos devem ser gerados, então pelo contrário, eu uso muitos preditores e a influência da amostra de treinamento tem mais, além de muitos parâmetros para o treinamento com o próprio CatBoost. É por isso que eu estou inclinado a gerar muitos modelos e salvar 2-3 de cada 100k e estudá-los mais profundamente.

 
Aleksey Vyazmikin:

Não tenho idéia de como analisar cada modelo separadamente - daí a ênfase no processamento em lote. O problema é que quando você tem centenas de milhares de variantes de modelos que dão resultados completamente diferentes, é difícil saber o que fazer com eles.

O problema é que quando você tem centenas de milhares de variantes de modelos que dão resultados totalmente diferentes, é difícil entender o que fazer para melhorar os resultados - é aqui que eu tenho o maior obstáculo. No início eu recebo modelos interessantes com 4 preditores e me parece que não faz sentido adicionar mais preditores e apenas mais modelos devem ser gerados, então pelo contrário, eu uso muitos preditores e a influência da amostra de treinamento tem mais, além de muitos parâmetros para o treinamento com o próprio CatBoost. Portanto, estou inclinado a que seja necessário gerar muitos modelos e salvar 2-3 de cada 100k, e já há mais detalhes para serem estudados.

Sim, assim, é desejável, tanto quanto possível, automatizar, que depois se manteve uma escolha banal, o que é mais preferível, tomar uma chávena de café.

É difícil de fazer, concordo, mas será a IA e não um classificador regular.

Quanto à última - há uma AutoML libs - uma rede neural seleciona a melhor rede neural ou conjunto de modelos para uma determinada tarefa, é legal também. Ainda não foi usado.
 
Maxim Dmitrievsky:

Sim, algo assim, de preferência automatizado o mais possível, para que depois haja uma escolha trivial da qual você goste mais, sobre uma xícara de café.

difícil de fazer, concordo, mas então seria uma IA, não um classificador regular.

Agora após o treinamento, os resultados são processados por script (sem intérprete de modelo - pelo cálculo CatBoost), e dos 100k modelos eu recebo aqueles que atendem aos critérios definidos (modelo e critérios comerciais) para as três amostras, nós recebemos cerca de 50-100 modelos, eu os converto para exibição no terminal e faço o re-pass para uma seleção mais detalhada. Na verdade, posso nem mesmo lançá-los no terminal, se eu souber exatamente o que quero, mas por enquanto estou procurando critérios de seleção e acho que é útil olhar visualmente diferentes modelos. Posso salvar as curvas de equilíbrio com o script, mas não sei como trabalhar com gráficos - ainda não consigo entendê-los.

Eu não sei se você pode criar muitos modelos em Python, mas se estiver interessado, eu posso enviar-lhe os bastões, que eu uso para fazer isso.

 
Aleksey Vyazmikin:

Agora após o treinamento os resultados são processados pelo script (sem o interpretador de modelos - baseado nos resultados do CatBoost), e dos 100k modelos eu recebo os que satisfazem os critérios (modelo e critérios comerciais) para as três amostras, eu recebo cerca de 50-100 modelos, eu os converto para reprodução no terminal e faço uma segunda passagem lá para uma seleção mais detalhada. Na verdade, posso nem mesmo lançá-los no terminal, se eu souber exatamente o que quero, mas por enquanto estou procurando critérios de seleção e acho que é útil olhar visualmente diferentes modelos. Posso salvar as curvas de equilíbrio com o script, mas não sei como trabalhar com gráficos - ainda não consigo entender.

Não sei se em python você pode criar muitos modelos ao mesmo tempo, mas se for interessante, posso enviar-lhe os bastões, que eu uso para fazer isso.

podes fazer tudo em pitão e muito mais.

Ainda não, não obrigado... Estou só a ler uns livros interessantes. Também já usei catbust em python, comparei com a floresta, não vi grandes melhorias, mas é configurável e funciona bem por si só. Na verdade, em algumas linhas.

 
Maxim Dmitrievsky:

AutoML - uma rede neural seleciona a melhor rede neural ou conjunto de modelos para uma determinada tarefa, também legal. Ainda não o usei.

Eu fiz algo semelhante - a questão é novamente sobre os preditores e os critérios de seleção (alvo). Agora (muitos meses depois) finalizar todas as idéias com preditores e voltar a este tópico. E o resultado está aí em geral, eu já postei anteriormente como esses modelos funcionam, mas eu preciso de amostras diferentes com dispersão diferente, de preferência de modelos diferentes.

E o que é que o AutoML usa como preditores e como alvo?