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

 
SanSanych Fomenko:

Obrigado, já o li.

Eu acho que o autor é demasiado optimista.

O problema do sobretreinamento não é, em princípio, resolúvel.

...

Em teoria é resolúvel do ponto de vista da determinação universal de Laplace, por exemplo, se todos os fatores necessários forem conhecidos com antecedência e se houver acesso à informação a eles. Mas na prática esta "decidabilidade" tem muitos problemas (nem todos os factores são conhecidos e nem todos estão disponíveis, e os que estão disponíveis, são muitas vezes ruidosos).

SanSanych Fomenko:


...

Para minha convicção, se os preditores de entrada não são primeiro liberados dos de ruído, ou seja, "irrelevantes" para a variável alvo, então o método "grosseiro" não funciona e outros métodos que usam o conceito de "importância" dos preditores também não funcionam.

Que de acordo com a sua crença, e com base na confirmação das minhas experiências com o jPrediction, parece ser exactamente o que deveria ser?

Mas a tragédia é que nem todas as experiências confirmam a afirmação acima. Tudo depende do tipo de métodos de aprendizagem de máquinas utilizados.

Por exemplo, Viktor Tsaregorodtsev conduziu uma pesquisa sobre redes neurais com BackPropagation e, com base nos resultados, chegou a conclusões bastante opostas em seu artigo"Redução do tamanho da rede neural não leva ao aumento da capacidade de generalização", e eu cito:

"Isto contradiz a opinião de que eliminar características ruidosas, pouco informativas e neurónios redundantes é obrigatório e útil na prática".

Por outras palavras, revela-se que é absolutamente inútil tirar quaisquer conclusões gerais para todos os métodos de aprendizagem de máquinas sem excepção (para fazer uma abordagem de tamanho único). Para alguns métodos, tais "conclusões" serão correctas, enquanto para outros podem revelar-se deliberadamente erradas.

 
Yury Reshetov:

Ao aumentar a complexidade dos modelos em jPrediction, queremos dizer aumentar gradualmente o número de preditores. Porque em jPrediction o número de neurônios na camada oculta é 2^(2*n+1), onde n é o número de preditores. Assim, com o número crescente de preditores, a complexidade do modelo (número de neurônios em camada oculta) aumenta.


Se existem 100 preditores, então pela sua fórmula o número de neurónios numa camada oculta será quase igual ao número de átomos no Universo (receio até pensar em 200 preditores). Você parece ter recursos divinos - computacionais e de tempo.



 
Andrey Dik:

CC deu um exemplo muito infeliz enquanto continuava a persistir na sua ignorância...

O que queres dizer com "outras forças"? As mesmas forças actuam sobre a bola e a penugem - a força da gravidade (peso) e a força do fluxo do vento distribuídas por metade da área do corpo.

...

Andrew, eu lembro-te que este tópico é sobre aprendizagem de máquinas, não sobre problemas físicos.

Por favor, tenha a gentileza de não se perder em tópicos distraídos, que não são bem-vindos neste tópico.

Se você está tão ansioso para se gabar de seus conhecimentos de física, comece um tópico separado dedicado a ela.

Especialmente porque você está tentando desafiar a metáfora com uma cara inteligente, colocando-se em uma posição deliberadamente estúpida.

 
Yury Reshetov:

Andrew, eu lembro-te que este tópico é sobre aprendizagem de máquinas, não sobre problemas físicos.

Por favor, tenha a gentileza de não se perder em tópicos distraídos, que não são bem-vindos neste tópico.

Se você quer se gabar de seus conhecimentos de física, comece um tópico separado sobre física.

Ainda mais quando você tenta colocar um rosto inteligente para desafiar uma metáfora, colocando-se em uma posição deliberadamente estúpida.

Bem, se você acha que metáforas baseadas em exemplos errados têm algum valor, eu não vou interferir mais.

Sinto muito. E você CC desculpe-me.

 
sibirqk:

Se houver 100 preditores, pela sua fórmula o número de neurônios em uma camada oculta estará em algum lugar se aproximando do número de átomos no Universo (eu nem ouso pensar em 200 preditores). Você parece ter recursos divinos - computacionais e de tempo.

Não quero saber se há 10.000 preditores. Não é certo que todas elas sejam informativas. Ou seja, jPrediction vai encontrar alguns dos mais informativos entre eles, complicando gradualmente os modelos. Parará assim que a generalizabilidade começar a diminuir.

Não vem para os recursos divinos. Um computador pessoal comum é o suficiente.

 
Andrey Dik:

OK, se você acha que metáforas baseadas em exemplos errados têm algum valor, então eu não vou interferir de agora em diante.

Sinto muito. E você CC desculpe-me.

As metáforas não têm outro valor senão o retórico, independentemente do seu sucesso em retórica. E a implicar com eles é uma tonelada de mauvais.

Desculpas aceites, claro.

 
Yury Reshetov:
As metáforas não têm outro valor que a retórica, independentemente do seu sucesso em retórica. E a implicar com eles é uma tonelada de mauvais.

