Erstellen und trainieren Sie ein Feedforward-Neuronales Netzwerk
Dieses Beispiel zeigt, wie man ein Feedforward-Neuronales Netzwerk trainiert, um die Temperatur vorherzusagen.
Lesen Sie Daten vom ThingSpeak Kanal der Wetterstation
ThingSpeak™ -Kanal 12397 enthält Daten von der MathWorks® Wetterstation in Natick, Massachusetts. Die Daten werden einmal pro Minute erfasst. Die Felder 2, 3, 4 und 6 enthalten jeweils Daten zur Windgeschwindigkeit (mph), zur relativen Luftfeuchtigkeit, zur Temperatur (F) und zum Luftdruck (inHg). Lesen Sie die Daten von Kanal 12397 mit der Funktion thingSpeakRead
.
data = thingSpeakRead(12397,'Fields',[2 3 4 6],'DateRange',[datetime('January 7, 2018'),datetime('January 9, 2018')],... 'outputFormat','table');
Weisen Sie Eingabevariablen und Zielwerte zu
Weisen Sie Eingabevariablen zu und berechnen Sie den Taupunkt aus Temperatur und relativer Luftfeuchtigkeit, um ihn als Ziel zu verwenden. Wandeln Sie die Temperatur von Fahrenheit in Celsius um und geben Sie die Konstanten für Wasserdampf (b) und Luftdruck (c) an. Berechnen Sie den Zwischenwert „Gamma“ und weisen Sie Zielwerte für das Netzwerk zu.
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';
Erstellen und trainieren Sie das zweischichtige Feedforward-Netzwerk
Verwenden Sie die Funktion feedforwardnet
, um ein zweischichtiges Feedforward-Netzwerk zu erstellen. Das Netzwerk verfügt über eine verborgene Schicht mit 10 Neuronen und eine Ausgabeschicht. Verwenden Sie die Funktion train
, um das Feedforward-Netzwerk mithilfe der Eingaben zu trainieren.
net = feedforwardnet(10); [net,tr] = train(net,inputs,targets);
Verwenden Sie das trainierte Modell, um Daten vorherzusagen
Nachdem das Netzwerk trainiert und validiert wurde, können Sie das Netzwerkobjekt verwenden, um die Netzwerkreaktion auf eine beliebige Eingabe zu berechnen, in diesem Fall den Taupunkt für den fünften Eingabedatenpunkt.
output = net(inputs(:,5))
output = -15.6383
Siehe auch
Funktionen
train
(Deep Learning Toolbox) |feedforwardnet
(Deep Learning Toolbox) |thingSpeakRead