Redes Neuronales en Python: Tipos, Estructura y Estrategias de Trading – Machine Learning (Parte 1) por Quantinsti
El objetivo de Quantinsti es formar a su alumnos en el trading algorítmico. Pertenece a iRageCapital Advisory, empresa conocida por sus servicios relacionados con la creación de mesas de trading algorítmico.
Quantinsti
Los estudios sobre redes neuronales comenzaron como un esfuerzo para mapear el cerebro humano y entender cómo tomamos decisiones, pero el algoritmo busca eliminar las emociones humanas del aspecto del trading.
Lo que a veces no logramos darnos cuenta es que el cerebro humano es posiblemente la máquina más compleja del mundo, y es muy efectivo para llegar a conclusiones rápidamente.
Imagina que pudiéramos aprovechar cómo funciona nuestro cerebro y aplicarlo en el dominio del aprendizaje automático (ya que las redes neuronales son una rama de este), podríamos dar un gran salto en términos de poder de procesamiento y recursos computacionales.
Antes de sumergirnos en los detalles técnicos de las redes neuronales para el trading, debemos entender cómo funciona el componente principal, es decir, la neurona, y luego avanzar hacia las redes neuronales y sus aplicaciones en el trading.
Esta primera parte incluye:
– Introducción general a la neurona.
– Una red neuronal: Introducción.
– Tipos de redes neuronales:
– Perceptrón.
– Redes neuronales feed-forward.
– Perceptrón multicapa.
– Red neuronal convolucional.
– Red neuronal recurrente.
– Red neuronal modular.
Introducción general a la neurona:
Una neurona tiene tres componentes: las dendritas, el axón y el cuerpo principal. Las dendritas reciben señales, y el axón las transmite.
Estructura de una neurona:
Una sola neurona no tiene mucho valor por sí sola, pero cuando se conecta con otras, realiza cálculos complejos y opera el cuerpo humano, la máquina más complicada del planeta.
Puedes ver en la imagen cómo un grupo de neuronas como entradas genera una señal de salida.
Una red neuronal: Una introducción
Las redes neuronales están diseñadas para funcionar de manera similar a como lo hace nuestro cerebro. Por lo tanto, la capa de entrada (equivalente a cómo los humanos reciben información del entorno) contiene información básica para ayudar a llegar a una conclusión o resultado.
El resultado puede ser hacer una predicción, identificar objetos con características similares, etc. El cerebro humano está lleno de sentidos como la audición, el tacto, el olfato, el gusto, etc.
Las neuronas de nuestro cerebro crean parámetros complejos, como emociones y sentimientos, a partir de estos parámetros básicos de entrada. Nuestras emociones y sentimientos nos impulsan a actuar o tomar decisiones, que básicamente es el resultado de la red neuronal de nuestro cerebro. Por lo tanto, en este caso hay dos capas de cálculos antes de tomar una decisión.
La primera capa absorbe los sentidos como entradas y lleva a emociones y sentimientos como conclusión. Esta primera capa sirve como las entradas para la siguiente capa de cálculos, donde el resultado es una decisión, una acción o el resultado final.
Por lo tanto, en el funcionamiento del cerebro humano, hay una capa de entrada, dos capas ocultas y una capa de salida que lleva a una conclusión. Aunque el cerebro es mucho más complejo que simplemente las capas de información, esta es una explicación general del proceso de cálculo en el cerebro.
Tipos de redes neuronales
Existen muchos tipos de redes neuronales. Pueden clasificarse según diversos factores, como el flujo de datos, las neuronas utilizadas, su profundidad, los filtros de activación, la estructura, la densidad de neuronas, las capas, etc.
Veamos los tipos más comunes de redes neuronales (redes neuronales para trading), que son:
– Perceptrón
– Redes neuronales feedforward
– Perceptrón multicapa
– Red neuronal convolucional
– Red neuronal recurrente
– Red neuronal modular
Perceptrón
El perceptrón pertenece al algoritmo de aprendizaje supervisado. Como se muestra en la imagen, los datos se dividen en dos categorías, por lo que el perceptrón es un clasificador binario.
El modelo de perceptrón se considera la unidad más pequeña de una red neuronal. El perceptrón se encarga de identificar las características de los datos de entrada. El modelo funciona con pesos como entradas y aplica una función de activación para obtener el resultado final.
Redes neuronales feedforward
Las redes neuronales feedforward son bastante simples, ya que los datos de entrada pasan a través de nodos neuronales artificiales o nodos de entrada y salen por los nodos de salida. Esto implica que los datos viajan en una sola dirección y no hay retroalimentación.
Este tipo de red es una propagación hacia adelante unidireccional sin retropropagación. Los pesos son estáticos y la función de activación multiplica las entradas por los pesos. Para que la red feedforward funcione, se usa una función de activación clasificadora.
Ejemplo de forward feed:
– Si la salida de la neurona está por encima del umbral (0), es 1, lo que indica que la neurona está activada.
– Si la salida está en el umbral (0) o por debajo (-1), significa que la neurona no está activada.
Una de las ventajas de la red feedforward es que puede manejar una gran cantidad de ruido en los datos.
Perceptrón multicapa
Un perceptrón multicapa hace lo que su nombre indica. Los datos de entrada, en el caso de un perceptrón multicapa, pasan por varias capas de neuronas artificiales. Por lo tanto, las capas de entrada y salida están formadas por varias capas con mucha información sobre las entradas. Cada nodo de este tipo está conectado con las neuronas de la siguiente capa.
El perceptrón multicapa se considera completamente conectado y tiene una propagación bidireccional, lo que implica propagación hacia adelante y retropropagación.
El perceptrón multicapa funciona multiplicando las entradas por los pesos, y el resultado se entrega a la función de activación. En la retropropagación, el resultado se ajusta para reducir las pérdidas.
Red neuronal convolucional
La red neuronal convolucional tiene una estructura tridimensional de neuronas en lugar de una bidimensional. Funciona de la siguiente manera:
– La primera capa se llama capa convolucional.
– Cada neurona en la capa convolucional considera solo una pequeña parte de la información de los datos para incluir más detalles.
– Los punteros de entrada están en lotes.
– La red neuronal procesa todas las entradas en imágenes.
– Cada imagen es aprendida por la red neuronal en partes.
– Las operaciones se calculan varias veces hasta completar el procesamiento de la imagen.
– La imagen se convierte a una escala específica y luego se clasifica en varias categorías.
En este tipo, la propagación es unidireccional y la red consta de una o más capas convolucionales. La versión bidireccional permite que la salida de la capa convolucional pase a una red neuronal completamente conectada. Además, se usan filtros para extraer partes de la imagen.
Redes neuronales recurrentes
Las redes neuronales recurrentes (RNN) son muy útiles para modelar datos secuenciados de principio a fin.
En este tipo de red, la primera capa es básicamente una red feedforward. La segunda capa es la capa recurrente, donde se memoriza la información alimentada en la primera capa. Esta es la propagación hacia adelante.
Luego, la información se utiliza para el futuro y se corrige hasta que la predicción realizada sea la esperada. Aquí es donde ocurre la retropropagación para ajustar la información correctamente.
Redes neuronales modulares
En el caso de las redes neuronales modulares, varias redes neuronales trabajan de manera independiente para realizar tareas pequeñas que contribuyen a la tarea principal. Mientras estas redes trabajan, no interactúan entre sí, lo que aumenta la eficiencia, ya que cada red trabaja hacia el mismo objetivo.
Al igual que los humanos, cuando varias redes neuronales trabajan juntas en sub-tareas, el proceso complejo o grande se completa más rápido. Los componentes independientes aseguran que cada pieza de información se analice en detalle para llegar a una conclusión final.