Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1



Ähnliche Dokumente
Neuronale Netze (I) Biologisches Neuronales Netz

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Kapitel LF: IV. IV. Neuronale Netze

Künstliches binäres Neuron

Kapitel LF: IV. Multilayer-Perzeptrons und Backpropagation. Multilayer-Perzeptrons und Backpropagation. LF: IV Machine Learning c STEIN

Einführung in neuronale Netze

Version 0.3. Installation von MinGW und Eclipse CDT

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Einrichtung eines VPN-Zugangs

ANLEITUNG ONECLICK WEBMEETING BASIC MIT NUR EINEM KLICK IN DIE WEBKONFERENZ.

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Wireless & Management

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Aktualisierung CHIPDRIVE Time Recording 4.0 auf CHIPDRIVE Time Recording 5.0

Karten-Freischaltung mit dem UNLOCK MANAGER

Subpostfächer und Vertretungen für Unternehmen

Virtual Private Network

Einbindung einer ACT!12-16 Datenbank als Datenquelle für den Bulkmailer 2012

Reservierungs-Assistent

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

W-Rechnung und Statistik für Ingenieure Übung 11

Seriendruck mit der Codex-Software

my.ohm Content Services Autorenansicht Rechte

Grundbegriffe der Informatik

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Erstellen von x-y-diagrammen in OpenOffice.calc

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

1. License Borrowing Verfahren

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

Einführungskurs MOODLE Themen:

Updatehinweise für die Version forma 5.5.5

Algorithmische Kryptographie

Erstellen einer digitalen Signatur für Adobe-Formulare

DURCH VIDA ERZEUGTE PROTOKOLLDATEIEN 1 EINFÜHRUNG

Installationshinweise für Serverbetrieb von Medio- Programmen

Lichtbrechung an Linsen

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Umleiten von Eigenen Dateien per GPO

Teil 2: Ablauf der Analyse festlegen

Step by Step Webserver unter Windows Server von Christian Bartl

Lizenzen auschecken. Was ist zu tun?

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Support-Tipp Mai Release Management in Altium Designer

Projektthema: Modul Programmiersprachen (Java)

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Einrichten von Pegasus Mail zur Verwendung von MS Exchange und Übertragen der alten Maildaten auf den neuen Server

ecall Anleitung Outlook Mobile Service (OMS)

Kurzeinführung LABTALK

Mindestanforderungen an. Inland ECDIS Geräte im Informationsmodus und vergleichbare Kartenanzeigegeräte. zur Nutzung von Inland AIS Daten

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Mehrere PDF-Dokumente zu einem zusammenfügen

Kurzanleitung So geht s

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Theoretische Grundlagen der Informatik WS 09/10

So empfangen Sie eine verschlüsselte von Wüstenrot

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Technische Dokumentation IPCalculator

Benutzerhandbuch Online-Banking

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Publizieren von Webs mit SmartFTP

Änderungen in Version 12

Benutzung des NAM. Starten Sie Ihren Browser und rufen Sie folgende Adresse auf:

Der einfache Weg zum CFX-Demokonto

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Print2CAD 2017, 8th Generation. Netzwerkversionen

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

1. Laden Sie sich zunächst das aktuelle Installationspaket auf herunter:

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Textgenerator Artex 1.0. Kurzanleitung

Der Name des Profils kann beliebig gewählt werden. Mit Bestätigung auf OK erscheint dieses Fenster:

LISP. Eine Einführung

Anleitung öffentlicher Zugang einrichten

INTERNET UND MMS MIT DEM QTEK2020 MARCO 28. MÄRZ 04

Für Kunden, die Windows für ihre Netzwerkverbindungen benutzen

Bedienungsanleitung Bildarchiv

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Support-Ticket-System. - Anleitung zur Benutzung -

Quick-Guide F3Client V6.0

Streamserver24.com. Anleitung Auto-DJ

Algorithmische Mathematik

Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.

ELOoffice. Netzwerkinstallation. Software für Dokumentenmanagement und Archivierung. September ELO Digital Office GmbH.

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Viele Digitalbilder in einem Rutsch verkleinern (z.b. zur Verwendung in einer Präsentationsschau) Nachfolgend der Arbeitsvorgang:

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Transkript:

