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

 
Dimitri:

Bizâncio já não existia no início da Renascença, Constantinopla era a capital do Império Otomano, e as Cruzadas tinham terminado 200 anos antes disso.

Não brinques...

O renascimento é dividido em quatro etapas:

  1. Proto-Renascença (2ª metade do século XIII ao século XIV)
  2. Início da Renascença (início do século XV ao final do século XV)
  3. Alto Renascimento (final do século XV - primeiros 20 anos do século XVI)
  4. Final da Renascença (meados da década de 16 a 1590)

A Quarta Cruzada de 1202-1204 (este é o início do século XIII)

Depois de saquear a cidade mais rica e maior da Europa... Eles (cruzados) estabeleceram um estado com Constantinopla como sua capital, o Império Latino. A luta contra os conquistadores durou mais de 50 anos. Em 1261 o Império Latino caiu. A Bizâncio foi restaurada, mas nunca mais pôde alcançar o seu poder anterior.

Ao longo de 50 anos de pilhagem e vivendo em Bizâncio, os recém enriquecidos europeus (principalmente Veneza, que fez todo o transporte marítimo e seus distritos) desenvolveram um gosto pela bela vida, eles começaram a pagar bem às pessoas criativas. Os aprendizes criativos contratados/formados, que depois se destacaram como professores, etc. E assim continuou e assim continuou.

 
A opinião da CatBoost é necessária, duas amostras são necessárias para o treinamento lá. A primeira é a função de otimização, e a segunda é a seleção do modelo, ou seja, quando esta função deve parar seu trabalho para evitar o excesso de treinamento, e para este fim os resultados do treinamento são aplicados à segunda amostra. Estou pensando, na verdade, que estamos procurando um padrão na amostra de treinamento de 2014-2016, depois testando este padrão em 2016-2017, e independentemente testando o modelo já na terceira amostra em 2018-2019. Estou confuso com uma dispersão de tempo tão grande, ou melhor, duvido que precisemos de uma amostra grande para o teste, porque queremos apanhar um padrão estável durante um longo período de tempo, mas a duração deste padrão não sabemos... Estou pensando que é suficiente colocar 2-3 meses na amostra de teste, o que revelará uma tendência que é cíclica e se repetirá antes e depois, mas então há o risco de que antes de revelar essa ciclicidade na amostra de treinamento o modelo se aglomere muitas árvores descrevendo algo mais, e só então construirá árvores descrevendo uma tendência na amostra de teste. De qualquer forma, na dúvida, não se sabe como fazer uma experiência que ajude a determinar quanto tempo cada uma das três amostras deve ter. Alguém tem alguma ideia sobre isto?
 
Elibrarius:

Ao longo de 50 anos de pilhagem e vida na Bizâncio, os novos europeus enriquecidos (principalmente Veneza, que fez todo o transporte marítimo e seus condados) desenvolveram um gosto pela bela vida e começaram a pagar bem às pessoas criativas. Os aprendizes criativos contratados/formados, que depois se destacaram como professores, etc. E foi assim - pouco a pouco.

Mas é claro que isto é IMHO.

Um apresentador de televisão europeu disse que a queda de Constantinopla foi uma bênção, apesar das centenas de milhares de vítimas e da destruição, pessoas instruídas inundaram a Europa e foram voluntariamente contratadas, o que lhes deu a oportunidade de devolver parte do conhecimento perdido do Império Romano, o que contribuiu para o surgimento da Idade Média.

Isto é, até actos blasfemos como a guerra, mesmo agora, são apresentados como boas acções para toda a humanidade... A história é escrita pelos vitoriosos.

 
Aleksey Vyazmikin:
mas então há o risco de que antes de revelar esta ciclicidade na amostra de treinamento, o modelo faça muitas árvores descrevendo algo mais, e só então construir árvores descrevendo a tendência na amostra de teste.

Nem as árvores nem os NS separam os fios pelo tempo, eles até os embaralham. Então, nenhuma árvore é "então" construída. São todos construídos com base em dados embaralhados de forma uniforme. As linhas de 2014 e 2016 podem ficar lado a lado.