Se algo dito não tem valor, é o bolabolismo. Acho que o CC não queria dizer bola-bola-bola-bola-bola, é apenas a forma como ele o fez.

E as metáforas são utilizadas quando se pretende transmitir uma ideia numa linguagem acessível através da comparação. Portanto, um exemplo é bom para um político, e outros exemplos são compreensíveis para um físico nuclear, então o político e o físico nuclear se entendem, eles usam comparações, metáforas. Assim, as metáforas têm um propósito definido - facilitar a compreensão dos interlocutores.

Não importa, esquece.

 
Andrey Dik:

Se algo dito não tem valor, então é bolabolismo. Acho que o CC não queria dizer bola-bola-bola, apenas funcionou assim para ele.

Tudo o que ele fez foi dar uma má metáfora. E daí? Para a parede para o pôr por isso?

Todos nós somos humanos e todos nós cometemos erros às vezes.

Outra coisa é que há tanto flub por causa disso, o que reduz excessivamente o valor informativo do tema. E isso não é suficiente.

 
Yury Reshetov:

Em teoria, é resolúvel em termos do determinismo universal de Laplace, por exemplo, se todos os fatores necessários forem conhecidos e houver acesso informativo aos mesmos. Mas na prática essa "declinabilidade" tem muitos problemas (nem todos os fatores são conhecidos e nem todos estão disponíveis, e os que estão disponíveis, muitas vezes são barulhentos).

Isto de acordo com a sua crença, e com base na confirmação das minhas experiências com o jPrediction, parece ser exactamente como deveria ser?

Mas o problema é que nem todas as experiências confirmam a afirmação acima. Tudo depende do tipo de métodos de aprendizagem de máquinas utilizados.

Por exemplo, Victor Tsaregorodtsev fez algumas pesquisas sobre redes neurais com BackPropagation, e os resultados chegaram a conclusões bem opostas em seu artigo"A redução do tamanho da rede neural não leva a uma maior capacidade de generalização", e eu cito:

"Isto contradiz a opinião de que a eliminação de características ruidosas, pouco informativas e neurónios redundantes é obrigatória e útil na prática".

Por outras palavras, revela-se que é absolutamente inútil tirar quaisquer conclusões gerais para todos os métodos de aprendizagem de máquinas sem excepção (para fazer uma abordagem de tamanho único). Para alguns métodos tais "conclusões" serão corretas, enquanto para outros podem estar deliberadamente erradas.

Se você olhar para as primeiras publicações do autor de algoritmos de florestas aleatórias, o autor, com toda a seriedade, afirmou que o rf não é propenso a excesso de treinamento e deu muitos exemplos. O próprio pacote da floresta aleatória é construído de forma a excluir até mesmo a mais leve suspeita de sobretreinamento.

Ao mesmo tempo, o algoritmo mais sobre-treinado é o da floresta aleatória. Eu próprio me queimei pessoalmente.

Eu só acredito nos números obtidos pela seguinte metodologia.

Levamos dois ficheiros que se seguem um ao outro a tempo.

Nós dividimos o primeiro arquivo aleatoriamente em três partes: ensino, teste e validação.

  • Ensinamos na parte do treinamento, que por sua vez é usada para ensinar o algoritmo, e na parte da avaliação - a amostra AOB - é chamada de out-of-sample. Nós temos o erro de aprendizagem. Recebemos uma fatia para ALE por algoritmos de validação cruzada, ou seja, é sempre diferente.
  • Nós verificamos o modelo treinado na parte de teste e validação do primeiro arquivo.
  • temos o erro de aplicar o modelo previamente treinado. Os três erros devem estar próximos.

Avançar para o segundo arquivo, que está atrás do primeiro arquivo no tempo.

Aplique o modelo treinado a este segundo arquivo. O erro resultante NÃO deve ser muito diferente dos 3 erros.

ISTO RESULTA EM QUATRO VALORES DE ERRO QUE NÃO SÃO MUITO DIFERENTES UM DO OUTRO.

Para mim, esta é a única prova da falta de sobretreinamento. E se também tivermos um erro próximo a estes quatro no testador, podemos trocar.

É só nisso que eu acredito.

Um número esmagador de publicações de aprendizagem de máquinas não são testadas em nenhum segundo arquivo analógico. A razão é trivial. Os algoritmos NÃO são aplicados em séries temporais. E acontece que uma divisão aleatória do ficheiro número um é bastante suficiente. E este é de facto o caso do reconhecimento da caligrafia, por exemplo.

 

Em relação às minhas metáforas e analogias.

Licenciei-me em Matemática Aplicada. E meus professores acreditavam que eu, como todos os meus colegas de classe, era capaz de dominar qualquer ferramenta matemática. E os meus professores viram o principal problema no nosso trabalho futuro como a resolução do problema da aplicabilidade de uma determinada ferramenta a um determinado problema prático. Isto é o que tenho feito durante toda a minha vida, mas dominando qualquer ferramenta .... Em R há centenas ou milhares deles, e depois?

Toda esta correria na minha morada...

Contrariar o troll é apenas para o alimentar.

Claro, quem me dera poder limpar o fio, foi um grande fio.