Red neuronal - página 2

 
xweblanser >> :

Muchas gracias siento que no haya muchos comentarios pero intentaré resolverlo....

Aquí www.nnea.net/downloads hay una buena colección de pdf's con investigaciones sobre la predicción de los mercados financieros con NS. es necesario registrarse. eche un vistazo a la sección de investigación también.

 
marketeer >> :

Un comerciante no necesita realmente entender el funcionamiento interno de la NS. Para él es una caja negra con entradas y salidas. Hay muchas redes ya creadas de dominio público, incluso en este sitio web: basta con escribir "redes neuronales" en el cuadro de búsqueda. Una de las últimas publicaciones, por ejemplo - Predictor basado en una red neuronal de autoaprendizaje. El principal problema que plantea el uso de las redes NS es la elección de los datos que se introducen y entrenan, cómo se preparan estos datos, cuál es la estructura y el tamaño de la red, etc. Por ejemplo, tomamos la red ya mencionada, intentamos entrenarla de la forma en que lo hicieron Yezhov y Shumsky (ver Neurocomputing and its application in economics and business, lo recomiendo)... Y terminamos con un fracaso. Puede haber muchas razones para ello. Y ahí es donde empieza el trabajo del trader: intuir qué puede haber cambiado desde entonces (o qué no dicen los autores ;-) ), y qué cambiar en la configuración y los datos de entrada.

Bueno, soy comerciante, pero sobre todo soy programador... Quería escribir una red neuronal para mí y al mismo tiempo demostrarme a mí mismo que puedo....

 
njel >> :

Hay una buena selección de pdf's con estudios sobre la predicción de los mercados financieros utilizando NS aquí www.nnea.net/downloads. Es necesario registrarse. ver también la sección de investigación.

>> Gracias.

 
xweblanser >> :

1. Por lo que entiendo cada neurona de la red es la misma función... pero no entiendo como la misma función puede producir diferentes valores cuando entran los mismos datos...

Estas entradas se multiplicarán por diferentes pesos. Por lo tanto, los valores de la función serán diferentes. Tras estudiar a fondo las redes neuronales y utilizar diferentes algoritmos de aprendizaje, desde el descenso de gradiente hasta la genética, llegué a la conclusión de que el aparato matemático de las redes neuronales no es perfecto. Una red neuronal está diseñada para aproximar una función no lineal. Según el teorema de Kolmogorov, la red es capaz de realizar cualquier función continua. En la práctica, el paralelismo de la red conduce a una multitud de mínimos locales y realizaciones de la función que se modela. Tomemos como ejemplo la red que se muestra a continuación. La red tiene una entrada, una salida y una capa oculta con dos neuronas. Cada neurona oculta multiplica la entrada x por su peso (w1 o w2), pasa el resultado por la función de activación (digamos tanh), los valores obtenidos se suman en la salida de la red. Para simplificar, supongamos que las entradas de polarización son cero. Los pesos de las neuronas de salida son los mismos e iguales a 1.


Ahora vamos a crear un problema de aproximación de funciones. Supongamos que nuestra función es t = cos(x) (t significa objetivo). La red calculará su valor mediante la fórmula

y = tanh(w1*x) + tanh(w2*x)

Entrenar (o entrenar) la red consiste en encontrar los pesos w1 y w2, en los que la salida de la red y se acerca más al valor de nuestra función t. Esto se consigue minimizando la suma de cuadrados del error

E(w1,w2) = suma((t[k]-y[k])^2,k=0...p-1)

donde la suma se realiza sobre diferentes datos de entrenamiento: x[k],t[k]. Veamos cómo es la superficie de nuestra función objetivo minimizadora E(w1,w2) cuando no hay ruido en las mediciones t[k] = cos(x[k]):


