+ All Categories
Home > Documents > Approximation einer Kennlinie mit einem KNN in MATLAB

Approximation einer Kennlinie mit einem KNN in MATLAB

Date post: 29-Jan-2016
Category:
Upload: may
View: 53 times
Download: 0 times
Share this document with a friend
Description:
Approximation einer Kennlinie mit einem KNN in MATLAB. Ulrich Lehmann, Johannes Brenig, Michael Schneider. Inhalt. Daten aus Excel importieren nntool Auswertung der Ergebnisse in Excel Simulink Quellenverzeichnis. Datenaufbereitung. - PowerPoint PPT Presentation
22
Inhalt Ende 1 Einführung in MATLAB/NNToolbox SS2007 Approximation einer Kennlinie mit einem KNN in MATLAB Ulrich Lehmann, Johannes Brenig, Michael Schneider
Transcript
Page 1: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

1Einführung in MATLAB/NNToolboxSS2007

Approximation einer Kennlinie mit einem KNN in MATLAB

Ulrich Lehmann, Johannes Brenig, Michael Schneider

Page 2: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

2Einführung in MATLAB/NNToolboxSS2007

Inhalt

• Daten aus Excel importieren

• nntool

• Auswertung der Ergebnisse in Excel

• Simulink

• Quellenverzeichnis

Page 3: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

Datenaufbereitung

• Die Datenaufbereitung kann entweder in MATLAB (m-File) oder in Excel erfolgen

• Die Datensätze müssen normiert und in Trainings-, Validierungs- und Testsdatensatz aufgeteilt werden

3Einführung in MATLAB/NNToolboxSS2007

Page 4: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

4Einführung in JavaNNS Version 1.1SS2007

Messwerte der Kennlinie

Ua/V Ue/V0,1 0,1740,5 0,1740,9 0,2041 0,241

1,2 0,4441,3 0,6161,4 0,8411,5 1,0731,6 1,2961,7 1,551,8 1,772,2 2,5632,6 32,8 3,1633 3,27

3,2 3,3443,4 3,3983,6 3,4353,8 3,4714,2 3,52

Aus Ausarbeitung_KNN_Lichtregelstrecke

Ue [V]

Page 5: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

5Einführung in JavaNNS Version 1.1SS2007

Messwerte - normiert

Diese Messwerte müssen für das Training des KNNs normiert werden.-> sigmoide Aktivierungsfunktion-> Normierung auf ein Intervall von [0,05 0,95]

Ua/V Ue/V0,05 0,050,14 0,050,23 0,060,25 0,070,29 0,120,31 0,170,34 0,230,36 0,290,38 0,350,40 0,420,42 0,480,51 0,690,60 0,810,64 0,850,69 0,880,73 0,900,77 0,920,82 0,930,86 0,940,95 0,95

Kennlinie der Lichregelungnormiert

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Ua/V

Ue/

V

Ue/V

Ue [V]

Page 6: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

6Einführung in JavaNNS Version 1.1SS2007

Aufteilung in Trainings- Validierung- und Testdaten

14 Trainingsdatensätze

4 Validierungsdatensätze

2 Testdatensätze

Ua/V Ue/V0,05 0,050,14 0,050,23 0,060,25 0,070,29 0,120,31 0,170,34 0,230,36 0,290,38 0,350,40 0,420,42 0,480,51 0,690,60 0,810,64 0,850,69 0,880,73 0,900,77 0,920,82 0,930,86 0,940,95 0,95

TrainingsdatenTestdatenValidierungsdaten

Kennlinie der Lichregelungnormiert

0,0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0

Ua/V

Ue

/V

Ue [V]

Page 7: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

7Einführung in MATLAB/NNToolboxSS2007

Daten aus Excel importierenZwei Möglichkeiten:

1. über die Import data Funktion des Workspace

2. über die MATLAB- Funktionen „xlsread“ und „xlswrite“ die einen direkten Zugriff auf bestehende Excel Tabellen ermöglichen

>> daten = xlsread(‘Dateiname.xls,-1‘);es werden nur die reinen Daten importiertTextanteile werden ignoriert!! Daten sinnvoll benennen !!

>> xlswrite(‘Dateiname.xls‘, daten);

Page 8: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

8Einführung in MATLAB/NNToolboxSS2007

Daten aus Excel importieren

Alle notwendigen Daten von Excel in den Workspace von MATLAB importieren.

Jetzt können die Daten im Workspace für ein späteres Training gespeichert werden.

Daten des Workspace speichern

Page 9: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

