Genetische Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Memetische Algorithmen …der Versuch einer Einordnung
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Perceptrons and the perceptron learning rule
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
Genetische Algorithmen für die Variogrammanpassung
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Konkurrentes Lernen AS-1
Genetische Algorithmen
Heuristiken Automatic Problem Solving Institut für Informatik
Algorithmentheorie 04 –Hashing
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Union-Find-Strukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Genetische Algorithmen
Seminar parallele Programmierung SS 2003
3.4 Genetische und evolutionäre Algorithmen
Die moderne Evolutionstheorie
3. März 2000LS VI Workshop: Kalibrierung und Optimierung1/20 Kalibrierung und Optimierung in simulierten Multiagentensystemen Christoph Oechslein.
Evolution in verteilten Systemen Der Evolutionäre Trader
Vorlesung KDD, Ludwig-Maximilians-Universität München, WS 2000/ Andere Paradigmen Inhalt dieses Kapitels 8.1 Induktive Logik-Programmierung.
Autoren: Ingo Paenke, Bernhard Sendhoff, Jon Rowe,
Effiziente Algorithmen
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Sortieralgorithmen Sortieren von Arrays.
Anwendungen evolutionärer Algorithmen
Einführung in die Programmierung
Abschlussvortrag zur Studienarbeit
Digitales Leben Tierra, Avida & Physis Autor: Donald Barkowski.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Evolutionäre Algorithmen AS1-7
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Fundamente der Computational Intelligence
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Fundamente der Computational Intelligence (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl für Algorithm Engineering Wintersemester.
Einführung in die Programmierung
Einführung in die Programmierung
Intelligent Design und Darwinismus
PPS Präsentation -> Wikommen
Parallelisierung für Multiprozessor-Maschinen
Evolutionäre Algorithmen AS1-7
Ilka Rehr, Geodätisches Institut, Leibniz Universität Hannover
ANN - Simulator Rainer Trummer Ferdinand Schober Christian Spielberger.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Evolutionärer Entwurf neuronaler Netze
Evolutionäre Algorithmen Rüdiger Brause
Design und Optimierung optischer Systeme durch Neuronale Netze und Genetische Algorithmen.
Programmierung von CNC-Messgeräten mit genetischen Algorithmen Simeon Perlov.
EIN NEUES ENSEMBLE- KLASSIFIKATIONSVERFAHREN Tim Schneider Rotation Forest.
Focusing Search in Multiobjective Evolutionary Optimization through Preference Learning from User Feedback Thomas FoberWeiwei ChengEyke Hüllermeier AG.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Genetische Algorithmen
 Präsentation transkript:

Genetische Algorithmen Sebastian Stober Proseminar „Wissensentdeckung und Maschinelles Lernen“, WS 2001 Otto-von-Guericke-Universität-Magdeburg

Motivation Analogie zur Evolutionstheorie der Biologie Evolution ist eine erfolgreiche, robuste Methode für Anpassung biologischer Systeme GA können Räume von Hypothesen durchsuchen, die komplexe, interagierende Bestandteile enthalten, bei denen der Einfluß jedes Teils auf die Gesamthypothese unklar ist GA können leicht parallelisiert werden GA sind nicht deterministisch Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Fragen zur Implementierung Problemstellung Suche im Raum aller möglichen Hypothesen nach der „besten Hypothese“ „beste Hypothese“ ist diejenige mit der größten Fitness Fragen zur Implementierung Wie sieht die Fitness-Funktion aus? Wie sind die Individuen (Hypothesen) repräsentiert? Wie werden die Individuen selektiert? Wie reproduzieren sich die Individuen? Fitness – abstrakter Begriff, abhängig von der Aufgabenstallung Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Fitness-Funktion Fitness Weist jeder Hypothese einen Fitness-Wert zu Maß für die Güte der Hypothese Mögliche Kriterien: Genauigkeit (z.B. Annähern einer unbekannten Funktion) Komplexität Allgemeingültigkeit Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Repräsentation von Hypothesen Bitstrings: Einfach zu manipulieren (einfache Implementierung der Genetischen Operatoren) Können auch sehr komplex sein z.B. IF – THEN : Substrings mit Vor- und Nachbedingung Symbolische Darstellung: Anwendung in der Genetischen Programmierung Tafelbild „Outlook“ Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Selektionsmethoden Monte-Carlo (Roulette-Wheel-Selection) Jedem Individuum wird ein Sektor eines Roulettrads proportional zur Fitness zugeordnet Selektionsmethoden Ranking-Selection Fitnesswert, der nur vom Rang des Individuums in der Population ist Tournament-Selection wähle zufällig 2 Hypothesen übernehme mit vordefinierter Wahrscheinlichkeit die bessere, sonst die andere Monte-Carlo: die härteste Tournament: größere Vielfalt der Population Diagramme anzeichnen Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Genetische Operatoren Crossover (Rekombination) Mutation Erweiterte Operatoren Single-Point Crossover N-Point Crossover Uniform Crossover z.B. AddAlternative DropCondition AddAlternative: ändert Wert eines Attributes; im Substring eines Attributes wird eine 0 in eine 1 geändert (läßt eine Möglichkeit in Disjunktion mehr zu) => p ~ 0.01 DropCondition: ersetzt alle Bits eines bestimmten Attributes auf 1 => „don‘t care“ => neue Attribute einführen, die angeben, ob erw. Operator auf Individuum angewendet werden darf => Steigerung Performance von 92.1 % auf 95.2% nach DeJong et al. (1993) mir GABIL Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Allgemeiner Algorithmus Parameter: Fitness – Funktion zur Bewertung der Hypothesen p – Anzahl der Hypothesen einer Population r – Teil der Population, der durch Crossover ersetzt werden soll m – Mutationsrate Initialisiere Startpopulation: P0  generiere p zufällige Hypothesen, n  0 Bewertung:  h  P0 : berechne Fitness(h) while (not Abbruchbedingung_erfuellt) do od return Hypothese h  P mit höchster Fitness(h) 1. Selektion wahrscheinlichkeitsabhängige Auswahl von (1-r)*p Elementen aus Pn in die Nachfolgegeneration Pn+1 2. Crossover wahrscheinlichkeitsabhängige Auswahl von r*p/2 Paaren aus Pn für jedes Paar (h1,h2) konstruiere 2 Nachkommen mit Hilfe des Crossoveroperators für Pn+1 3. Mutation wähle (mit gleichverteilter Wahrscheinlichkeit) m % der Hypothesen aus Pn+1 und wende den Mutationsoperator darauf an 4. Bewertung  h  Pn+1 : berechne Fitness(h) Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Probleme Overfitting Crowding Gut angepaßte Individuen können sich schneller fortpflanzen und übernehmen einen großen Teil der Population Einschränkung der Vielfalt Verlangsamerung der Weiterentwicklung Lösungsmöglichkeiten: Alternieren der Fitnessfunktion „fitness sharing“ Einschränkungen bei der Reproduktion Fitness sharing – gemessene Fitness wird durch Anwesenheit von ähnlichen Individuen reduziert Reproduzierungseinschränkung: nur ähnliche => Clusterbildung => multiple „subspecies“ / räumliche Trennung -> nur benachbarte Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Genetisches Programmieren Form der evolutionellen Programmierung, bei der die Individuen Computerprogramme anstelle von Bitstrings sind Repräsentation der Programme: Syntaxbäume Fitness: Ausführen des Programms auf den Trainingsdaten Crossover: Austausch von zufällig gewählten Unterbäumen Syntaxbaum S. 262/263 Figure 9.2 Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Parallelisieren Genetischer Algorithmen coarse-grain Unterteilung in verschiedene Gruppen von Individuen Jede Gruppe wird einem Knoten zugeordnet Kommunikation und Kreuzung zwischen den Knoten seltener als innerhalb der Gruppen Transfer über zusätzlichen Migrationsprozeß Verringert Crowding-Problem fine-grain 1 Prozessor/Individuum Rekombination nur zwischen Nachbarn Coarse = grob Grained = strukturiert Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg

Zusammenfassung GA führen eine zufällige, parallele Suche durch nach Hypothesen, die eine vordefinierte Fitness Funktion optimieren Dabei wird die natürliche Evolution simuliert GA sind „abrupt“ im Gegensatz zum „sanften“ Abstieg entlang des Gradienten wie z.B. bei Backpropagation Nachkommen können radikal verschieden sein von den Eltern Geringere Wahrscheinlichkeit, in einem lokalen Minimum „hängenzubleiben“ Proseminar „Maschinelles Lernen“, WS 2001 – Genetische Algorithmen Sebastian Stober, Otto-von-Guericke-Universität Magdeburg