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

 
mytarmailS:
qual é a função alvo no seu classificador?
Não há função de alvo, ela funciona segundo o princípio de que quanto mais longe da média de todos os preditores da população, mais rápido eles devem convergir para essa média, ou seja, ela funciona segundo o princípio de classificador Bayesiano, ela encontra tais pesos que nos preditores da população daria o maior desvio da média em cada caso e, no final, eles devem convergir de volta. Como tomamos os preditores como estacionários, é claro que a média é 0. Se a saída é >0, vendemos se <, compramos.
 
Maxim Dmitrievsky:

Cheguei à conclusão de que o MLP é um monstro feio, retardado e pouco promissor para o comércio, especialmente porque copia o mecanismo de funcionamento dos neurónios reais de forma muito primitiva e não da forma como realmente acontece no cérebro :) A única normal e perspectiva NS é a convolução ns para o reconhecimento de padrões, enquanto eles não são capazes de prever, e se assim for, um conjunto de classificadores simples e rápidos é suficiente.

O classificador Bayesiano é melhor, mas pior que o RF.

Curiosamente, cheguei à conclusão exactamente oposta sobre os "behemoths feios").

A RF requer a seleção de preditores, o que é uma tarefa não trivial, dada a exigência de que eles sejam pelo menos linearmente independentes. O MLP I simplesmente ajusta as séries temporais, e a exigência de independência linear é resolvida por um comitê de vários NS cujas entradas são séries temporais descarregadas (análogas a várias TFs). Os atrasos de NS, para trocas a sério, suponho, são insignificantes.

O que vai acontecer ao TS real eu ainda não sei, mas NS parece ser bastante treinável. Veja uma parte da saída gráfica de NS treinados. Ainda não posso dizer com certeza o quão bem está treinado). Mas é treinável)).


 
Yuriy Asaulenko:

É interessante que eu cheguei à conclusão exactamente oposta sobre "behemoths feio").

A RF requer a seleção de preditores, o que é uma tarefa não trivial, dada a exigência de sua independência pelo menos linear. O MLP I simplesmente ajusta as séries temporais, e a exigência de independência linear é resolvida por um comitê de vários NS cujas entradas são séries temporais descarregadas (análogas a várias TFs). Os atrasos de NS, para trocas a sério, suponho, são insignificantes.

O que vai acontecer ao TS real eu ainda não sei, mas NS parece ser bastante treinável. Veja uma parte da saída gráfica de NS treinados.


Basta atirar os preditores sob a forma de osciladores no gráfico e você verá se eles são linearmente dependentes ou não-lineares). Não são necessários números. A NS pode se retrair, não pode criar correlações super não lineares se elas não estiverem lá desde o início ou se forem inconsistentes.

Ou é necessário usar uma máquina nuclear antes da NS, como no Jpredictor que eleva a dimensão dos insumos por polinómios e depois deixa os mais informativos por SVM e algumas outras porcarias, mas por outro lado por causa desses polinómios ela pode treinar demais como o inferno

 
Maxim Dmitrievsky:

Porquê, basta atirar os preditores como osciladores em um gráfico e você pode ver se eles são linear ou não linearmente dependentes). Não são necessários números. NS também pode se retrair, não será capaz de encontrar qualquer correlação super não linear a partir do nada, se elas não estiverem lá desde o início ou se forem inconsistentes.

Nem tudo é tão simples como parece. Parece-me que o SanSanych já anda a mexer com os preditores há um ano, saltando de uma floresta para outra (de um pacote para outro).

Maxim Dmitrievsky:

Ou talvez seja necessário usar um kernel antes da NS, como no Jpredictor que aumenta a dimensão dos inputs usando polinómios e depois deixa os mais informativos através da SVM e algumas outras porcarias.

A independência linear e a não-linearidade não têm nada a ver uma com a outra. Estes são conceitos diferentes.Independência linear
Линейная независимость — Википедия
Линейная независимость — Википедия
  • ru.wikipedia.org