9Einführung in MATLAB/NNToolboxSS2007

nntool

Alle notwendigen Daten vom Workspace in die NNToolbox importieren.Achtung: Unterscheidung von Input und Target

im „Command Window“ von MATLAB eingeben

Page 10: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

10Einführung in MATLAB/NNToolboxSS2007

nntool

- Name für das Netz wählen- Wertebereich wählen ( [0 1] )- Trainingsfunktion wählen - Lernfunktion wählen- Fehlerfunktion wählen- Anzahl der Layer wählen (Input-Layer zählt nicht als Layer) hier: 1 Hiddenlayer mit 4 Neuronen und 1 Outputlayer mit einem Neuron- Hiddenlayer mit „logsig“ aktivieren und Outputlayer linear aktivieren- wenn alle Einstellungen getroffen sind mit „Create“ das Netz erstellen

Page 11: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

11Einführung in MATLAB/NNToolboxSS2007

nntool

Page 12: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

12Einführung in MATLAB/NNToolboxSS2007

nntool

-Trainingsepochen wählen z. B. 50000- Trainingsfehler (goal) = 0- Lernrate (lr) wählen- max_fail: Wieviel Epochen soll nach dem minimalen Validierungsfehler noch trainiert werden?- min_grad: kleinster Gradient- show: Nach wie viel Epochen soll die Fehlerkurve aktualisiert werden?- time: zeitliche Beschränkung für das Training?

- Trainings-, Validierung- und Testdaten auswählen- Name für Trainingsergebnis übernehmen oder ändern

Page 13: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

13Einführung in MATLAB/NNToolboxSS2007

nntool

Input Ranges überprüfen!

Vor jedem Training das Netz initialisieren!Jetzt das Training starten unter „Train“ mit „Train Network“.

Page 14: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

14Einführung in MATLAB/NNToolboxSS2007

nntool

• Sobald beim Training Datensätze zur Validierung verwendet werden, nutzt MATLAB diese, um ein Auswendiglernen des Netzes zu verhindern-> wenn der Validierungsfehler steigt wird das Training

abgebrochen (early stopping)

• Über den Parameter „max_fail“ lässt sich die Anzahl der Epochen, die bei steigendem Validierungsfehler weiter trainiert werden sollen, einstellen

• ABER: Ergebnis ist immer das mit dem kleinsten Validierungsfehler!– Netz wird zwar weiter trainiert, aber wenn der

Validierungsfehler nicht sinkt, wird das Netz immer mit den Werten beim kleinsten vorkommenden Validierungsfehler gespeichert

Page 15: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

15Einführung in MATLAB/NNToolboxSS2007

nntool

Das Training wurde in diesem Beispiel nach 16910 Epochen beendet, da der Validierungsfehler nach 6910 Epochen am geringsten war und „max_fail“auf 10000 eingestellt war. Das KNN arbeitet mit dem Ergebnis nach 6910 Epochen.

Auswertung:Die Simulation jeweils für die Trainings-, Validierungs- und Testdaten durchführen und die Ergebnisse speichern

Page 16: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

16Einführung in MATLAB/NNToolboxSS2007

Auswertung der Ergebnisse in Excel

xlswrite(filename, M, 'range')

-> z.B. xlswrite('Auswertung.xls', transpose(Kennlinie_input_train), 'A2:A15');

Wichtig:Zur Auswertung in Excel werden die Zeilenvektoren benötigt, in MATLAB selbst Spaltenvektoren-> Daten transponieren!!!

Page 17: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

17Einführung in MATLAB/NNToolboxSS2007

Simulink

Ziel: Darstellung der Trainingsdaten und der trainierten Kennlinie in einem Diagramm.

Page 18: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

18Einführung in MATLAB/NNToolboxSS2007

Simulink

Vergleich von Trainingsdaten und Vorhersage.

900

Page 19: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

19Einführung in MATLAB/NNToolboxSS2007

Simulink

Page 20: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

20Einführung in MATLAB/NNToolboxSS2007

Simulink

Ergebnis des KNN (gelber Graph)

Ergebnis der Lookup-Table (violetter Graph)

Page 21: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

21Einführung in MATLAB/NNToolboxSS2007

Quellen

• MATLAB-Handbuch

• „Simulation neuronaler Netze“ von Andreas Zell

• Vorlesungsskript Prof. Lehmann

Page 22: Approximation einer Kennlinie mit einem KNN in MATLAB

Inhalt

Ende

22Einführung in MATLAB/NNToolboxSS2007

Vielen Dank für Ihre

Aufmerksamkeit !


Recommended