Créer et former un réseau de neurones Feedforward
Cet exemple montre comment entraîner un réseau de neurones à anticipation pour prédire la température.
Lire les données de la station météo ThingSpeak Channel
Le canal ThingSpeak ™ 12397 contient les données de la station météo MathWorks®, située à Natick, Massachusetts. Les données sont collectées une fois par minute. Les champs 2, 3, 4 et 6 contiennent respectivement des données sur la vitesse du vent (mph), l'humidité relative, la température (F) et la pression atmosphérique (inHg). Lisez les données du canal 12397 à l'aide de la fonction thingSpeakRead
.
data = thingSpeakRead(12397,'Fields',[2 3 4 6],'DateRange',[datetime('January 7, 2018'),datetime('January 9, 2018')],... 'outputFormat','table');
Attribuer des variables d'entrée et des valeurs cibles
Attribuez des variables d'entrée et calculez le point de rosée à partir de la température et de l'humidité relative à utiliser comme cible. Convertissez la température de Fahrenheit en Celsius et spécifiez les constantes pour la vapeur d'eau (b) et la pression barométrique (c). Calculez la valeur intermédiaire « gamma » et attribuez des valeurs cibles pour le réseau.
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';
Créer et former le réseau Feedforward à deux couches
Utilisez la fonction feedforwardnet
pour créer un réseau de rétroaction à deux couches. Le réseau a une couche cachée avec 10 neurones et une couche de sortie. Utilisez la fonction train
pour entraîner le réseau feedforward à l'aide des entrées.
net = feedforwardnet(10); [net,tr] = train(net,inputs,targets);
Utiliser le modèle formé pour prédire les données
Une fois le réseau formé et validé, vous pouvez utiliser l'objet réseau pour calculer la réponse du réseau à n'importe quelle entrée, dans ce cas le point de rosée pour le cinquième point de données d'entrée.
output = net(inputs(:,5))
output = -15.6383
Voir aussi
Fonctions
train
(Deep Learning Toolbox) |feedforwardnet
(Deep Learning Toolbox) |thingSpeakRead