Redes neuronales - página 13

 
Kazam:
Si quiere una buena fuente de información sobre las HONN, consiga el libro "Artificial Higher Order Neural Networks for Economics and Business". Es una publicación nueva, así que tiene muy buena información. El precio es una barbaridad (180$) pero lo puedes encontrar en pdf .

Ese es el que yo decía, es bueno. Sólo lo he leído un poco y ya me ha dado muchas ideas. Ponerlas en práctica, al menos para mí, es un poco más complicado, soy un poco novato en esto de la codificación...

Gracias por las recomendaciones, voy a echar un vistazo y ver... Puede que tenga suerte y encuentre alguno en la biblioteca de la universidad. Acaban de construir un nuevo edificio de Inteligencia Artificial con su propia biblioteca, así que podría haber algo allí. Si no, lo descargaré...

Oh, dividí mis datos de 10 años en dos trozos 2/3 y 1/3 respectivamente, entrené la red en los primeros 2/3 (incluyendo la división de ese 2/3 en trozos de entrenamiento, prueba y CV) y luego probé la red resultante en el 1/3 restante y parecía seguir siendo precisa. Hubo una mínima pérdida de precisión, pero la línea de regresión seguía siendo de 0,9995. ¿Podría explicarse esto por un sobreajuste en los datos de entrenamiento anteriores?

 
Kazam:

- "Programación de la Expresión Genética" - por Candida Ferreira.

¿No es Candida Ferreira la bacteria que causa la candidiasis?

 

surfeur

No opero en Forex usando ENN. Puede que empiece pronto, pero probablemente utilizaré sistemas de clasificación /sistemas que deciden cuándo tomar posiciones largas/cortas/ en lugar de intentar predecir el precio - el Forex es demasiado volátil.

Por ahora estoy usando ENN y algoritmos genéticos /y algunas otras cosas como la lógica difusa, la teoría de los conjuntos rugosos, etc./ para la gestión de la cartera /predecir los tipos de interés a largo plazo con el fin de negociar las letras del Tesoro, etc./.

Los resultados son bastante buenos. Serán mejores cuando todo mejore y sea más estable cuando termine la crisis financiera.

mrwobbles

Para el propósito de la negociación de Forex no mirar las medidas de error, sino más bien comprobar si las predicciones muestran la misma dirección del movimiento del precio como la salida deseada. Lo que quiero decir es que si el NN muestra que el próximo precio cerrará más alto que el actual, deberías esperar que el precio se mueva al menos x pips por encima de su nivel de apertura. Predecir el nivel de precio exacto es casi imposible para marcos de tiempo como H1 o H4.

El pequeño error que se obtiene ahora es causado por el método equivocado de su medición.

Y tienes razón - hay un género de levaduras llamado Candida

 

He tratado de predecir el cierre así como el spread de apertura y cierre porque creo que tienes razón en que predecir el cierre exacto sería casi imposible. Pero creo que una red adecuada con neuronas y pesos genéticamente optimizados sería capaz de hacerlo con una precisión de 5 pips si se le proporcionan las entradas adecuadas. ¿Ha pensado en utilizar los mapas autoorganizados de Kohonen (SOM) para predecir más allá de t+1? Tengo entendido que las redes de Kohonen pueden tomar la predicción para t+1 y luego utilizar ese valor para predecir todos los valores hasta, por ejemplo, t+10, pero puedo estar equivocado. Esto sería útil, aunque todos los ejemplos que he visto han sido menos precisos que lo que estoy buscando.

 

Para predecir series temporales de Forex, olvídese de los SOM. Los ENN son mucho mejores.

Si quiere predecir pasos sobre t+1 /t+2, t+3 etc./ sólo tiene que utilizar un marco temporal diferente. Por ejemplo, si quiere predecir la tendencia de la próxima semana, utilice el marco temporal W1. No prediga t+n basándose en t+n-1 /porque los tipos de cambio son caóticos y no lineales/. También puedes entrenar una red para predecir t+1, otra para predecir t+2 /utilizando los mismos datos/ y así sucesivamente.

