Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Crear y entrenar una red neuronal feedforward

Este ejemplo muestra cómo entrenar una red neuronal feedforward para predecir la temperatura.

Leer datos del canal ThingSpeak de la estación meteorológica

El canal 12397 de ThingSpeak™ contiene datos de la estación meteorológica MathWorks®, ubicada en Natick, Massachusetts. Los datos se recopilan una vez por minuto. Los campos 2, 3, 4 y 6 contienen datos de velocidad del viento (mph), humedad relativa, temperatura (F) y presión atmosférica (inHg), respectivamente. Lea los datos del canal 12397 usando la función thingSpeakRead .

data = thingSpeakRead(12397,'Fields',[2 3 4 6],'DateRange',[datetime('January 7, 2018'),datetime('January 9, 2018')],...
    'outputFormat','table');

Asignar variables de entrada y valores objetivo

Asigne variables de entrada y calcule el punto de rocío a partir de la temperatura y la humedad relativa para utilizarlas como objetivo. Convierta la temperatura de Fahrenheit a Celsius y especifique las constantes para el vapor de agua (b) y la presión barométrica (c). Calcule el valor intermedio 'gamma' y asigne valores objetivo para la red.

inputs = [data.Humidity'; data.TemperatureF'; data.PressureHg'; data.WindSpeedmph'];
tempC = (5/9)*(data.TemperatureF-32);
b = 17.62;
c = 243.5;
gamma = log(data.Humidity/100) + b*tempC ./ (c+tempC);
dewPointC = c*gamma ./ (b-gamma);
dewPointF = (dewPointC*1.8) + 32;
targets = dewPointF';

Cree y entrene la red feedforward de dos capas

Utilice la función feedforwardnet para crear una red feedforward de dos capas. La red tiene una capa oculta con 10 neuronas y una capa de salida. Utilice la función train para entrenar la red feedforward utilizando las entradas.

net = feedforwardnet(10);
[net,tr] = train(net,inputs,targets);

Utilice el modelo entrenado para predecir datos

Una vez entrenada y validada la red, puede utilizar el objeto de red para calcular la respuesta de la red a cualquier entrada, en este caso el punto de rocío para el quinto punto de datos de entrada.

output = net(inputs(:,5))
output =

  -15.6383

Consulte también

Funciones