Neuronale Netze, Fuzzy Control, Genetische Algorithmen Prof. Jürgen Sauer 5. Aufgabenblatt: Neural Network Toolbox 1 A. Mit Hilfe der GUI vom Neural Network erstelle die in den folgenden Aufgaben geforderten Netzwerke. Anschließend trainiere die Netze mit unterschiedlichen Parametern und beobachte die unterschiedlichen Ergebnisse. 1. Aufgabe Im Skriptum ist unter 2.4.3.2 ein Applet zur Lösung des XOR-Problems angegeben. Mit Hilfe der GUI der Neural Network Toolbox implementiere ein Feedforward Backpropagation Netz. Die Implementierung soll im Rahmen eines Matlab-Skripts dokumentiert werden. a) Das Netz soll die gleichen Eigenschaften besitzen, wie das im Skript unter 2.4.3.1 angegebene Java- Programm. Öffnen des Network/DataManager über nntool Öffnen des Fensters Create New Data und Eingabe der Daten für Netzwerkeingabe und Netzwerkausgabe (Name, Wert, Zweck (Data Type) 1 Literatur: Howard Demuth, Mark Beale, und Martin Hagan: Neural Network Toolbox: Users Guide, http://www.mathworks.com/access/helpdesk/help/pdf_doc/nnet/nnet.pdf, The Mathworks, 2005 1

Erzeugen des Netzwerks mit dem Fenster Create New Network zur Eingabe von Network-Name, Network- Type, Input Range, Number of Neurons, Transfer Function, Learning Function Über den Button View kann das erzeugte Netzwerk betrachtet werden 2

Trainieren des Netzwerks über Öffnen eines Fensters zum Festlegen der Trainingsparameter (Eingabemuster, Ausgabemuster, Anzahl der zu durchlaufenden Epochen, der zu erzielenden Gesamtfehler) 3

Simulation des Netzwerks über Öffnen mit dem Button Simulate aus dem Network/data Manager zum Bestimmen der Eingabedaten und dem Namen einer Variablen zur Aufnahme der Ergebnisse der Simulation Betrachten der Ausgabe über den Button View im Network/Data Manager 2. Aufgabe: Training und Simulation eines 2-1 FFNN % aufg2a.m % Training eines 2-1 FFNN mit Backpropagation % Matlab Neural Network Toolbox clear all; close all; P1 = [1 1-2 -1 0]; P2 = [2-2 2 1 0]; % Eingabe Muster P1 & P2 T = [0 1 0 1 0.5]; % Ausgabeziel T 4

P = [P1; P2]; % Erzeuge eine Matrix fuer die Eingaben P: 2x4 Matrix % Training von folgendem FFNN % s1 = [w11 x w12] *[p1 p2]' + b1 % y1 = logsig(s1) % Ziel: y1 dupliziert T meinnn = newff([-2 2; -3 3],1,{'logsig'}); % Aufbau der FFNN-Struktur % meinnn.trainparam.goal = 0.1; % Fehler-Abbruchkriterium meinnn.trainparam.epochs = 100; % Anzahl Epochen [meinnn, tr] = train(meinnn,p,t); % Start Training % Ausgabe Gewichte und Bias meinnn.iw{:,:} meinnn.lw{:,:} meinnn.b{:,:} % Mapping des Trainierten FFNN u1 = -2:0.2:2; N1 = length(u1); u2 = -4:0.2:4; N2 = length(u2); for j = 1:N1 for i = 1:N2 y(i,j) = sim(meinnn,[u1(j);u2(i)]); end; end; ytrained = sim(meinnn,p); figure(1); plot3(p1,p2,t,'o',p1,p2,ytrained,'x'); hold; mesh(u1,u2,y); grid; hold off; xlabel('p1'); ylabel('p2'); zlabel('y'); title('2-input 1-output FF Neuron'); 5

3 Aufgabe Die Funktion y = 1./((x-3).^2+.01)+1./((x-.9).^2+0.4)-6 kann in MATLAB unter dem Namen humps aufgerufen werden. Es soll gezeigt werden, dass es möglich ist, ein Neuronales Netzwerk zu bestimmen, das Daten, die im Bereich [0 2] durch die humps-funktion generiert werden, abdeckt. Gib ein geeignetes MLP-Netzwerk dafür an. % humps-funktion: y = 1./((x-3).^2+.01)+1./((x-.9).^2+0.4)-6 % Gesucht ist d ein MLP, das Daten zur humps-funktion % Bereich [0 2] approximiert. % Darstellung der Funktion x = 0:0.05:2; y = humps(x); P = x; T = y; plot(p,t,'x') grid; xlabel('time(s)'); ylabel('output'); title('humps function'); 6

% Netzwerkentwurf: feedforward (MLP) net = newff([0 2],[5 1],{'tansig','purelin'},'traingd'); % 1. Argument [0 2] definiert den Eingabebereich und initialisiert % die Netzwerparameter % 2. Argument [5 1] bestimmt die Struktur des Netzwerks, es gibt 2 % Schichten. 5 ist die Anzahl der Knoten in der % verborgenen Schicht, 1 ist die Anzahl der % Knoten in der Ausgabeschicht % Definition der Aktivierungsfunktionen % 1. Schicht umfasst 5 tansig-funktionen % In der Ausgabeschicht gibt es eine lineare Funktion % 'learngd' definiert das grundlegende Lernschema der Gradienten-Methode % Definition der Lernparameter net.trainparam.show = 50; % Ergebnisausgabe nach je 50 Epochen net.trainparam.lr = 0.05; % Lernrate net.trainparam.epochs = 1000; % Max. Anzahl Iterationen net.trainparam.goal = 1e-3; % Fehlerkriterium fuer Abbruch % Netzwerktraining net1 = train(net,p,t); 7

Das Fehlerkriterium für den Abbruch wurde bei weitem nicht erreicht. 8

net1 = train(net,p,t); % Simulation, wie gut das Ziel erreicht wurde a = sim(net1,p); % Zeichne das Ergebnis und vergleiche plot(p,a-t,p,t); grid; 9

% Aus der Konvergenz-Kurve kann abgeleitet werden, dass Chancen zur % Verbesserung bestehen, z.b. durch Erhöhen der Anzahl der Iterationen. % Da das Gradientenabstiegsverfahren sehr langsam ist, wird das % schnellste in der Toolbox bekannte Verfahren von Levenberg-Marquardt % herangezogen (mit 10 Neuronen in der verborgenen Schicht) % Versuch mit 'trainlm' nach Levenberg-Marquardt % ================================= net = newff([0 2],[10 1],{'tansig','purelin'},'trainlm'); net.trainparam.show = 50; % Ergebnisausgabe nach je 50 Epochen net.trainparam.lr = 0.05; % Lernrate net.trainparam.epochs = 1000; % Max. Anzahl Iterationen net.trainparam.goal = 1e-3; % Fehlerkriterium fuer Abbruch % Netzwerktraining net1 = train(net,p,t); % Simulation, wie gut das Ziel erreicht wurde a = sim(net1,p); % Zeichne das Ergebnis und vergleiche plot(p,a-t,p,t) xlabel('time(s)'); ylabel('output of network and error'); title('humps-funktion') 10

Deutlich zeigt sich: Der L-M-Algorithmus ist nicht nur significant schneller und besser geeignet zur Implementierung des Backpropagation. Zum Test der erreichten Qualität kann mit vom Training unabhängigen Daten folgende Simulation betrachtet werden. x1 = 0:0.01:2; P1=x1; y1=humps(x1); T1=y1; a1 = sim(net1,p1); plot(p1,a1-t1,p1,t1,p,t) 11

4 Aufgabe Das Leistungsvermögen NN wird häufig anhand des 2-Spiralen Problems dokumentiert. Im Ordner aufg5 sind unter dem Verzeichnis gruber MATLAB-Skripten angegeben, die mit Hilfe der NN-Toolbox von MATLAB die Leistungen verschiedener Modifikationen des Backpropagation-Verfahrens zeigen. 12

B. Erstelle Matlab-Skripten für die folgende Aufgaben. Benutze, soweit es möglich ist, die MATLAB Toolbox für Neural Network 2. MATLAB-Skripten bitte per E-Mail an Prof. Sauer senden 1. Aufgabe Im Skriptum wurde unter 2.3.2.3 ein einstufiges Netz mit Hilfe der Delta-Regel erlernt. Gib ein Matlab-Skript an, dass diese Aufgabe ebenfalls löst. Das Netzstruktur ist 0 1 2 3 4 Das NN soll aus Eingabemustern nach folgender Zusammenstellung ein Eingabemuster erzeugen. Muster Eingabe 0 1 2 3 Ausgabe 4 0 1-1 1-1 1 1 1 1 1 1 1 2 1 1 1-1 -1 3 1-1 -1 1-1 Nach der Delta-Regel sind die Gewichte der Verbindungen zwischen den Einheiten der Ein- und Ausgabeschicht zuzuordnen. Die Gewichte sind mit 0 initialisiert, die Lernrate ε hat den Wert 0.25. 2. Aufgabe Gib ein MATLAB-Skript an, das das 8-3-8 Encoder-Problem im Rahmen eines Feedforward-Netzes mit dem Backpropagation löst. Die beiden folgenden Matrizen zeigen die Eingabe und die Ausgabe, wenn das Problem korrekt gelöst wurde. % Lernaufgabe P = [1 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0, 0 0 1 0 0 0 0 0; 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0; 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 1]; T = [1 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0, 0 0 1 0 0 0 0 0; 0 0 0 1 0 0 0 0; 0 0 0 0 1 0 0 0; 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 1]; a) Erstelle das MATLAB-Skript 3 mit Hilfe von Kommandos aus der MATLAB Toolbox für Neural Network. 2 Lehrbrief15.doc 3 aufg2b.m 13

