Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 640

 
Mihail Marchukajtes:


Con toda seriedad, por favor no hagas un escándalo, Mikhail. El momento es crucial. Si esta idea, no importa por qué razón (ya sea por falta de habilidad o por completa estupidez ante las nuevas oportunidades) no funciona, entonces la siguiente descenderá sobre la comunidad de comerciantes muy, muy pronto. Estoy seguro de ello.

 
Mihail Marchukajtes:

¡¡¡¡Aquí están los siete de me!!!! Y marca este día en tu calendario con un lápiz rojo, porque ese es el día en que me descargué R y lo iré girando poco a poco...

En Sensei, un regalo de los chicos))) h2o.automl.

El traqueteo es medio, pero todo está en automático...

 
Vizard_:
El viejo Fa estaba en un huerto. Un naranjo se extendía ante él. Los pájaros volaban por todas partes, caóticamente.
Los pájaros no se posaban en el naranjo y él pensaba que la fruta era venenosa. Daba un paso al costado y veía
el manzano detrás del naranjo, donde sobre la fruta y un par o más de los pájaros volando caóticamente
seguramente se sentaría... Pero se quedó parado en un lugar... Hambriento, agotado, deprimido...
 Al final del sexto año, a Hu Jou le pareció que había penetrado en la esencia misma del arte de la caza. Porque no era la presa, sino el concepto mismo, lo que se había convertido en algo central para él... (с)
	          
 

http://playground.tensorflow.org

la visualización del aprendizaje de NS, parece ser sólo por diversión o como ejemplo de enseñanza

algo que claramente tiene problemas para clasificar la espiral :)


Tensorflow — Neural Network Playground
Tensorflow — Neural Network Playground
  • Daniel Smilkov and Shan Carter
  • playground.tensorflow.org
It’s a technique for building a computer program that learns from data. It is based very loosely on how we think the human brain works. First, a collection of software “neurons” are created and connected together, allowing them to send messages to each other. Next, the network is asked to solve a problem, which it attempts to do over and over...
 

Y una arquitectura de este tipo ya puede

es como Poincaré - si el espacio de características es incoherente se necesitan al menos 2 capas, ya hubo una pregunta sobre esto de elibrarius


 
Maxim Dmitrievsky:

Y esta arquitectura ya puede


Maxim, ¿qué pasa con la selección de características? Aye-aye.
Además, haz que la velocidad de aprendizaje sea más lenta cuando la red empiece a vibrar.

Jugué con esta cosa el verano pasado. Algo muy visual).
 
Aleksey Terentev:
Maxim, ¿qué pasa con la selección de características? Aye-aye.
Además, haz que la velocidad de aprendizaje sea más lenta cuando la red empiece a vibrar.

El verano pasado jugué con esta cosa. Algo muy ilustrativo).

Sí, si pones los senos, puede ser con 1 capa.

 

La EMVC no hace lo que yo quería, no hace lo que parece a partir de una lectura superficial de la descripción.

EMVC toma una tabla con predictores y objetivos (sólo clases. No se permite la regresión), y calcula la probabilidad de que cada ejemplo de entrenamiento pertenezca realmente a una clase determinada. Es posible encontrar las filas de la tabla de entrenamiento que contradicen la mayoría de los ejemplos de entrenamiento (valores atípicos, errores) y eliminarlas para evitar que el modelo se confunda en el entrenamiento.

Se suponía que debía encontrar un conjunto de predictores que dieran las estimaciones de probabilidad más altas, pero los conjuntos de predictores encontrados eran insatisfactorios. No voy a experimentar con esto, hay mejores herramientas para seleccionar predictores. No puedo ver la estimación de la entropía cruzada, el paquete la utiliza de alguna manera internamente pero no devuelve esa respuesta al usuario.

Pero existe una herramienta interesante para seleccionar los ejemplos de entrenamiento en lugar de los predictores.


library(EMVC)
data(iris)


trainTable <- iris #таблица  на которой в дальнейшем будет обучаться какая-то модель
PREDICTOR_COLUMNS_SEQ <- 1:4 #номера  колонок с предикторами
TARGET_COLUMN_ID <- 5 #номер  колонки с таргетом

EMVC_MIN_TRUST <- 0.9 #минимально  допустимая вероятность принадлежности к классу посчитанная через emcv. От 0 до 1.

emvcData <- t(as.matrix(trainTable[,PREDICTOR_COLUMNS_SEQ]))
emvcAnnotations <- as.numeric(trainTable[,TARGET_COLUMN_ID])
emvcAnnotationsUnique <- unique(emvcAnnotations)
emvcAnnotationsMatrix <- matrix(0, ncol=ncol(emvcData), nrow = length(emvcAnnotationsUnique))
for(i in 1:length(emvcAnnotationsUnique)){
  emvcAnnotationsMatrix[i, emvcAnnotations == emvcAnnotationsUnique[i]] <- 1
}

set.seed(0)
emvcResult <- EMVC(data = emvcData,
                   annotations = emvcAnnotationsMatrix,
                   #  bootstrap.iter = 20,
                   k.range = 2
                   #  clust.method = "kmeans",
                   #  kmeans.nstart = 1,
                   #  kmeans.iter.max = 10,
                   #  hclust.method = "average",
                   #  hclust.cor.method = "spearman"
)

badSamples <- c()
for(i in 1:ncol(emvcResult)){
  if(max(emvcResult[,i])<EMVC_MIN_TRUST){
    badSamples <- c(badSamples, i)
  }
}
cat("Indexes of bad train samples:", badSamples,"\n") #Это  номера строк в обучающей табличке которые повышают кросс-энтропию данных. Они противоречат большинству других обучающих примеров, и возможно следует их удалить из обучающей таблички
trainTable <- trainTable[-badSamples,]

 
Dr. Trader:

La EMVC no hace lo que yo quería, no hace lo que parece a partir de una lectura superficial de la descripción.

EMVC toma una tabla con predictores y objetivos (sólo clases. No se permite la regresión), y calcula la probabilidad de que cada ejemplo de entrenamiento pertenezca realmente a una clase determinada. Es posible encontrar las filas de la tabla de entrenamiento que contradicen la mayoría de los ejemplos de entrenamiento (valores atípicos, errores) y eliminarlas para evitar que el modelo se confunda en el entrenamiento.

Se suponía que debía encontrar un conjunto de predictores que dieran las estimaciones de probabilidad más altas, pero los conjuntos de predictores encontrados eran insatisfactorios. No voy a experimentar con esto, hay mejores herramientas para seleccionar predictores. No puedo ver la estimación de la entropía cruzada, el paquete la utiliza de alguna manera internamente pero no devuelve esa respuesta al usuario.

Pero al menos tenemos una herramienta interesante para filtrar los ejemplos de entrenamiento en lugar de los predictores.


Es una pena.

Una vez más has demostrado la idea de que los milagros no ocurren, hay que recoger todo desde cero.

 
Dr. Trader:
De este modo, se pueden encontrar líneas en la tabla de entrenamiento que contradigan la mayoría de los otros ejemplos de entrenamiento (picos, errores), y eliminarlas para evitar confundir al modelo durante el entrenamiento.

¿Realmente importa en los datos de Forex, donde es difícil encontrar regularidades? Creo que con este programa podemos cribar la mitad de los ejemplos. Y los valores atípicos pueden buscarse con métodos más sencillos: no borrarlos, sino, por ejemplo, equipararlos al máximo permitido.