Este gráfico muestra que hay un conjunto infinito de soluciones (w1,w2) que minimizan nuestra función objetivo E (nótese los valles planos). No es difícil de entender: la red es simétrica con respecto a w1 y w2. Los resultados del entrenamiento de la red serán diferentes para diferentes elecciones de valores iniciales de w1 y w2. Dado que estos valores iniciales se eligen siempre de forma aleatoria, el entrenamiento sucesivo de la red con los mismos datos de entrenamiento x[k],t[k] dará lugar a diferentes valores de pesos optimizados w1 y w2. Aquí no hay un mínimo global. O dicho de otro modo, infinitos mínimos locales son también mínimos globales.

Ahora vamos a complicar nuestro problema añadiendo ruido a nuestra serie: t[k] = cos(x[k]) + rnd. Esta serie ruidosa es más similar estadísticamente a la serie de precios que el coseno perfecto:


Ahora la superficie de nuestra función minimizadora E(w1,w2) tiene este aspecto:


Fíjate en los numerosos picos que hay tanto en las cumbres como en los valles. Vamos a briefly cerca de uno de los valles:


Aquí podemos ver más claramente el conjunto de mínimos locales. Ahora imagina la optimización de E(w1,w2) por descenso de gradiente. Dependiendo de los valores iniciales de w1 y w2, este descenso llevará a un mínimo diferente. Además, este mínimo local puede estar tanto en la cima como en el valle. La optimización genética sólo servirá para caer desde la cima en uno de los valles y quedarse atascado allí en uno de los mínimos locales. La situación se complica mucho más si además de w1 y w2 se optimizan los pesos de la neurona de salida, que fueron igualados a uno en las consideraciones anteriores. En este caso tenemos un espacio de 4 dimensiones con un enorme número de mínimos locales con coordenadas (w1,w2,w3,w4).

Con toda esta descripción simplificada del comportamiento de la red neuronal, quería demostrar que el paralelismo de la red (o la simetría de su salida con respecto a los pesos de las neuronas de la misma capa) conduce a dificultades de su entrenamiento (optimización de estos pesos) debido a la presencia de un conjunto infinito de mínimos locales, especialmente para las series caóticas como la serie de precios.

Adjunto el archivo MathCAD en el que se han realizado los cálculos anteriores.

Archivos adjuntos:
nnrsimplea2.zip  699 kb
 
gpwr писал(а) >> Con esta descripción simplificada del comportamiento de la red neuronal he querido demostrar que el paralelismo de la red (o simetría de su salida respecto a los pesos de las neuronas de una misma capa) conduce a dificultades en su entrenamiento (optimización de estos pesos) debido a la presencia de infinitos mínimos locales, especialmente para series caóticas como las series de precios.

Una pregunta: ¿cómo afecta al beneficio?

 
LeoV >> :

Una pregunta: ¿cómo afecta esto a la rentabilidad?

¿Tienes una red que genera beneficios constantes?

 
LeoV >> :

Una pregunta: ¿cómo afecta esto a los beneficios?

La rentabilidad se ve absolutamente afectada. No hay garantía de encontrar el mínimo local correcto y suficientemente profundo que sea adecuado para implementar una TS rentable basada en una red neuronal.

 
gpwr >> :

Qué MathCad utilizas, tus cálculos no se abren en Mathcad 13.

 

El objetivo de minimizar/maximizar la función objetivo E(w1,w2) es encontrar un extremo global. Y si hay un millón de estos extremos globales, ¡qué más da en cuál de ellos caiga NN!

Es peor si se queda atascado en uno de los mínimos/máximos locales. Pero ya no es problema de NN. Es un problema del algoritmo de optimización.


LeoV >> :

>> Una pregunta: ¿cómo influye en el beneficio?

Lo que gpwr describió, no lo hace.

 
Urain >> :

Qué MathCad utilizas, no puedo abrir tus cálculos en Mathcad 13.

>> Mathcad 14. >> Adjunto el mismo archivo en la versión 11.

Archivos adjuntos:
nnosimplem2.zip  14 kb
Razón de la queja: