Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 12. Aufgabenblatt: Projektvorschläge für WS 2010/2011

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

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

Praktische Optimierung

Hannah Wester Juan Jose Gonzalez

Simulation neuronaler Netzwerke mit TIKAPP

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Neuronale Netze. Seminar aus Algorithmik Stefan Craß,

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

(hoffentlich kurze) Einführung: Neuronale Netze. Dipl.-Inform. Martin Lösch. (0721) Dipl.-Inform.

Künstliche neuronale Netze

Theoretische Informatik 1

Neuronale Netze. Anna Wallner. 15. Mai 2007

Übungspaket 23 Mehrdimensionale Arrays

Scheduling- Algorithmen. Handbuch für Endnutzer

Kapitel LF: IV. IV. Neuronale Netze

Übungspaket 23 Mehrdimensionale Arrays

Was sind Neuronale Netze?

Selbstorganisierende Karten

Thema 3: Radiale Basisfunktionen und RBF- Netze

Hopfield Netze. Neuronale Netze WS 2016/17

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

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

(künstliche) Neuronale Netze. (c) Till Hänisch 2003, BA Heidenheim

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

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

Algorithmische Anwendungen WS 2005/2006

Künstliche Neuronale Netze

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

Das Perzeptron. Künstliche neuronale Netze. Sebastian Otte. 1 Grundlegendes. 2 Perzeptron Modell

Algorithmen und Datenstrukturen CS1017

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Neuronale Netze. Gehirn: ca Neuronen. stark vernetzt. Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor)

1 Neuronale Netze Historisches

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Seminar Künstliche Intelligenz Wintersemester 2013/14

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Proseminar Machine Learning. Neuronale Netze: mehrschichtige Perzeptrone. Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Application Engineering Grundlagen für die objektorientierte Softwareentwicklung mit zahlreichen Beispielen, Aufgaben und Lösungen

Web-basierte Anwendungen: 08: Ergänzungen zum Projekt

Neuronale Netze mit mehreren Schichten

1. License Borrowing Verfahren

Multi-Layer Neural Networks and Learning Algorithms

Simulation Neuronaler Netze. Eine praxisorientierte Einführung. Matthias Haun. Mit 44 Bildern, 23 Tabellen und 136 Literatursteilen.

Zeichnen von Graphen

Neuronale Netze. Einführung i.d. Wissensverarbeitung 2 VO UE SS Institut für Signalverarbeitung und Sprachkommunikation

Grundlagen der Theoretischen Informatik, SoSe 2008

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Methoden zur Visualisierung von Ergebnissen aus Optimierungs- und DOE-Studien

Kapitel 6. Neuronale Netze. 6.1 Verwendeter Netztyp

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

Wissensbasierte Systeme

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016

Grundlagen Künstlicher Neuronaler Netze

auch: Konnektionismus; subsymbolische Wissensverarbeitung

Numerisches Programmieren

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

Grundlagen Programmierung

Die (Un-)Sicherheit von DES

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff

Schule. Klasse. Station Figurierte Zahlen Teil 1. Tischnummer. Arbeitsheft. Teilnehmercode

Innovative Information Retrieval Verfahren

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Einführung in die Informatik Turing Machines

Realisierung von CI- Regelalgorithmen auf verschiedenen Hardwareplattformen

3-Tier-Architecture und J2EE

Diskrete Strukturen Kapitel 2: Grundlagen (Mengen)

Neuronale Netze (Konnektionismus) Einführung in die KI. Beispiel-Aufgabe: Schrifterkennung. Biologisches Vorbild. Neuronale Netze.

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

QGIS-PlugIn AnotherDXF2Shape V0.3

Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner

Bachelorarbeit Erkennung von Fließtext in PDF-Dokumenten

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Abbildung 10.1: Das Bild zu Beispiel 10.1

Brückenkurs Mathematik

Kapitel ML:XII. XII. Other Unsupervised Learning. Nearest Neighbor Strategies. Self Organizing Maps Neural Gas. Association Analysis Rule Mining

Aufgabenblatt 4 IT-Security Angewandte Informatik WS 2016/17

Einstieg in die Informatik mit Java

Informatik Projekt J AIRS. Laborjournal. Julien Studzinski / Stefan Urech / Gilles Zimmermann

Selbstorganisierende Merkmalskarten

Abschnitt 4: Daten und Algorithmen

KNN für XOR-Funktion. 6. April 2009

Grafische Benutzeroberflächen

Dynamisches Huffman-Verfahren

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Selbstorganisierende Karten

Vektoren. Jörn Loviscach. Versionsstand: 11. April 2009, 23:42

Technische Universität. Fakultät für Informatik

Erinnerung Blockchiffre

Semaphor- Workshop. Handbuch für Endnutzer

Aufbau der Eigenimplementierung

Neuronale Netze (I) Biologisches Neuronales Netz

Hochschule Regensburg. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Alphabet, formale Sprache

Lineare Algebra I (WS 12/13)

Transkript:

Neuronale Netze, Fuzzy Control, Genetische Algorithmen Prof. Jürgen Sauer 12. Aufgabenblatt: Projektvorschläge für WS 2010/2011 Hinweis: Alle Projekte sind angemessen zu dokumentieren. Die Dokumentation erfolgt im Rahmen eines PDF- File oder einer HTML-Seite. Regelmäßige Absprachen mit dem Dozenten sind während der Bearbeitung eines Projekts unbedingt erforderlich. Abgabetermin für ein Projekt ist der 15. Januar 2011. 1. Aufgabe: Zwei-Spiralen-Problem a) Die Aufgabe ist, zwischen 2 Trainingsmengen die auf unterschiedlichen Spiralen in der x-y Ebene liegen (im Bild grün und rot) 1 zu unterscheiden. Beide Spiralen winden sich 3mal um den Nullpunkt und um sich selber. Eine mögliche Lösung ist ein MLP (2-20-10-1) 2. Löse das Problem im Rahmen eines MLP (z.b. mit 2 Eingabeneuronen, 2 hidden layer mit 20 bzw. 10 Neuronen und einem Ausgabeneuron. Realisiere das MLP auf der Basis dieser Angaben in einem MATLAB Skript unter Verwendung der MATLAB Toolbox. Nutze zur Darstellung der Lösung die Möglichkeiten von MATLAB (Graphical User Interface) 3. Zeige insbesondere die Klassifikation (0,1) der Netzausgabe über die Netzeingabe in dreidimensionalen Darstellungen (unterschiedliche Initialisierungen ergeben unterschiedliche Darstellungen). b) Gib ein MATLAB-Skript an, das das 2-Spiralenproblem mit Hilfe eines RBF-Netzes 4 unter Verwendung der MATLAB-Toolbox löst. Nutze auch hier zur Darstellung der Lösung die Möglichkeiten von MATLAB (Graphical User Interface) 5. c) Realisiere das unter a) angegebene Problem mit Hilfe eines Cascade Correlation Netzes. d) Die unter a) und b) angegebenen Aufgaben können mit Java, C++ und C# gelöst werden 2. Aufgabe: cascade-correlation-network 6, 7 a) Beschreibe bzw. implementiere den cascade-correlation network growing algorithm in MATLAB- Umgebung am Bsp. des XOR bzw. Zwei-Spiralen-Problem. b) Die Aufgabe kann auch mit Hilfe von Java, C++ und C# gelöst werden. 3. Aufgabe ( für Informatiker) Gegeben ist ein Matlab-Skript, das mit einer einfachen grafischen Benutzeroberfläche ausgestattet ist, die die Anordnung der zweidimensinalen Eingabemuster in folgender Form gestattet: Rechteck, Dreieck, Kreis, Ring, Buchstabe A. Die Dimension des Ausgaberaums kann eindimensional oder 2-dimensional (eckig) gewählt werden. Diese Vorgabe finden in einer Self-Organizing-Map Berücksichtigung, die Ausgabe der Feature Map beweist dies. 1 http://www.informatik.htw-dresden.de/~iwe/belege/2005/boerner/index.html 2 Vgl. http://www.neurocomputing.de/galerie.html 3 vgl. http://www.neurocomputing.de/galerie.html 4 Bodgan M. Wilamowski: Neural Network Architectures and Learning 5 vgl. http://www.neurocomputing.de/galerie.html 6 http://www.lac.inpe.br/~demisio/cap351/m11-2slidep.pdf 7 http://www.es.embnet.org/doc/courses99/software/ai/funet/cascor1.c 1