Una muy buena idea es construir sistemas híbridos. En palabras simples - tomar 5-6 mejores redes neuronales y combinar sus resultados /puede utilizar un promedio simple para esto [(out1+out2+...+outN)/N)], GEM, LWPR [LWPR es la mejor opción OMI] etc.

 

Eso es básicamente lo que yo pensaba, he visto algunas predicciones de SOMs y puede que hayan acertado la tendencia durante un periodo de digamos 20 pasos, pero estaban muy lejos en el camino real que tomó el precio. Creo que el uso de la optimización genética es el camino a seguir, dado que las NN están diseñadas para imitar los sistemas biológicos, parece lógico que la adición de algún tipo de proceso evolutivo aumente la precisión.

No estoy seguro de estos resultados, he hecho un zoom para comprobar si acierta la dirección y parece que lo hace más a menudo que no. Hay un par de resultados anómalos (uno en el que está fuera por 400 pips = S) pero en su mayor parte acierta la dirección. La imagen muestra las predicciones (verde) contra los objetivos (azul) para el cierre, el máximo y el mínimo. He leído mucho sobre RNAs, pero esta es mi primera incursión en la construcción de ellos, así que no sé exactamente lo que estoy buscando aparte de lo obvio.

Archivos adjuntos:
gbpjpy60-3.jpg  67 kb
 

hola

Voy a publicar esto de nuevo: hace varios años escribí una tesis con respecto a la lógica difusa + Red Neural con Back Propagation para predecir el depósito de petróleo en un proceso de registro de pozos y el resultado es bueno, así que creo que la lógica difusa con NN back propagación puede ser implementado para predecir la tendencia en este negocio, pero necesita más datos para entrenar para obtener un mejor resultado, he utilizado 9 nodos para predecir el patrón de las rocas, no sé cuántos nodos para reconocer un patrón de forex.

===================

Colección de indicadores de Forex

 
prasxz:
Voy a publicar esto de nuevo: hace varios años escribí una tesis con respecto a la lógica difusa + red neuronal con retropropagación para predecir el depósito de petróleo en un proceso de registro de pozos y el resultado es bueno, así que creo que la lógica difusa con retropropagación NN se puede implementar para predecir la tendencia en este negocio, pero necesita más datos para entrenar para obtener un mejor resultado, he utilizado 9 nodos para predecir el patrón de las rocas, no sé cuántos nodos para reconocer un patrón de Forex.

===================

Colección de indicadores de Forex

He leído que depende en gran medida del número de entradas que le des a la red. Yo le estoy dando 32 entradas y quiero 3 salidas, así que empezaría con (32-3)/2=14,5, es decir, 14 neuronas y luego trabajaría a partir de ahí. El modelo que he construido utiliza 13 nodos, curiosamente la disminución de los nodos aumentó tanto la precisión como el tiempo de convergencia, aunque disminuyó después de un punto. La aplicación de un algoritmo genético al problema para crear una ENN, tal y como hablaba Kazam, debería permitir a la red elegir la red más óptima en un espacio de muestra de todas las redes posibles que producen resultados precisos. Eso es si he entendido lo que he leído sobre ellos. Aunque me imagino que esto aumentaría significativamente el tiempo que se tarda en construir la red.

 

prasxz

Las redes neuronales difusas y los sistemas neuronales híbridos difusos pueden ser una muy buena opción para construir sistemas de negociación. Podrían ser menos útiles para la previsión de series temporales caóticas.

mrwobbles

¿Esos gráficos muestran los datos de entrenamiento /deseados frente a los predichos/?

Elegir un número adecuado de nodos es muy, muy difícil. La fórmula que presentas es inútil /pero es muy popular/ - no hay forma determinista de elegir una arquitectura de NN óptima, o casi óptima.

Los algoritmos genéticos superan este problema. Usted suministra a un AG dos grupos - uno con símbolos terminales /entradas, constantes, etc./ y el otro con funciones /nodos con diferentes funciones de activación, funciones trigonométricas, etc./, y el algoritmo "construye" NN's utilizando miembros de esos grupos. De esta manera puedes obtener una NN que tenga 3 nodos y 5 entradas o NN que tenga 30 nodos y 50 entradas. Cuantas más generaciones esperes, mejores NN's obtendrás /lee sobre el teorema del esquema de Holland si quieres saber por qué ocurre así

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem

/.

 
Kazam:

mrwobbles

¿Esos gráficos muestran los datos de entrenamiento /deseados vs. predichos/?

Elegir un número adecuado de nodos es muy, muy difícil. La fórmula que presentas es inútil /pero es muy popular/ - no hay forma determinista de elegir una arquitectura de NN óptima, o casi óptima.

Los algoritmos genéticos superan este problema. Usted suministra a un AG dos grupos - uno con símbolos terminales /entradas, constantes, etc./ y el otro con funciones /nodos con diferentes funciones de activación, funciones trigonométricas, etc./, y el algoritmo "construye" NN's utilizando miembros de esos grupos. De esta manera puedes obtener una NN que tenga 3 nodos y 5 entradas o NN que tenga 30 nodos y 50 entradas. Cuantas más generaciones esperas, mejores NN's obtienes / lee sobre el teorema del esquema de Holland si quieres saber por qué sucede así

http://en.wikipedia.org/wiki/Holland%27s_schema_theorem
/.

Sí entrenamiento vs predicción. Construí una nueva red con los primeros 6-7 años de datos utilizados para entrenar, probar y validar de forma cruzada. Luego alimenté los 3 años restantes de datos como una prueba sin aprendizaje, la idea es imitar una prueba en vivo. La línea de regresión de entrenamiento tenía una pendiente de 0,99995 y cuando la alimenté con unos 3 años de datos no vistos anteriormente, la pendiente bajó a 0,9995. No estoy seguro de cómo interpretar esto. Parece un poco demasiado preciso para algo que armé en menos de una hora.

Sí, me encontré con esa fórmula en un libro de introducción a las redes neuronales que encontré en la biblioteca. Cubría lo básico y para mí fue una buena inducción al mundo de las redes neuronales. Para alguien que está empezando es un buen lugar para empezar antes de abordar conceptos más difíciles como los algoritmos genéticos.

Si lo he entendido bien, se trata de generar una población aleatoria de programas (pesos de entrada, capas ocultas, neuronas, etc.) que puedan resolver el problema y, a continuación, utilizar los programas padres óptimos para crear una nueva generación de programas que, con suerte, será mejor que la anterior. Seguramente, si se genera la primera población al azar, ¿no existe la posibilidad de generar una población en la que ningún programa resuelva el problema? ¿O la idea es empezar con una población que no resuelva el problema y luego evolucionar una que sí lo haga? Seguramente eso implicaría mucho cálculo. ¿Más de lo que podría soportar un ordenador de sobremesa medio? Me imagino que se necesitaría un procesamiento paralelo con tarjeta gráfica o, mejor aún, un sistema masivamente paralelo. Dicho esto, sin embargo, parece el mejor enfoque para seleccionar la solución más óptima.

¿No sería mejor empezar con una población de, por ejemplo, 12 redes creadas a partir del entrenamiento con los métodos existentes y luego utilizar ese conjunto de programas para producir descendientes entre sí? ¿Se podría entonces crear una estructura de tipo árbol genealógico, utilizando los métodos sugeridos para hacer evolucionar una población mejor, podando los descendientes no exitosos y seleccionando los 12 programas más óptimos para que sean los padres de la siguiente generación? La idea es empezar con una población que sepas que resuelve el problema y luego evolucionar un programa más eficiente a partir de la descendencia resultante.

Razón de la queja: