¡Esta es una revisión vieja del documento!
Las redes neuronales recurrentes son redes neuronales que dependen de los datos anteriores, es decir que tienen "memoria".
Por ejemplo, al predecir si una foto es un tipo de flor, no depende de lo que se haya predecido antes pero en una red neuronal si. Son redes que predicen secuencias de datos como por ejemplo series de temperatura, o cotizaciones de bolsa, etc:
Para hacer este tipo de redes se usan nuevas capas que son:
En Keras las 3 capas se definen así:
from tensorflow.keras.layers import RNN from tensorflow.keras.layers import LSTM from tensorflow.keras.layers import GRU
Por ahora no vamos a contar como son estas neuronas pero su esquema es este:
Las fórmulas matemáticas de cada tipo de neurona se puede ver en RNN, LSTM & GRU
Más información:
def get_serie_tiempo(datetime_start,num_dias=30,pendiente=0.005,amplitud=5,ruido_amplitud=1): np.random.seed(7) num_datos = num_dias*24 x = np.linspace(0, num_dias * 2 * np.pi, num_datos) # Eje x (progresión del tiempo) fechas = pd.date_range(start=datetime_start, periods=num_datos, freq="h") tendencia = np.linspace(0, pendiente * num_datos, num_datos) # Tendencia ascendente onda = amplitud * np.sin(x) # Onda sinusoidal ruido = np.random.normal(0, ruido_amplitud, num_datos) # Ruido aleatorio datos = tendencia + onda + ruido return fechas,datos fechas,temperaturas=get_serie_tiempo(datetime(2025, 1, 1, 10, 0, 0),num_dias=200,ruido_amplitud=0.5) figure=plt.figure(figsize=(20,10)) axes = figure.add_subplot(2,1,1) axes.plot(fechas,temperaturas) axes_configure_labels(axes,"Datos originales","Tiempo","Temperatura")