имеет только одно — тривиальное — решение. − 5 ⋅ ( 1 , 0 , 0 ) + 1 ⋅ ( 5 , 0 , 0 ) = ( 0 , 0 , 0 ) . {\displaystyle -5\cdot (1,0,0)+1\cdot (5,0,0)=(0,0,0).} Пусть будет линейное пространство над полем и . называется линейно независимым множеством, если любое его конечное подмножество является линейно независимым. Конечное множество M ′...
 
Maxim Dmitrievsky:

Porquê, basta atirar os preditores sob a forma de osciladores no gráfico e lá você pode ver se eles são linearmente dependentes ou não-lineares)

PS A propósito, os MLPs, ao contrário dos P. de camada única, são inerentemente não lineares, e bastante capazes de generalizar sinais não lineares.
 
Yuriy Asaulenko:
PS A propósito, os MLPs, ao contrário dos P. de camada única, são inerentemente não lineares, e bastante capazes de generalizar características não lineares.

Eles também podem, RF também podem, mas não são menos instruídos.
 
Maxim Dmitrievsky:
Não há meta, ele funciona com base no princípio de que quanto mais longe da média de todos os preditores no agregado, mais rápido eles devem convergir para essa média, ou seja, ele funciona com base no princípio do classificador Bayesiano, encontra tais pesos que nos preditores agregados dariam o maior desvio em relação à média em cada caso particular e, no final, eles devem convergir de volta. Como tomamos os preditores na forma estacionária é claro que a média é 0. Se a saída é >0, vendemos se <, compramos.
Não percebo bem se o treino é com ou sem treinador? Se sim, qual é o sinal de compra para o classificador?
 
mytarmailS:
não muito claro, formação com um professor ou sem? se com um professor, qual é o sinal de compra para o classificador?
Sem um professor no otimizador os pesos são pegos, já discutido artigo e exemplo, veja no tópico RNN Reshetov
 
Maxim Dmitrievsky:
Geralmente NS não tem nenhuma vantagem sobre RF, leva muito tempo para calcular, erro é mais... se você quer treinamento rápido então definitivamente RF+otimizador

Sobre a velocidade da NS.

Eu fiz uma experiência de velocidade especialmente para este propósito. Para isso tomei um MLP com estrutura em camadas [15,15,15,8,2]. O tamanho da amostra de treinamento é: entrada - 15 x 10378, saída - 2 x 10378.

O treino MLP sobre estes dados de 10 épocas é de cerca de 10 minutos.

Trabalhando diretamente com os dados - a entrada 15 x 10378 é computada em menos de 3 segundos. Isto é, ~0.0003 c/amostra.

Mais do que suficiente para a construção do TC).

 
Yuriy Asaulenko:

Sobre a velocidade da NS.

Especialmente por isto, fiz uma experiência de velocidade. Para isso tomei um MLP com estrutura em camadas [15,15.15,8,2]. O tamanho da amostra de treinamento é: entrada - 15 x 10378, saída - 2 x 10378.

O treino MLP sobre estes dados de 10 épocas é de cerca de 10 minutos.

Trabalhando diretamente com os dados - a entrada 15 x 10378 é computada em menos de 3 segundos. Isto é, ~0.0003 c/amostra.

Mais do que tempo suficiente para construir um TS).

Algo muito rápido, tal deve ser treinado mb uma hora ou várias horas, por qual algoritmo L-BFGS? Também fiz 15 entradas mas apenas uma camada oculta de 15-20 neurónios, treinei um TS Alglibian... por isso não esperei e reduzi o tamanho dos vectores de entrada) Treinei 3 entradas com 10k vectores em 5-10 minutos com uma camada oculta. E não é uma retropropagação lenta mas sim rápida com 1-3 épocas. CPU i5

Imagine que mesmo com 10 minutos você não tem uma estratégia pronta e tem que procurar através de N número de preditores, comprimentos vetoriais, número de camadas escondidas, etc... no seu otimizador para encontrar uma estratégia...