b) Benutze zur Lösung des Problems das Graphical User Interface der MATLAB Toolbox für Neural Network 3. Aufgabe a) Mit Hilfe der Neural Network Toolbox implementiere ein Feedforward Backpropagation Netz mit einer Struktur, die der im Skriptum 4 vergleichbar ist. Die Implementierung soll im Rahmen eines Matlab-Skripts dokumentiert werden. b) Alle Gewichte in dem unter a) vorliegenden Netz sollen auf 1 gesetzt werden. Wie verändern sich die Gewichtswerte während des Trainings. 4. Aufgabe Gib ein MATLAB-Skript für ein FFNN an, das die Sinus-Funktion approximiert. Die Approximation soll den Bereich von 0 bis 2.4 * π umfassen. Es besteht aus: einer Eingabeschicht, der verborgenen Schicht mit 4 Neuronen, der logistischen Funktion tansig. Die Trainingsfunksfunktion ist traingdx, die Anzahl der Trainingsepochen ist 50.000 und das Fehlerabbruchkriterium ist 1e 6 4 vgl. Skriptum: 2.4.3 14

5. Aufgabe Im Verzeichnis hoesl_ebenhoeh ist im Ordner aufg5 ein MATLAB-Skript mit graphischer Benutzeroberfläche angegeben, das das XOR-Problem (mit Hilfe des Gradientenabstiegsverfahrens, Backpropagation) löst. Die Skript arbeitet mit einer graphischen Benutzeroberfläche und kann mit dem Kommando xor_ebenhoeh_hoesl aufgerufen werden. Es erscheint dann das folgende Fenster, in dem alle Zwischenschritte zur Lösung des XOR protokolliert werden. 1. Überprüfe die Ergebnisse mit Hilfe des im Skriptum angegebenen Java-Applets 5. 2. Evtl. Verbesserungen und nötige Korrekturen geben Sie Bitte per E-Mail an Prof. Sauer 5 vgl. http://fbim.fh-regensburg.de/~saj39122/vhb/nn-script/script/gen/applets/fi/bpxorsim.html 15