4.2 Entwicklungs-Umgebung MATLAB / Simulink für KNN

12
1 4.2 Entwicklung von KNN mit MATLAB / Simulink R 1 SS 2006 2 11 4.2 Entwicklungs- Umgebung MATLAB / Simulink für KNN Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider

description

4.2 Entwicklungs-Umgebung MATLAB / Simulink für KNN. Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider. Inhalt. Vorteile einer integrierten Entwicklungs-umgebung Netzwerk (NN) unter MATLAB anlegen Daten Input und Target anlegen Training des NN - PowerPoint PPT Presentation

Transcript of 4.2 Entwicklungs-Umgebung MATLAB / Simulink für KNN

Page 1: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

14.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

4.2 Entwicklungs-Umgebung MATLAB / Simulink für KNN

Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider

Page 2: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

2

11

24.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

Inhalt

• Vorteile einer integrierten Entwicklungs-umgebung

• Netzwerk (NN) unter MATLAB anlegen

• Daten Input und Target anlegen

• Training des NN

• Netzwerk im Workspace speichern

• Netzwerk (NN) nach Simulink exportieren

• Blick in den Block NN

Page 3: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

34.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Integrierte Entwicklungsumgebung

Vorteile:

Datenhandling (Input, Target) unter MATLAB wird gut unterstützt. Import aus Excel sehr einfach möglich

Einbindung eines unter MATLAB trainierten KNN als Block in Simulink

sehr stabil

Simulation von konventionellen Funktionsblöcken (P, I, D), Fuzzy-Systemen, Evolutionären Algorithmen und Neuronalen Netzen blockorientiert und integriert möglich

Page 4: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

44.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Netzwerk (NN) unter MATLAB anlegen

• >> nntool % Kommando öffnet unter MATLAB die Eingabemöglichkeit für ein NN und die Trainingsdaten (hier z.B.: data2 für Input, data3 für Targets). Hilfemenü über Help parallel öffnen und danach verfahren!

Page 5: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

54.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Daten Input und Target

• mit der Funktion Create New Data

• Vorgabe als Vektor, z.B. für Input 1und 2 für das EXOR-Beispiel [0 1 0 1; 0 0 1 1]

• mit dem zugehörigen Target [0 1 1 0]. Trennung durch Lehrzeichen oder Komma möglich.

Page 6: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

64.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Training des KNN

• mit der Funktion Train

• die Trainingsmethode ist aus einer Liste wählbar

• der Verlauf wird in dem Fenster „Training with Trainingsmethode“ eingeblendet

• Angestrebter und erreichter Fehler werden angezeigt

Page 7: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

74.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Ergebnisse speichern

• wenn Sie mit dem erreichten Trainigs-Ergebnis einverstanden sind, dann können alle Daten dazu mit der Funktion Export to Workspace von MATLAB gespeichert werden, hier: network2

• mit View können Sie das NN betrachten. Die Darstellung ist gewöhnungsbedürftig, das hängt mit der vetor/matrix-orientierung von MATLAB zusammen:

Page 8: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

84.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Ausgänge / Fehler des KNN ausgeben

• wenn alle Daten im Workspace von MATLAB gesichert wurden, können mit den Kommandos:

>> nameknn_outputs %Ausgabe der Netzwerkausgaben

für den Trainingsvektor

>> nameknn_errors %Ausgabe des Netzwerkfehlers für den Trainingsvektor

erste, schnelle Ausgaben von Informationen erzeugt werden

Page 9: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

94.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

NN nach Simulink exportieren

>> gensim(network2, -1) %Export aus dem MATLAB Workspace in den Simulink Workspace

• möglichst umgehend im Workspace Simulink unter einem erweiterten Namen (es darf nicht der gleiche wie für MATLAB sein), speichern. Hier: network2_exor

• das Modell kann jetzt vervollständigt werden. Ein Oszilloskop ist bereits am Ausgang angeschlossen

Page 10: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

104.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Blick in den Block NN

• zeigt die 2 Inputs oben links

• 1. Layer des KNN oben mit 2 Neuronen (rechts a(1) ist nur ein interner Verbindungspunkt)

• 2. Layer des KNN mit einem Neuron mit 2 Eingängen darunter

• unten rechts 1 Output von network2_exor.mdl

Page 11: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

114.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Noch eine Ebene tieferBlick in die Layer

• linkes Bild, links oben: Input des KNN

• links 1. Layer des KNN mit 2 Neuronen (rechts a(1) ist nur ein interner Verbindungspunkt)

• rechts 2. Layer des KNN mit einem Neuron mit 2 Eingängen

• der Output von network2_exor.mdl ist nicht mehr sichtbar

Page 12: 4.2  Entwicklungs-Umgebung MATLAB / Simulink für KNN

124.2 Entwicklung von KNN mit MATLAB / Simulink R1SS 2006

2

11

Fragen

Fragen Sie bitte!