Se o NS não embaralhar as filas, ele apenas se retrairá nos primeiros exemplos e chegará a um impasse e os últimos dados não terminarão de aprendê-lo. Depois de baralhar as filas, NS aprende de forma uniforme. Você não precisa embaralhar as linhas se r=1 (parte das linhas para aprender uma árvore), mas normalmente é definido <1 para evitar o excesso de treinamento, então você precisa embaralhar também, então em r=0,5 você não leva apenas os dados de 2014 e 2015.

Aleksey Vyazmikin:
Não consigo descobrir como fazer uma experiência que ajude a determinar quanto tempo cada uma das três amostras deve ter. Tens alguma ideia sobre isso?

Acho que também precisamos de optimizar isto. Mas acho que o número de linhas não deve ser inferior a 1000-10000, para que a amostra seja representativa e faça a média de todos os desvios aleatórios. Caso contrário, você pode encaixar um viés aleatório em uma pequena amostra.

 
Aleksey Vyazmikin:

Um programa europeu dizia que a queda de Constantinopla foi uma bênção, apesar das centenas de milhares de mortos e destruídos, pessoas instruídas inundaram a Europa, que foram voluntariamente contratadas e assim conseguiram recuperar parte do conhecimento perdido do Império Romano, o que contribuiu para o surgimento da Idade Média.

Isto é, até actos blasfemos como a guerra, mesmo agora, são apresentados como uma boa acção para toda a humanidade... A história é escrita pelos vitoriosos.

Claro, todos percebem o bem para si próprios. Para os europeus, é claro, esta é uma boa ação de saqueio de finanças e cérebros. Para os bizantinos isto não é uma bênção, para muitos foi a morte.

Não me lembro exactamente, mas no período da sua era dourada, os impostos anuais bizantinos ascendiam a cerca de 2-4 mil toneladas de ouro. Mesmo para o nosso tempo é uma quantidade muito boa para muitos países. Mas posso estar errado em números - há alguns anos atrás eu vi um filme, ele me falou sobre isso. Se você estiver interessado, dê uma olhada. Encontrei-o por acaso no início do filme - várias centenas de toneladas de moedas foram tiradas apenas.


 
elibrarius:

Nem as árvores nem as NSs separam as cordas pelo tempo, elas até as embaralham. Portanto, nenhuma árvore é construída "depois". São todos construídos com base em dados embaralhados de forma uniforme. As linhas de 2014 e 2016 podem ficar lado a lado.

Não é bem possível que eu tenha dito o meu ponto de vista.

Olha, nós construímos uma árvore em uma amostra de treinamento, ela cobriu 10% da amostra (Recall) e assim digamos 20 árvores, cada uma adiciona 3%-7% à Recall, mas isso está na amostra de treinamento, enquanto na amostra de teste, talvez apenas 5 e 6 árvores geralmente darão qualquer resposta sobre a completude e precisão, e as árvores antes e depois serão ruído, mas se aquelas "depois" forem cortadas por algoritmo, então aquelas "antes" permanecerão. Assim, temos um modelo que tem árvores que ajudam na classificação e árvores que a dificultam ou simplesmente se comportam de forma passiva. É por isso que é o tamanho da amostra de teste e o seu preenchimento que é a questão.

Eu tenho cerca de 14 cordas no total e preciso dividi-las em 3 amostras.

Talvez para estes tipos de modelos seja eficiente cortar diferentes pedaços de amostra e depois testar os modelos resultantes em toda a amostra para estabilidade... Em contemplação.

 
Elibrarius:

O bem é, naturalmente, uma percepção de cada indivíduo. Para os europeus, claro, foi uma bênção sob a forma de roubo de finanças e cérebros. Para os bizantinos, não é uma bênção, para muitos foi a morte.

Não me lembro exatamente, mas no auge da Bizâncio os impostos anuais eram de cerca de 2-4 mil toneladas em ouro. Mesmo para o nosso tempo, é uma quantidade muito boa para muitos países. Mas eu poderia estar errado sobre os números - eu vi um filme há alguns anos atrás, dizia. Se você estiver interessado, dê uma olhada. Acidentalmente, no início do filme, apenas as moedas tiraram várias centenas de toneladas.


