Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um das englische Original zu sehen.

Erstellen und Trainieren eines Feedforward-Neuronalen Netzwerks

Dieses Beispiel zeigt, wie man ein Feedforward-Neuralnetzwerk trainiert, um die Temperatur vorherzusagen.

Daten vom Kanal der Wetterstation ThingSpeak lesen

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), relativen Luftfeuchtigkeit, Temperatur (F) und zum Luftdruck (inHg). Lesen Sie die Daten aus 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');

Zuweisen von Eingabevariablen und Zielwerten

Weisen Sie Eingabevariablen zu und berechnen Sie den Taupunkt aus Temperatur und relativer Luftfeuchtigkeit, um ihn als Ziel zu verwenden. Konvertieren Sie die Temperatur von Fahrenheit in Celsius 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 des zweischichtigen Feedforward-Netzwerks

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.trainParam.showWindow = false; % Turn off display progress dialog.
[net,tr] = train(net,inputs,targets);

Verwenden Sie das trainierte Modell zur Datenvorhersage

Nachdem das Netzwerk trainiert und validiert wurde, können Sie das Netzwerkobjekt verwenden, um die Netzwerkantwort auf jede Eingabe zu berechnen, in diesem Fall den Taupunkt für den fünften Eingabedatenpunkt.

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

  -15.6383

Siehe auch

Funktionen