Die Aufgabe kann auch im Rahmen eines Java-Applets gelöst werden. 4. Aufgabe a) (für Informatiker): Applet zur Lösung des XOR mit Backpropagation 8 -- Überprüfung der Funktions- und Verfahrensweise, Test der Implementierung -- Einbau des Momentum (Erweiterung der Funktionsfähigkeit) -- Falls nötig: Korrektur und Anpassung der Benutzeroberfläche -- Einbau des Applets in das Skript bzw. Übernahme in meine Homepage b) (auch für Mathematiker) Die vorliegende Java-Lösung (Applet) soll daraufhin überprüft werden, ob ein geeignetes MATLAB-Skript (mit Elementen einer grafischen Benutzeroberfläche) dafür möglich ist. Auch die Bezeichnungen vom Java- Quellcode sollen in das MATLAB-Skript aufgenommen werden. 5. Aufgabe Schreibe ein Matlab-Skript, das mit Hilfe von Backpropagation aus 2 Vektoren das Kreuzprodukt errechnet. Das Skript soll eine geeignete GUI enthalten. 6. Aufgabe Gib ein MATLAB-Skript an, das eine Lösung des XOR-Problems mit Hilfe der MATLAB-Toolbox produziert und zeige anhand 3-dimensionaler Darstellungen (über die Eingabe die Netzwerkausgabe), wie unterschiedliche Initialisierungen unterschiedliche korrekte Lösungen produzieren. 9 7. Aufgabe: a) Zeige mit Hilfe eines MATLAB-Skripts am Bsp. des XOR, wie der Quickprop-Algorithmus (vorgeschlagen von Fahlmann) funktioniert. b) Zeige mit Hilfe eines MATLAB-Skripts am Bsp. des XOR, wie der Levenberg-Marquardt -Algorithmus funktioniert 10. 8. Aufgabe: a) Gib ein MATLAB-Skript an, das das im Skript veröffentlichte Java-Applet 11 als Vorlage benutzt. Das MATLAB-Skript soll dann auch eine entsprechende grafische Benutzeroberfläche realisieren b) Gib ein MATLAB-Skript an, das im Rahmen eines BAM Großbuchstaben (26 Buchstaben des Alphabets) in entsrechende Kleinbuchstaben umsetzt. 12 9. Aufgabe: (für Informatiker: Simulator für Backpropagation Netze) 8 vgl. Skriptum, 2.4.3.1 9 vgl. http://www.neurocomputing.de/galerie.html 10 Bodgan M. Wilamowski: Neural Network Architectures and Learning 11 http://fbim.fh-regensburg.de/~saj39122/vhb/nn-script/script/gen/applets/dosch/bam.html 12 IEEE Transactions on Neural Networks, Vol. 11, No. 4, July 2000: A Feedforward Bidirectional Associative Memory 2

Der Simulator 13 soll hinsichtlich einer besseren Bedienung durch eine Überarbeitung der grafischen Benutzeroberfläche neu gestaltet werden. 10. Aufgabe (Erlernen einer Funktion mit der Boltzmann-Maschine 14 ) a) Eine spezielle Funktion soll mit einer Boltzmann-Maschine erlernt werden. Das im Skriptum angegebene Java-Applet soll durch ein MATLAB-Skript ersetzt werden 15. b) Die unter a) festgelegte Anzahl der Eingabe- und Ausgabezellen auf 3 soll auf 5 erweitert werden. Sie sollen eine Invertierung der Bitfolgen bewirken. Als Eingabe sind wie unter a) nur Belegungen zugelassen, bei denen genau ein Neuron 1 und alle anderen auf Null gesetzt sind. Für 5 verdeckte Zellen mit einem Lernfaktor ε = 0.8 soll das Netz nach 500 Iterationen in der Lage sein, mit 90%iger Sicherheit die richtige Funktionsausgabe im Recall auszugeben. Die unter a) definierte grafische Benutzeroberfläche soll übernommen werden, die Anzahl der Ein- und Ausgabeneuronen sowie der verdeckten Neuronen soll zu Beginn des Lernverfahrens eingelesen werden können. 11. Aufgabe Hopfield-Netze bieten die Möglichkeit, Informationen assoziativ zu speichern. Fragt man nach einem bestimmten Begriff, so fallen dem Rechner bzw. demnetz weitere Eigenschaften ein, z.b.: Gegeben sind folgende Informationen: - Hans ist groß, schwarz und dick - Anna ist klein, blond und dünn - Ulrich ist klein, blond und dick Erinnert man sich an die blonde Anna, so weiß man, dass Anna zudem klein und dünn ist. Die Erinnerung an die blonde Anna aktiviert weitere Erinnerungen, das assoziativ strukturierte Gedächtnis arbeitet. Die vorliegenden Eigenschaften können folgendermaßen codiert sein Hans Anna Ulrich groß klein schwarz blond dick dünn 11 10 01 1 0 1 0 1 0 Die vorliegenden Informationen erhalten die folgenden Verschlüsselungen: - Hans ist groß, schwarz und dick 11111 - Anna ist klein, blond und dünn 10000 - Ulrich ist klein, blond und dick 01001 Diese Bitfolgen lassen sich als Muster eines Hopfield-Netzes auffassen, d.h. die zum Netz gehörende Energiefunktion nimmt an den Stellen der Muster Energieminima an. Sind Teilinformationen bekannt, lassen sich die restlichen assoziativ zugehörigen Informationen abrufen, wenn man das Netz wie ein Boltzmann-Netz behandelt. Bekannte Informationsteile werden als Eingabe betrachtet, alle restlichen Neuronen als Ausgabe, z.b.: Für die blonde Anna ist das zugehörige Muster 10x0y. Hier sind die Bitwerte 1, 0, 0 Eingabe und x, y Ausgabe eines Boltzmann-Netzes. Simuliertes Kühlen liefert x=0 und y=0, d.h. Anna ist klein und dünn. 12. Aufgabe a) Gegeben ist ein Matlab-Skript 16, das mit einer einfachen grafischen Benutzeroberfläche ausgestattet ist, die die Anordnung der zweidimensionalen Eingabemuster in folgender Form gestattet: Rechteck, Dreieck, Kreis, 13 http://fbim.fh-regensburg.de/~saj39122/wabrpi/index.html 14 vgl. Skriptum 2.6.4.2 15 vgl. lehrbrief6/fi-bolz Matlab 3

Ring, Buchstabe A. Die Dimension des Ausgaberaums kann eindimensional oder 2-dimensional (eckig) gewählt werden. Diese Vorgabe finden in einer Self-Organizing-Map Berücksichtigung, die Ausgabe der Feature Map beweist dies. Gegeben ist auch eine Anwendung in C#, die ungefähr dasselbe tut wie das gegebene Matlab-Skript. Die Präsentation soll im Rahmen einer HTML-Seite erfolgen, die grafische Benutzeroberfläche soll der des C#- Programms entsprechen. Das Programm soll ein Java-Applet werden, das in HTML-Seiten gestartet und ablaufen kann. Die HTML-Seite soll ins Skript eingebaut werden b) Schreibe ein MATLAB-Skript, das diese Aufgabe mit Hilfe von Neural Gas löst. 13. Aufgabe (Auffangen eines Balls) 17 Schreibe ein MATLAB-Skript mit grafischer Benutzeroberfläche, das das Auffangen eines Balls ermöglicht. 14. Aufgabe (Necker Cube Example) 18 Die Lösung ist in Java oder C++ oder C# anzugeben. 16 sof1.m bzw. Verzeichnis haneder im Verzeichnis lehrbrief7 17 http://www.htw-dresden.de/~iwe/belege/schneider/som.html 18 http://www.cs.cf.ac.uk/dave/java/boltzman/necker.html 4

15. Aufgabe (Comparison of Fuzzy and Neural) 19 Löse mit Hilfe der Fuzzy-Logic Toolbox folgende Probleme: - TRUCK BACKER-UPPER CONTROL SYSTEMS 20 - Fuzzy Truck Backer-Upper Systems - Neural Truck Backer-Upper System (Nguyen, Widrow) - Adaptive Fuzzy Truck Backer-Upper - Fuzzy Truck-and-Trailer Controler - BP Truck-and-Trailer Control systems 16. Aufgabe 1. Fallstudie: Transportkran Krankopf v (Krangeschwindigkeit) θ (Auslenkungswinkel) Last Ziel: Schwingungsfreies Transportieren von Lasten Aufgabenstellung: Solange Wunsch auf Bewegung des Krans besteht, d.h. Sollgeschwindigkeit v 0, soll Wunsch realisiert werden. Sobald Kran gestoppt wird, d.h. v 0 soll vorhandene Schwingung ausgeglichen werden. Lösung mit Fuzzy-Logik soll soll Sollgröße v soll θ Fuzzy- Motorleistung System Kran d θ FS dt 2. Funktionsapproximation mit anfis 19 Bart Kosko: Neural Networks and Fuzzy Systems, Prentice Hall, Englewood Cliffs, NJ 07632 20 Bart Kosko: Neural Networks and Fuzzy Systems, Prentice Hall, Englewood Cliffs, NJ 07632 5

a) Die Funktion y = 1./((x-3).^2+.01)+1./((x-.9).^2+0.4)-6 kann in MATLAB unter dem Namen humps aufgerufen 21 werden. Diese Funktion soll im Bereich von [0 2] approximiert werden. 2 b) Die Funktion y = f ( x) = 2x x soll im Bereich von x=[-10,10] approximiert werden. 21 vgl. 8. Aufgabenblatt, 4. Aufgabe 6