Vou ver o vídeo, obrigado, mas prefiro ver dos japoneses ou de outra pessoa independente...

 
Aleksey Vyazmikin:
talvez apenas as árvores 5 e 6 darão qualquer resposta sobre a completude e precisão, e as árvores antes e depois serão ruído, mas se aquelas "depois" serão podadas por algoritmo, aquelas "antes" permanecerão.

Que algoritmo irá cortar árvores de uma floresta já construída? A floresta terminará de crescer ou quando atingir um certo número ou por algum outro método, quando considerar que aprendeu bem. Se tiver uma poda ao aprender, terá um efeito positivo sobre o erro no comboio (e se estiver disponível em válido).

Em geral, é claro, parte das árvores votará a favor e parte contra. E é impossível se livrar dela, porque é isso que permite que a floresta aprenda bem, ao contrário de árvores individuais, devido à média de votos. Ao impulsionar, apenas a primeira árvore aprende com os dados, todas as outras com os erros.

 
elibrarius:

Que algoritmo irá cortar árvores de uma floresta já construída? A floresta terminará de crescer ou quando atingir um certo número ou por algum outro método, quando considerar que aprendeu bem. Se houver poda durante o treinamento, ela terá um efeito positivo sobre o erro no trem (e se disponível em válido).

Que algoritmo vai podar - assim CatBoost faz isso em treinamento, aí você pode definir um parâmetro que se 10 (tantas quantas você especificar) árvores novas não melhoraram o resultado, então ele toma modelo sem essas últimas 10 árvores, e respectivamente é o melhor do que você tem.

elibrarius:

Ao impulsionar, apenas a primeira árvore aprende com os dados, todas as outras com os erros.

Ditado interessante. No entanto, as árvores seguintes são construídas para reduzir o erro da composição das árvores existentes, mas não entendo porque não usam a amostragem então, diga-me com mais detalhes, talvez eu não entenda algo em profundidade...

 
Aleksey Vyazmikin:

Ditado interessante. No entanto, as árvores subsequentes são construídas para reduzir o erro da composição das árvores existentes, mas não entendo porque não usam a amostragem então, diga-me com mais detalhes, talvez me esteja a faltar algo em profundidade...

Sim, a fim de reduzir o erro eles tomam exatamente os erros como alvo, e depois subtraem-no.

Aqui está o algoritmo do boosting, eu próprio estou a estudá-lo https://neurohive.io/ru/osnovy-data-science/gradientyj-busting/


1. Definir regressão linear ou árvore de decisão nos dados (aqui escolhida árvore de decisão em código) [chamada x como entrada e y como saída] (1tree treinada nos dados)

2. Calcular erros de erro. Valor alvo real, menos o valor alvo previsto [e1 = y - y_predicted1]

3. definir novo modelo para outliers como variável de destino com as mesmas variáveis de entrada [nome ele e1_predicted] (2 e o resto das árvores são treinadas em erros)

4. Adicionar os valores anómalos previstos às previsões anteriores
[y_predicted2 = y_predicted1 + e1_predicted]

5. definir outro modelo para os erros restantes, ou seja, [e2 = y - y_predicted2], e repetir os passos 2 a 5 até que eles estejam sobreajustados, ou a soma se torne constante. O controle de sobreajuste pode ser controlado através da verificação constante da precisão dos dados para validação.


Eu entendo que isto é um impulso clássico. Talvez a Catbust tenha inventado algo próprio...

Градиентый бустинг — просто о сложном
Градиентый бустинг — просто о сложном
  • 2018.11.27
  • neurohive.io
Хотя большинство победителей соревнований на Kaggle используют композицию разных моделей, одна из них заслуживает особого внимания, так как является почти обязательной частью. Речь, конечно, про Градиентный бустинг (GBM) и его вариации. Возьмем, например. победителя Safe Driver Prediction, Michael Jahrer. Его решение — это комбинация шести...