Wissensextraktion in stetigen physikalischen Prozessen auf der Grundlage symbolischer Regression am Beispiel des Nitrocarburierens

Größe: px
Ab Seite anzeigen:

Download "Wissensextraktion in stetigen physikalischen Prozessen auf der Grundlage symbolischer Regression am Beispiel des Nitrocarburierens"

Transkript

1 Wissensextraktion in stetigen physikalischen Prozessen auf der Grundlage symbolischer Regression am Beispiel des Nitrocarburierens Fabian Deutsch Matrikelnummer: Diplomarbeit Vorgelegt im Fachbereich 3 (Mathematik und Informatik) der Universität Bremen Bremen, den 27. Dezember 2010 Erstgutachter: Zweitgutachter: Prof. Dr. Otthein Herzog Dr.-Ing. Heinrich Klümper-Westkamp

2

3 Deutsch, Fabian Wissensextraktion in stetigen physikalischen Prozessen auf der Grundlage symbolischer Regression am Beispiel des Nitrocarburierens. Diplomarbeit, Fachbereich Mathematik und Informatik Universität Bremen, Dezember 2010

4 Selbständigkeitserklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig angefertigt, nicht anderweitig zu Prüfungszwecken vorgelegt und keine anderen als die angegebenen Hilfsmittel verwendet habe. Sämtliche wissentlich verwendete Textausschnitte, Zitate oder Inhalte anderer Verfasser wurden ausdrücklich als solche gekennzeichnet. Bremen, den 27. Dezember 2010 Fabian Deutsch 2

5 Ich möchte mich bei jenen bedanken, die mich bei dieser Diplomarbeit unterstützt haben, vor allem bei jenen die diese Arbeit Korrektur gelesen haben und Dipl.- Chem. Stefanie Hoja für die Diskussion bezüglich des Nitrocarburierens. Insbesondere gilt mein Dank auch Dr. Thomas Wagner für seine konstruktive Kritik an Themen dieser Arbeit und seine Betreuung. Bedanken möchte ich mich bei Prof. Dr. Otthein Herzog und Dr.-Ing. Heinrich Klümper-Westkamp für die Begutachtung dieser Arbeit. Großen Dank auch meinen Eltern, die mein Studium erst ermöglichten. 3

6 4

7 Inhaltsverzeichnis 1 Einleitung Aufbau dieser Arbeit Anwendung und Problemstellung Die Anwendungsdomäne Nitrocarburieren Wärmebehandlung Vorhersagemodelle Probleme der Vorhersagemodelle Abstraktion Granularität Stichprobenumfang und -verteilung Rauschen Domänenspezifische Anforderungen Anforderung und Zielsetzung Methoden der Regression Terminologie Entscheidungsbäume Repräsentation Lernen Regelextraktion Bewertung Künstliche neuronale Netze Repräsentation Lernen Regelextraktion Bewertung Stützvektor-Maschinen Repräsentation Lernen Regelextraktion Bewertung Genetische Programmierung

8 3.5.1 Repräsentation Lernen Regelextraktion Bewertung Diskussion und Zusammenfassung Kompakte symbolische Regression Einführung Formalisierung der Anwendungsdomäne Behandlungsparameter und -ergebnisse Linear Genetische Programmierung Repräsentation Evaluation Der LGP Algorithmus Fitness und Selektion Rekombination Mutation Subpopulationen Bestimmung der Sprache für stetige Formeln Aufbau der Programme Gütekriterien für Vorhersagegenauigkeit und Kompaktheit Vorhersagegenauigkeit Kompaktheit Mehrkriterienoptimierung NSGA-2, ein Mehrkriterienalgorithmus Integration Priorisierung von Individuen Einbringen von Vorwissen Zusammenfassung und Diskussion Implementierung Komponenten Bibliothek Population, Subpopulation und Individuen NSGA SymbolicRegression VirtualMachine Helferklassen Anwendung Graphen Datenformat Durchführung der kompakten symbolischen Regression

9 6 Evaluation Methodik Anforderungen Testdaten Einfluss und Einstellung der Parameter Rahmenparameter Problemspezifisch Parametereinstellungen Testreihen Untersuchung der Vorhersagegenauigkeit Untersuchung der Kompaktheit Untersuchung der unterschiedlichen Kompromisslösungen Der iwtvs-datensatz Zusammenfassung und Diskussion Diskussion und Ausblick Diskussion Ausblick A Formale Grammatiken 148 A.1 ABNF-Grammatik G F ormula der zulässigen Formeln A.2 ABNF-Grammatik G P rogram der zulässigen Programme B Kommandozeilen-Argumente der Anwendung plain-lgp 150 C Kompromisslösungen 152 D IWT Datensätze 156 D.1 iwtnht-datensatz D.2 iwtvs-datensatz E Quelltexte der Implementierung, Datensätze und Ergebnisse 158 7

10 Abbildungsverzeichnis 2.1 Fluss bei der Erzeugung von Daten und Wissen [1] Schritte im KDD-Prozess Ein Ofen zum Gasnitrocarburieren Lichtmikroskopische Aufnahme der Verbindungsschicht Darstellung unterschiedlicher Abstraktionsgrade Darstellung unterschiedlicher Stichprobenverteilung Geforderte Verteilung der Individuen (Exemplarisch) Ein Entscheidungsbaum für das logische ODER Aus einem Entscheidungsbaum extrahierte Regeln Aus einem Regressionsbaum extrahierte Regeln Ein Perzeptron nach Rosenblatt [2] Realisierung eines logischen UND Realisierung eines logischen ODER Ein künstliches neuronales Netz ohne Rückkopplung Extrahierte Regeln nach Gallant Abbildung eines Trainingsdatensatzes in einen neuen Eingaberaum Mit SVM+Prototype extrahierte interval rules Extrahierte Regeln nach Núñez Der einfache evolutionäre Algorithmus nach [3] Die Bit-String-Repräsentation genetischer Algorithmen Darstellung eines Syntaxbaums Veranschaulichung der Belegung der Register Eine Pareto-Front Das Stepping-Stone-Modell Selektion von Individuen durch NSGA Übersicht über die Komponenten und Module der Umsetzung Klassendiagramme zur Population, Subpopulation und Individual NSGA2 Klassendiagramm Klassendiagramm der Klasse SymbolicRegression Klassendiagramm des VirtualMachine-Pakets Die Oberfläche pigp der Anwendung plain-lgp

11 6.1 Darstellung der ein- und zweidimensionalen Probleme Trainings- gegen Testfehler (RMSE, Problemklasse C1 ) Trainings- gegen Testfehler (RMSE, Problemklasse C2 ) Durchschnittliche Kompaktheit über die Zeit (Problemklasse C1 ) Durchschnittliche Kompaktheit über die Zeit (Problemklasse C2 ) Optimierung allein anhand der Vorhersagegenauigkeit Optimierung anhand der Vorhersagegenauigkeit und der Kompaktheit (Testlauf 9) SSE über Komplexität eines Testlaufs der Problemklasse C SSE über Komplexität eines Testlaufs der Problemklasse C Trainings- gegen Testfehler Durchschnittliche Komplexität über die Zeit SSE über Komplexität Darstellung der Approximation über t und T Trainings- gegen Testfehler des iwtvs-long-datensatzes Komplexität über die Zeit des iwtvs-long-datensatzes SSE über Komplexität des iwtvs-long-datensatzes Vergleich unterschiedlicher Lösungen des iwtvs-datensatzes Darstellung der Approximation über K N und KC B

12 Tabellenverzeichnis 3.1 Wahrheitstabelle für das logische ODER Die Einfluss- und Zielgrößen des Nitrocarburierens Toleranzen zur Verbindungsschicht LGP Instruktionstypen Relevante Funktionen Werte der Metriken für ein Beispiel Zusammenfassung der Evaluations-Probleme Standardeinstellungen der Parameter Problemspezifischen Eigenschaften und Parametereinstellungen der Probleme der Problemklasse C Problemspezifischen Eigenschaften und Parametereinstellungen der Probleme der Problemklasse C Problemspezifischen Eigenschaften und Parametereinstellungen für iwtvs Jeweils eine Kompromisslösungen für die unterschiedlichen Probleme Angepasste Rahmenparameter für den iwtvs-datensatz C.1 Kompromisslösungen für das lin-problem C.2 Kompromisslösungen für das kreis-problem C.3 Kompromisslösungen für das eureqa-problem C.4 Kompromisslösungen für das mexicanhat-problem C.5 Kompromisslösungen für das synth-problem C.6 Kompromisslösungen für das iwtnht-problem C.7 Kompromisslösungen für das iwtvs-problem

13 Kapitel 1 Einleitung Der Weg der modernen Wissenschaften neues Wissen zu gewinnen, ist in vielen Fällen ein induktiver Prozess, in dem aus empirischen Beobachtungen, allgemeine Theorien abstrahiert werden. Viele Forschungsfelder, z.b. die Gen-Forschung oder der Finanzsektor, sind heute mit dem Problem konfrontiert, dass immer mehr Daten erhoben werden, es aber nur unzureichende Techniken gibt, diese Datenberge zu sichten und neues Wissen zu gewinnen. Die manuelle Analyse ist langsam, teuer und mitunter subjektiv. Diese Probleme erzeugen einen hohen Bedarf an Unterstützung von Analysten bei der Auswertung der Datenberge und führte indirekt zu der Entwicklung neuer Theorien und Werkzeugen die sich im Rahmen der Knowledge Discovery in Databases (KDD) (engl. Erkenntnis- oder Wissensgewinnung aus Datenbanken) formieren [4, 1]. Ein elementares durch KDD-Prozesse adressiertes Problem, ist die automatisierte Aufbereitung von Rohdaten in kompaktere, abstraktere oder nützlichere Repräsentationen. Unter der Repräsentation versteht man die Aufbereitung der Daten in beispielsweise einen zusammenfassenden Bericht, in beschreibende Regeln oder einem prädiktiven Modell zur Vorhersage zukünftiger Daten. Entscheidend für die Repräsentation der aufbereiteten Daten, ist die Data-Mining Methode des KDD-Prozesses, die Muster sucht und Modelle erzeugt. Mit entscheidend für die Qualität der Modelle sind die weiteren Schritte des mehrphasigen und iterativen KDD-Prozesses, den Umgang mit den Rohdaten und den erzeugten Modellen beschreiben [4, 6]. Auch bei der Untersuchung physikalischer Phänomenen kommen die oben genannten Probleme zum Tragen. Ein Beispiel ist der Large Hadron Collider (LHC) der Welt größte Teilchenbeschleuniger der u. a. zum experimentellen Nachweise der bisher nur hypothetischen Higgs-Bosonen (eine Form von Elementarteilchen) gebaut wurde. Während des Betriebs liefert allein der ATLAS-Detektor etwa 1 Petabyte (10 15 Bytes) an Rohdaten pro Jahr, die von mehreren tausend Physikern analysiert werden [7]. Es stellt sich also auch die Frage, welche Repräsentation das durch den KDD- 11

14 Prozess erzeugte Wissen besitzen muss, damit es Physikern bei der Untersuchung des Phänomens effektiv unterstützen kann. In dieser Arbeit wird für jeden Schritt des KDD-Prozesses betrachtet, welche Anforderungen sich für den Einsatz in physikalischen Domänen ergeben. Insbesondere wird untersucht, wie Wissen repräsentiert werden muss, um sich im Kontext der Physik als hilfreich zu erweisen und es wird ein Data-Mining Ansatz vorgestellt, der diese Anforderungen erfüllt. Die Probleme und Anforderungen der physikalischen Domäne werden dann an einem thermochemischen Anwendungsfall, dem Nitrocarburieren, herausgearbeitet und evaluiert. 1.1 Aufbau dieser Arbeit In Kapitel 2 wird die Anwendung von KDD-Prozessen und dessen Nutzen in der physikalischen Domäne vorgestellt. Parallel dazu wird die Anwendungsdomäne Nitrocarburieren eingeführt und die Problemstellung der KDD an dieser Domäne beschrieben. Daraus abgeleitet werden die Ziele diese Arbeit, die auch als Maß für die in Kapitel 3 beschriebenen Verfahren dient. In Kapitel 4 folgt die Vorstellung des Data-Mining Ansatzes, der sich für den Einsatz in physikalischen Domänen auszeichnet. In Kapitel 5 erfolgt die Beschreibung der Implementierung. Die Implementierung ist die Grundlage für die empirische Evaluation der vorgestellten Methode in Kapitel6, in der auch näher auf die anderen Schritte des KDD-Prozesses eingegangen wird. Abschließend erfolgt in Kapitel 7 eine Diskussion und Zusammenfassung der vorgestellten Ergebnisse im Bezug zu der entwickelten Methode, sowie ein Ausblick über weitere Möglichkeiten zur Forschung gegeben. 12

15 Kapitel 2 Anwendung und Problemstellung Nebelschwaden hängen über den Wiesen, zerrissen von einem leichten Wind und ein Apfel fällt von einem, auf einem leichten Hügel stehendem, Baum. Wie, fragt man sich, lässt sich die Geschwindigkeit des Apfels anhand der Umgebungsvariablen bestimmen, mit der er den Boden erreicht und wie lässt sich dieses Wissen am besten Aufschreiben, um es anderen zu vermitteln? Intuitiv ist für den menschlichen Beobachter offensichtlich, das die Geschwindigkeit in erster Linie durch die Fallhöhe, also die Strecke die der Apfel fällt, bestimmt ist. Dabei gelingt es dem Menschen ohne weiteres von vorerst unwichtigen Details (den Nebelschwaden und dem Hügel) zu abstrahieren und sich auf das Wesentliche, die Fallhöhe, zu konzentrieren. Auch leichtes Rauschen, also leichte Variationen in der Fallgeschwindigkeit bei unveränderter Umgebung, werden akzeptiert, da dies als Konsequenz des leichten Windes interpretiert werden kann. Und letztendlich wird implizit angenommen, das sich das beobachtete Verhalten stetig verhält, d.h. das kleine Veränderungen in der Umgebung auch nur kleine Auswirkungen auf das Ergebnis haben. Ohne weiteres darüber nach zu denken wird sicherlich eine Formel als Repräsentation gewählt, um den Zusammenhang zwischen Fallhöhe und Geschwindigkeit zu beschreiben. Im Gegensatz dazu wäre es ungünstig, die Beobachtungen durch Wahrscheinlichkeiten zu beschreiben. Mit diesem Vorgehen, skizziert in Abbildung 2.1, wird aus Beobachtungen Wissen gewonnen. Auch in der Informatik findet sich dieses Vorgehen als Knowledge Discovery in Databases (KDD) 1 wieder, es bezeichnet die Wissensextraktion aus (umfangreichen) Datenmengen. Der KDD-Prozess (vgl. Abbildung 2.2) gibt einen 1 Terminus technicus. Engl. Erkenntnis- oder Wissensgewinnung aus Datenbanken. 13

16 Beobachten Analyse Phänomen Daten Wissen Abbildung 2.1: Fluss bei der Erzeugung von Daten und Wissen [1]. Ablauf vor, um strukturiert Wissen zu extrahieren. Er beginnt mit der Selektion und Vorverarbeitung der Rohdaten, lässt dann in einem Data-Mining Schritt Muster in den Daten erkennen, die abschließend im Erfolgsfall durch eine Interpretation zu Wissen führen. Bei dem eingangs beschriebenen Problem des Falls eines Apfels, bietet es sich an, dieses mit einem KDD-Prozess zu lösen, der eine Data-Mining Methode enthält, die das Wissen als Formeln repräsentiert. Selektion Vorverarbeitung Transformation Data-Mining Interpretation Rohdaten Relevante Daten Daten Transformiert Muster Wissen Abbildung 2.2: Die Schritte des KDD-Prozesses [4]. Im Bereich des Nitrocarburierens, einem Teilbereich der Werkstofftechnik auf den später näher eingegangen wird, existiert eine ähnliche Problematik: Sensoren beobachten die Umgebungsvariablen eines thermochemischen Prozesses, anhand derer eine Beschreibung des Prozesses in Form einer Formel aus algebraischen und transzendenten Funktionen bestimmt werden soll. Denn trotz kontinuierlicher Bemühungen seitens der Forschung, ist es bisher weder auf empirischem noch auf analytischem Wege gelungen eine Formel zu ermitteln, die die Erwartungen an Vorhersagegenauigkeit und Kompaktheit erfüllt [8]. Zur Unterstützung dieser Forschung im Bereich des Nitrocarburierens soll daher ein KDD-Prozess entwickelt werden, der auf empirischem Wege zu einer Formeln führt, um Experten zu neuen Ideen oder Erkenntnissen über die zu Grunde liegenden physikalischen Prozesse zu verhelfen und der Industrie ein Modell bereitstellt, um die Zahl aufwändiger Testläufe zu reduzieren. Dazu muss vor allem eine adäquate Data-Mining Methode bestimmt werden, die den speziellen Anforderungen gerecht wird. Der zu entwickelnde Data-Mining Ansatz ist jedoch nicht nur auf das Nitrocarburieren beschränkt, sonder betrifft viel mehr die Problemklasse aller stetigen 14

17 Prozesse für die ähnliche Umgebungsbedingungen gelten, auf die im letzten Abschnitt dieses Kapitel näher eingegangen wird. In dem folgenden Abschnitt wird eine Einführung in die Anwendungsdomäne Nitrocarburieren gegeben. In Abschnitt 2.2 folgt die Einordnung der Problematik in den Kontext der Informatik. Anschließend, in Abschnitt 2.3, werden allgemeine und anwendungsspezifische Probleme und Eigenschaften betrachtet. Das Kapitel schließt mit Abschnitt 2.5, in dem die Anforderungen und Zielen dieser Arbeit definiert werden. 2.1 Die Anwendungsdomäne Nitrocarburieren In diesem Abschnitt wird in die Domäne eingeführt und die konkrete Problemstellung herausgearbeitet. Grundlagen des Nitrocarburierens und die Inhalte dieses Kapitels können den Quellen [9, 8] entnommen werden. Im Rahmen des Nitrocarburierens könnten Vorhersagemodelle zur Approximation von Behandlungsergebnissen eingesetzt werden, ohne das dazu kostenund zeitaufwändige Behandlungen durchgeführt werden müssen [8, S. 3]. Die Erwartungshaltung an ein Vorhersagemodell ist, dass es anhand von Behandlungsparametern, ein Behandlungsergebnis vorhersagt. Für einige Behandlungsergebnisse existieren solche Modelle, so kann z.b. die Nitrierhärtetiefe (NHT) anhand des sogenannten t-gesetzes 2 NHT k NX D α N t (2.1) angenähert werden. k NX und DN α sind Werkstoff und Temperatur abhängige Konstanten, so das die NHT allein durch die Zeit t bestimmt ist [8]. Für andere Zielgrößen, wie z.b. die Verbindungsschichtdicke (VS) oder den Porensaum (PS), existieren solche Modell jedoch nicht [8]. Im Rahmen dieser Arbeit soll ein Modell zur Approximation der Verbindungsschicht bestimmt werden. Die Verbindungsschicht erhielt aufgrund der Priorität in der Anwendungsdomäne den Vorzug vor dem Porensaum. Doch warum sind NHT, VS und PS solch interessanten Zielgrößen? Dazu muss gesehen werden, das die Zielgrößen Charakterisierungsmerkmale der Randschichten von Stählen sind, die die Gebrauchseigenschaften der daraus gefertigten Werkstücke, wie z.b. Zahnräder und Wellen, bestimmen. Die Gebrauchseigenschaften wirken sich z.b. auf die Lebensdauer bzw. den Verschleiß eines Werkstücks aus und bestimmen so auch indirekt die Qualität des Werkstücks mit [9]. Die gezielte Einstellung dieser Randschichten fällt in den Bereich der Wärmebehandlung, die im kommenden Abschnitt behandelt wird, um vor allem einen 2 Auch: Quadratwurzel-Zeitgesetz 15

18 Abbildung 2.3: Ein Ofen der Firma Nabertherm zum Gasnitrocarburieren. (Quelle: IWT) Überblick über die den Prozess - und somit die Entstehung der VS und PS - beeinflussenden Parameter zu erhalten Wärmebehandlung Durch Wärmebehandlungen entsprechend der DIN EN [10] ist es möglich, den Werkstoffzustand in Kombination mit chemischen Zusätzen, in seinen Gebrauchseigenschaften, zu verändern [10]. Das Nitrocarburieren ist eine Wärmebehandlung bei der Kohlenstoff und Stickstoff als chemischer Zusatz zum Verändern der Randschicht verwendet wird. Das Erhitzen der Werkstücke erfolgt entweder in der Atmosphäre eines Ofens (Gasnitrocarburieren, siehe Abbildung 2.3), einem Salzbad (Salzbadnitrocarburieren) oder einem Plasma (Plasmanitrocarburieren). Die Art der Zugabe des Kohlenstoffs erfolgt abhängig von dem Verfahren. So wird beim Gasnitrocarburieren der Kohlenstoff in Form eines gasförmigen Kohlenstoffspenders in die Atmosphäre des Ofens eingeleitet. Durch die Zugabe der Kohlenstoff- und Stickstoffspender kommt es an der Werkstückoberfläche zu einer chemischen Reaktion. Durch den katalytischen Zerfall der Stickstoff- und Kohlenstoffspender an der Werkstückoberfläche kommt es beim Einstellen von Temperaturen zwischen 550 C und 590 C zu einem Diffusionsprozess an der Oberfläche des Werkstücks. Die Stickstoffatome ebenso wie die Kohlenstoffatome aus der Atmosphäre diffundieren in die Randschicht des Werkstücks ein. Von der Oberfläche beginnt aufgrund der hohen Stickstoffkonzentration die sogenannte Verbindungsschicht zu wachsen. Diese bis zu 50 Mikrometer dicke Verbindungsschicht führt un- 16

19 ter anderem zu einem geringeren Verschleiß 3 und stellt eine wichtige Zielgröße beim Nitrocarburieren dar [8]. In Abbildung 2.4 ist die Verbindungsschicht an der Oberfläche als weiße Schicht zu erkennen. Abbildung 2.4: Lichtmikroskopische Aufnahme der Verbindungsschicht (weiß) eines nitrierten 42CrMo4 (grau-meliert) in einer Einbettmasse (schwarz). Geätzt mit Nital. Vergrößerung 500:1. (Quelle: IWT) Die NHT ist in der Abbildung nicht zu erkennen, hat jedoch Einfluss auf z.b. die Dauerschwingfestigkeit eines Werkstücks [9]. Zur Approximation der NHT wird das t-gesetz herangezogen, welches sich aus dem Fick schen Diffusionsgesetzen ableitet (vgl. [11, 8]). Die Gesetzmäßigkeit besagt, dass die Diffusionstiefe in einem quadratischen Verhältnis zur Dauer des Behandlungsprozesses steht (vgl. Gleichung 2.1). Der Porensaum ist eine weiteres Charaktermerkmal der Randschicht und für die Gebrauchseigenschaften relevant. Er wird in dieser Arbeit jedoch nicht weiter behandelt. 2.2 Vorhersagemodelle In der Künstlichen Intelligenz fallen Vorhersagemodelle in den Bereich des maschinellen Lernens. Nach einem Training, d.h. dem Erlernen eines Modells durch ein Lernverfahren, sind die Modelle in der Lage Aussagen über unbekannte Beobachtunge zu treffen. Schrift- und Spracherkennung, Spam-Filter oder Aktionsvorhersage im RoboCup[12] sind nur drei praktische Anwendungsfälle von Vorhersagemodellen, in denen Schriftzeichen, Audio-Signale und Spam-Mails durch Beispiele erlernt worden sind. Das Erlernen von Vorhersagemodellen erfordert Beobachtungen, die von ihrer Art her jedoch unterschiedlich sein können. Da nicht jede Lernmethoden für jede 3 Bezeichnet den Verschleiß von Material, der infolge von Reibung auftritt. Umgangssprachlich auch Fressen genannt, da sich ein Werkstück in ein anderes hinein frisst. 17

20 Art von Beobachtung geeignet ist, klassifizieren Russel und Norvig [13] Lernmethoden nach einer von drei Arten von Beobachtung, für die sie verwendet werden können. [13, 14, 15] Überwachtes Lernen (engl. supervised learning) setzt voraus, das Beobachtungen eine Menge von Aktionen, sowie dessen Folgen umfassen. Während des Trainings wird dann versucht auf Basis der Beobachtungen eine abstrakte Abbildung von Aktionen auf dessen Folgen zu erzeugen. Die Abbildung kann anschließend zur Vorhersage von Folgen aufgrund von beobachteten Aktionen verwendet werden. Die oben genannten Beispiele Schrifterkennung, Spracherkennung und Spam-Filter können auch durch überwachte Lernverfahren umgesetzt werden. Bei unüberwachten Lernverfahren (engl. unsupervised learning) wird versucht, in den Beobachtungen Muster zu erkennen. Die Beobachtungen umfassen hier nur Aktionen und nicht dessen Folgen. Beispielsweise können Beobachtungen der Helligkeit, zu den Konzepten von Hell und Dunkel führen, d.h. zwei Klassen gefunden werden, die jeweils Beobachtungen mit geringer und hoher Helligkeit enthalten. Darüber hinaus gibt es die bestärkenden Lernverfahren (engl. reinforcement learning), die allein durch Rückmeldungen lernen. Im Gegensatz zu den überwachten Lernverfahren, sind hier die Daten nicht vollständig bekannt, sondern werden iterativ durch Feedback ergänzt. Man kann sich z.b. einen Roboter vorstellen, der einen Berg besteigt und verhindern muss, auf Geröll aus zu rutschen und sich so den Berg langsam hinauf tastet. Er kennt nicht den vollständigen Weg, sondern muss nach jedem Schritt sehen, ob er droht ab zu rutschen oder weiter schreiten kann. Generell repräsentieren Vorhersagemodelle aus den Beobachtungen extrahiertes Wissen. In so fern liegt es nahe, maschinelle Lernverfahren in Knowledge Discovery Prozessen anzuwenden, um Wissen aus den Datenbeständen zu extrahieren. 2.3 Probleme der Vorhersagemodelle Maschinelle Lernverfahren weisen - unabhängig von der Anwendungsdomäne und Problemstellung - auch Schwächen auf und müssen sich unterschiedlichen Standardproblemen stellen. Diese Standard- und anwendungsspezifischen Probleme werden in den anschließenden Abschnitten angesprochen und es wird diskutiert, wie diesen zu begegnen ist Abstraktion Wiederholt ein Modell die Daten anhand derer es durch ein maschinelles Lernverfahren erlernt wurde, dann wird dieses als over-fitting 4 bezeichnet (vgl. )Ab- 4 engl.: Überanpassung, Überspezialisierung 18

21 bildung 2.5a). Jeder Datenpunkt kann durch das Modell korrekt wiedergegeben werden, doch bildet das Modell das zugrunde liegende Prinzip, der Daten nicht ab. Das Gegenteil eines überangepassten Modells ist ein zu abstraktes Modell f(x) f(x) x (a) Überspezialisiertes Modell x (b) Zu abstraktes Modell f(x) x (c) Abstrahierendes Modell Abbildung 2.5: Darstellung unterschiedlicher Abstraktionsgrade. (vgl. Abbildung 2.5b), d.h. es vereinfacht die Daten derart, dass zu viele Informationen verloren gehen. Im Idealfall soll ein maschinelles Lernverfahren, wie in Abbildung 2.5c, von den Daten abstrahieren und zugleich das zugrunde liegende Prinzip widerspiegeln, um damit auch für unbekannte Daten präzise Vorhersagen treffen zu können [13]. Allgemein kann diesem Problem jedoch z.b. durch Kreuzvalidierung 5 oder bootstrapping begegnet, d.h. minimiert, werden. Beide Sampling-Verfahren teilen den Datensatz der Lerndaten in zwei Datensätze auf: Den Trainings- und den Test-Datensatz. Der Trainings-Datensatzes dient zum Erlernen des Modells und wird anschließend mit dem Test-Datensatz validiert. Dadurch kann überprüft werden, inwieweit das Modell unbekannte Daten (die des Test-Datensatzes) vorhersagt und dadurch der Grad des overfitting bestimmt werden kann. Die Sampling-Methoden unterscheiden sich untereinander darin, wie die Trainings- und Test-Datensatz erstellt werden. So findet die cross-validation häufig Anwendung und die Bootstrap-Methode eignet sich besonders für kleine Datensätze [18]. 5 engl. cross-validation 19

22 2.3.2 Granularität Der Detailgrad von Daten wird durch dessen Granularität bestimmt. Liegen Daten sehr detailliert vor, sind sie feingranular bzw. von einer geringen Granularität. Werden Daten zusammengefasst, nimmt die Granularität ab und sie sind grobgranular bzw. von einer hohen Granularität. Beispielsweise ist eine Adresse feingranular, wenn jedes Feld (Straße, Hausnummer, Postleitzahl und Ort) gesondert erfasst ist. Liegt die Adresse nur in einem Feld vereint vor, wird dies als grobgranular bezeichnet. Mit der Granularität von Daten kann auch die Anzahl der Werte die ein Parameter annehmen kann verbunden sein. So ist beispielsweise das Messen der Temperatur in zehntel Grad Celsius, feingranularer, als wenn nur zwischen den Werten kalt ünd warm unterschieden wird. Die Granularität der zur Verfügung stehenden Daten spielt eine wichtige Rolle, da diese mit entscheidet, welche Beziehungen zwischen Parameter und Ergebnis aufgedeckt werden können. Beim Nitrocarburieren erscheint dieses Problem vor allem im Zusammenhang mit der Kohlungskennzahl, Nitrierkennzahl und den latenten Parametern der Anlage. Alle drei Parameter sind grobgranular, da sie zugrunde liegende Daten abstrahieren. Bei der Erzeugung des Vorhersagemodells kann so zwar ein Modell in Abhängigkeit zur Nitrierkennzahl (oder einem der beiden anderen Parameter) gefunden werden, es kann aber keine direkte Abhängigkeit zu den Partialdruckverhältnissen gefunden werden. Lägen andererseits sehr feingranulare Daten zu z.b. der Anlage vor, wie Baujahr, Anzahl der Schrauben, Anzahl der Bauteile, etc., kann dies zu einem höheren Rechenaufwand, over-fitting oder zu einer Unlösbarkeit des Problems führen. Im Rahmen eines KDD-Prozesses kann die gezielte Aggregation von Daten auch dazu genutzt werden Wissen in den Prozess einzubringen. Liegt zum Beispiel Vorwissen darüber vor, dass die Verbindungsschicht wahrscheinlich in einem einfachen Zusammenhang zu dem Druck von Wasserstoff steht, dann ist es sinnvoll dieses Wissen durch die Angabe des Drucks in dem Selektions-Schritt des KDD-Prozesses mit anzugeben bzw. auszuwählen. Ebenso können Parameter im Selektions-Schritt verworfen werden, um sie beim Data-Mining nicht berücksichtigen zu lassen Stichprobenumfang und -verteilung Der Stichprobenumfang ist für die Genauigkeit eines Vorhersagemodells wesentlich mitverantwortlich. Die Zusammenstellung einer umfangreichen und repräsentativen Stichprobe ist jedoch stark von der Anwendungsdomäne abhängig und kann nicht immer beliebig gestaltet werden. In virtuellen oder simulierten Umgebungen ist der Aufwand geringer, als bei komplexen zu initiierenden Prozessen in realen Umgebungen. In der vorliegenden Anwendungsdomäne ist der Aufwand zur Erhebung einer 20

23 umfangreichen und repräsentativen Stichprobe sehr hoch, da jeder Datensatz mit einer mehrstündigen Wärmebehandlung und mit Kosten für die Beheizung und Begasung eines Ofens und der Werkstoffanalytik verbunden ist. Neben dem Umfang hat auch die Stichprobenverteilung Einfluss auf das Vorhersagemodell. p 2 p 2 p 1 (a) Ungünstig p 1 (b) Günstig Abbildung 2.6: Darstellung unterschiedlicher Stichprobenverteilung im Parameterraum. Abbildung 2.6a zeigt eine ungünstige Stichprobenverteilung im Parameterraum, dem Raum der sich durch die Ober- und Untergrenzen der betrachteten Parameter ergibt. Das bedeutet, dass die bei den Stichproben verwendeten Parameter zu ähnlich sind und so den Parameterraum nicht hinreichend abdecken. Dies kann dazu führen, dass die Vorhersagen über Parameter, die in den nicht abgedeckten Räumen liegen, ungenau sind. Abbildung 2.6b zeigt eine günstigere Verteilung um den Parameterraum gleichmäßiger abzudecken und so bessere Vorhersagen für beliebige Parameter zu erhalten. Beim Nitrocarburieren wird dieses Problem durch systematisch durchgeführte Behandlungen umgangen. Dazu wurden im Vorfeld dieser Arbeit bereits systematische Untersuchungen von Werkstoffen durchgeführt, um den Parameterraum möglichst repräsentativ abzudecken. Prinzipiell wird die in der Anwendungsdomäne verwendete Datenbasis durch Experten vor dem Data-Mining aufbereitet. Das bedeutet, dass fehlende Werte oder nicht abgedeckte Bereiche während der Vorverarbeitung der Daten im KDD- Prozess durch Experten vervollständigt bzw. ergänzt werden Rauschen Bei Problemstellungen in der realen Welt ist es nicht immer möglich Daten ohne Messfehler zu ermitteln, da die Erfassung der Messwerte über Sensoren erfolgt, die durch eine unsachgemäße Verwendung, falsche Montage oder fehlerhafte Verarbeitung Messfehler enthalten können. Zusätzlich können sie durch störende 21

24 Umgebungseinflüsse verursacht werden. Fehlerhafte Messungen und andere Fehler in Datensätzen werden unter dem Begriff Rauschen zusammengefasst. Da ein Modell nur so gut sein kann wie die zugrunde liegende Datenbasis, unterstützt weniger Rauschen die Bildung eines guten Modells. In artifiziellen Umgebungen, wie zum Beispiel virtuellen Realitäten oder Simulationen, ist das Erfassen von genauen und fehlerfreien Daten häufig einfacher, da diese direkt in einer Software erfasst werden können. Doch auch hier kann es in nicht deterministischen Anwendungen zu Rauschen kommen, wenn für einen Parametersatz unterschiedliche Ergebnisse entstehen oder nicht alle relevanten Parameter bekannt sind [13, S. 662ff]. Eine Reduktion des Rauschens kann auch hier während des Vorverarbeitungsschritts des KDD-Prozesses erfolgen. Durch die manuelle Sichtung der Daten durch Experten, können Ausreißer erkannt und korrigiert werden. Doch diese manuelle Vorverarbeitung stößt bei größeren oder multidimensionalen Datensätzen an ihre Grenzen. Nachdem die anwendungsspezifischen Probleme der maschinellen Lernverfahren vorgestellt worden sind, folgen nun die speziellen Anforderungen der Anwendungsdomäne. Diese leiten sich aus der Anwendung ab, definieren aber auch implizit die übergeordnete Problemklasse. 2.4 Domänenspezifische Anforderungen Die Anwendungsdomäne kennzeichnet sich im Wesentlichen durch die zwei Aspekte (a) das der beobachtete Prozess stetig ist und (b) das Modell repräsentativ, erklärungsadäquat und modifizierbar sein muss aus. Stetige Prozesse besitzen die Eigenschaft, das eine kleine Änderung der Parameter, auch nur zu einer kleinen Veränderung der Ergebnisse führt. Formal definiert sich die lokale Stetigkeit in einem Punkt wie folgt: Definition 1 (Stetigkeit). Eine Funktion f heißt dann stetig, wenn für jede Stelle x 0 ihres Definitionsbereichs D... der Grenzwert für lim x x0 f(x) existiert und mit dem Funktionswert an der Stelle x 0 übereinstimmt: lim f(x) = f(x 0 ) x x 0 22

25 Das bedeutet, das wenn der Abstand zwischen den Punkten x und x 0 gegen 0 läuft, x und x 0 den gleichen Funktionswert besitzen. Die Stetigkeit ist eine zentrale Eigenschaft der Prozesse der klassischen Physik und gilt auch für das Nitrocarburieren. Eine von den Daten und dem Prozess unabhängige Anforderung ist, das Modell in einer Form darzustellen die es den Experten der Anwendungsdomäne ermöglicht, das Modell zu interpretieren und modifizieren. Ähnlich ist die Anforderung, dass das Modell erklärungsadäquat ist, d.h. die Vorhersage erklärt. 2.5 Anforderung und Zielsetzung Aus den, in den vorangegangen Abschnitten, beschriebenen Eigenschaften der Anwendungsdomäne werden im Folgenden Anforderungen an die Methode und eine Zielsetzung abgeleitet. Im Rahmen dieser Arbeit soll ein Verfahren zur Erzeugung erklärender Vorhersagemodelle für die Anwendungsdomäne Nitrocarburieren entwickelt werden. Das Verfahren kann auf Probleme der gleichen Problemklasse übertragen werden, d.h. aller stetigen Prozesse die vollständig beobachtet werden können und für die ebenfalls erklärende und modifizierbare Modelle unterschiedlicher Vorhersagegenauigkeit und Kompaktheit erzeugt werden müssen. So ist z.b. der Porensaum eine weitere Instanz der übergeordneten Problemklasse. Betreffend der Vorhersagegenauigkeit muss die Methode Modelle erzeugen, die mindestens innerhalb der durch die DIN 218 [19] vorgegeben Toleranzen liegen. Um zu gewährleisten, dass Experten die Möglichkeit haben das Modell zu interpretieren, d.h. Zusammenhänge zwischen den Parametern zu erkennen, muss dieses in Form einer Formel aus algebraischen und transzendenten Funktionen, die die physikalischen Sachverhalte präzise beschreibt, vorliegen 6. Durch die Einschränkung auf transzendente und algebraische Funktionen, sollen nur stetige Formeln zugelassen werden. Die Kompaktheit der Form muss dabei mit dem Quadratzwurzel-Zeit-Gesetz für die Nitrierhärtetiefe vergleichbar sein. Eine weitere Anforderung an das Modell ist, die physikalische Stetigkeit des Prozesses abzubilden. Dies ist für die Praxis relevant, da ein Modell mit geringerem Risiko eingesetzt werden kann, wenn zu erkennen ist, dass keine Singularitäten vorliegen. Die Stetigkeit ergibt sich implizit durch die Repräsentation als analytische Formel, für die gilt, dass sie stetig sind. Im Rahmen der maschinellen Lernverfahren qualifizieren sich dadurch nur Verfahren die zur Regression, d.h. zum Erlernen von Abbildungen der Art R n R m, herangezogen werden können. 6 Um die Lesbarkeit zu erleichtern, wird im Folgenden auf die explizite Eingrenzung der analytischen Formeln auf die Kombination aus algebraischen und transzendenten Funktionen verzichtet, dennoch gilt diese Einschränkung weiterhin für alle weiteren Nennungen analytischer Formeln. 23

26 geringer p k höher Abbildung 2.7: Geforderte Verteilung der Individuen (Exemplarisch). Das bedeutet, das Verfahren zur alleinigen Klassifikation, also Abbildungen der Art R n {l 0,..., l k } m, ausscheiden [18]. Um den Experten Einfluss auf die Erzeugung der Vorhersagemodelle zu geben, muss es außerdem möglich sein, Vorwissen über Beziehungen zwischen Parametern mit einfließen zu lassen. Darüber hinaus soll die Methode dem Experten unterschiedliche Modelle (Kompromisslösungen) anbieten die sich, wie in Abbildung 2.5 exemplarisch gezeigt, zwischen den Extrema der zwei Kriterien Genauigkeit p und Kompaktheit k der Repräsentation liegen, um unterschiedliche Einsatzzwecke für die Modelle zu eröffnen. Dadurch soll den unterschiedlichen Anforderungen der Industrie, die an Modelle mit hoher Vorhersagegenauigkeit, und der Forschung, die vornehmlich an erklärenden Modelle interessiert ist, Rechnung getragen werden. Das Ziel ist es bezüglich der Kriterien Vorhersagegenauigkeit und Kompaktheit unterschiedliche empirische Formeln zu finden, die Beziehungen zwischen den Parametern aufzeigen und gleichzeitig eine gute Approximation des Prozesses sind. Eine weitere Anforderung ist es ein Modell anhand eine Datensatzes zu bestimmen, dass in Vorhersagegenauigkeit und Kompaktheit bei der Approximation der Verbindungsschicht, mit dem Quadratwurzel-Zeit-Gesetz (siehe Gleichung 2.1) vergleichbar ist. 24

27 Kapitel 3 Methoden der Regression Im vorherigen Kapitel sind die Anforderungen an die zu entwickelnde Methode und die Repräsentation der zu erzeugenden Modelle spezifiziert worden, dem folgend werden in diesem Kapitel mögliche maschinelle Lernverfahren für überwachtes Lernen vorgestellt und bewertet. Da es nur wenige Methoden gibt, die die geforderten Formeln als Repräsentation verwenden (eine Kernanforderung), wurden auch Methoden betrachtet, für die Ansätze existieren, die die interne Repräsentation in gültige Formeln überführen können. Voraussetzung für die in Betracht gezogenen Methoden war, dass es sich um etablierte Methoden handelt und dass bei diesen eine gute Vorhersagegenauigkeit zu erwarten ist. Die Auswahl der Methoden erfolgte auch unter dem Gesichtspunkt, dass möglichst unterschiedliche Repräsentationen betrachtet werden. Durch dieses Kriterium soll ein besserer Überblick über die Möglichkeiten entstehen, aus unterschiedlichen Repräsentationen Formeln zu extrahieren. Einige Methoden zur Erzeugung von Vorhersagemodellen werden folglich nicht aufgeführt, da die von ihnen verwendeten Repräsentationen zu weit von der Problemstellung entfernt scheinen oder die Methoden eine bereits vorgestellte Repräsentationen verwenden 1. Daher fehlen z.b. Methoden die probabilistische Modelle verwenden oder auch Variationen des Expectation-Maximization-Algorithmus (EM-Algorithmus), da dieser keine neue Repräsentation einführt, sondern bereits vorgestellte verwendet [13]. In den Abschnitten 3.2 bis 3.5 folgen die ausgewählten Methoden, die ihre Ursprünge in unterschiedlichen Disziplinen, wie z.b. in der Psychologie oder Statistik haben, aber dennoch dem maschinellen Lernen zugeordnet werden. Nach der Betrachtung der Methoden schließt das Kapitel mit Abschnitt 3.6, in welchem eine Diskussion und Bewertung der Methoden enthält. Vor den eigentlichen Methoden folgt im anschließenden Abschnitt eine Definition gebräuchlicher Begriffe 1 Sollte sich jedoch zeigen, dass sich eine Repräsentation, die von mehreren Methoden erzeugt werden kann, besonders gut eignet, so werden die betroffenen Methoden untereinander verglichen. 25

28 des maschinellen Lernens, um im weiteren Verlauf eine einheitliche Terminologie zu besitzen. 3.1 Terminologie Das überwachte Lernen ist, wie zu Beginn von Kapitel 2 beschrieben, die Suche nach einer Abbildung von Aktionen auf deren Ergebnis. Genauer bedeutet dies, das davon ausgegangen wird, das eine Funktion f : A B existiert, die unsere Beobachtungen erklärt. Die Aufgabe des Lernverfahrens ist es, diese Funktion f zu finden. Die während dieser Suche betrachteten Kandidaten, werden als Hypothese h : A B H zu der Funktion bezeichnet. Liegt f nicht in H kann die Funktion nicht gefunden, sonder nur angenähert werden. Als Parameter für die beiden Funktionen h und f wird eine Beobachtung, die sich aus n beobachteten Merkmalen (x 1,..., x n ) zusammensetzt, verwendet und als Eingabevektor I k für die beiden Funktionen bezeichnet. I k = (x 1,..., x n ) (3.1) Als Trainingssatz Θ bezeichnen wir die Menge aller Beobachtungen I. Bei vollständigen Beobachtungen ist uns zu jedem Eingabevektor I Θ, auch der Funktionswert, d.h. der Wert von f(i), bekannt. Je geringer die Abweichung der Funktionswerte der Hypothese h von denen der Funktion f für alle I Θ ist, desto besser ist h eine Approximation von f. Anhand der Hypothese h ist es dann im Rahmen der Vorhersage für einen beliebigen Eingabevektor I (p) möglich, den Ausgabevektor h(i (p) ) = O (p) zu berechnen. 26

29 3.2 Entscheidungsbäume Decision Trees (dt. Entscheidungsbäume bzw. Entscheidungsbaumlernen) ist ein klassisches (überwachtes) Lernverfahren, mit denen Entscheidungsbäume zur Klassifikation und Regression erlernt werden können. Entscheidungsbäume können durch Bäume dargestellt werden. Bäume sind ungerichtete Graphen, die sich aus Knoten und Kanten zusammensetzen. Der Ursprung eines jeden Baums ist seine Wurzel, die durch einen Knoten dargestellt wird. Jeder Knoten ist durch Kanten mit weiteren Knoten verbunden und die Knoten, die keine ausgehenden Kanten besitzen, werden Blätter genannt. Formal definiert sich ein Baum wie folgt (vgl. [22]): Definition 2. Ein ungerichteter Graph G mit m Kanten und n Knoten ist genau dann ein Baum, wenn eine der folgenden drei Bedingungen erfüllt ist: 1. G ist zusammenhängend und m = n 1 2. G enthält keinen geschlossenen Weg und m = n 1 3. In G gibt es zwischen jedem Paar von Knoten genau einen Weg. Entscheidungsbäume sind Binärbäume, d.h. Bäume, bei dem jeder Knoten genau zwei Kanten besitzt Repräsentation Die inneren Knoten enthalten einen Test auf ein Merkmal (wie beispielsweise Alter < 18?), der einen booleschen Wert zurück gibt. Die zwei ausgehenden Kanten entsprechen den booleschen Werten Wahr und Falsch. Die Knoten, die keine ausgehenden Kanten besitzen, werden als Blätter bezeichnet und enthalten Entscheidungen (z.b. der Form Nicht Fahrtüchtig!). Eine Entscheidung kann herbeigeführt werden, indem man sukzessive alle Tests von der Wurzel bis zum Erreichen eines Blatts beantwortet. Von einem Test, d.h. Knoten, zum nächsten gelangt man über die Kante, die das Ergebnis des Tests darstellt. Der Entscheidungsbaum in Abbildung 3.1 realisiert beispielhaft das logische ODER, dessen Wahrheitswerte in Tabelle 3.1 angegeben sind. Die Variablen x i stellen dabei die Eingaben/Tests und d die Ausgabe dar. Die Tests in den Knoten beziehen sich auf die Merkmale x i, also auf die Elemente des Eingabevektors I, die Entscheidung eines Blattes entspricht dem Ausgabevektor O (p). Sowohl Merkmale als auch Ausgabevektor können diskret oder kontinuierliche vorliegen, dementsprechend wird bei diskreten Ausgabevektoren von Klassifikation und Entscheidungsbäumen und bei kontinuierlichen Ausgabevektoren von Regression und Regressionsbäumen gesprochen 2 2 In der Literatur wird zum Teile bereits von Regressionsbäumen gesprochen, wenn der Ein- 27

30 x 1 x 2 d true true true true false true false true true false false false Tabelle 3.1: Wahrheitstabelle für das logische ODER. x 1? true x 2? true false Abbildung 3.1: Ein Entscheidungsbaum für das logische ODER. Die linke Kante eines Knotens (Oval) wird bei einem positiven Ergebnis des Tests im Knoten gewählt, die rechte Kante im negativen Fall Lernen Entscheidungs- und Regressionsbäume können durch Methoden wie z.b. ID3 [23], C4.5 (eine Weiterentwicklung von ID3, [24]) oder auch CART (Classification And Regression Trees, [25]) automatisch erzeugt werden. Die drei genannten Algorithmen arbeiten ähnlich, so werden die Knoten (Ausdrücke), die den größten Informationsgehalt bieten und zu einer richtigen Klassifikation führen, nahe der Wurzel des Baumes erzeugt. Der Test eines Knotens ist nicht im Vornherein angegeben, sondern wird induktiv bestimmt. Dazu ermitteln die Algorithmen den Test, der den höchsten Informationsgewinn bezüglich einer korrekten Klassifikation liefert. Das Maß des Informationsgewinns leitet sich aus dem Informationsgehalt ab und wurde von Shannon und Weaver vorgeschlagen [26]. Der Informationsgewinn ergibt sich aus der Differenz zwischen dem Informationsgehalt vor und nach der Anwendung einer Regel [13], wobei sich der Informationsgehalt H wie folgt berechnet: H(P (v 1 ),..., P (v n )) = n P (v i )log 2 P (v i ) (3.2) i=1 P (v 1 ),..., P (v n ) beschreiben die Wahrscheinlichkeiten für die Werte v 1,..., v n, die das untersuchte Merkmal A annehmen kann. Das Merkmal A teilt den Traigabevektor kontinuierliche Werte enthält, die hier gewählte Verwendung entspricht jedoch der in [13]. 28

31 ningssatz in die Teilmengen E 1,..., E n entsprechend der n unterschiedlichen Werte die A annehmen kann. Beispielsweise kann A in einem Binärbaum zwei Werte annehmen: TRUE und FALSE. Dadurch ergibt sich z.b. bei der binären Klassifikation 3 der Informationsgehalt des Trainigssatzes ohne A durch: Rest(A) = A i=1 p i + n i p + n H( p i, p i + n i n i p i + n i ) (3.3) Die Variablen p i und n i stehen in der obigen Gleichung für positive und negative Beispiele. Die Differenz zwischen dem Informationsgehalt und Informationsgewinn durch das Merkmal A ergibt sich dann wie folgt: p Gewinn(A) = H( p + n, n ) Rest(A) (3.4) p + n Die Ermittlung des Informationsgehalts bzw. -gewinns erfolgt nach jedem Knoten für jedes verbliebene Merkmal, daher liegen die Merkmale mit dem größten Informationsgehalt 4, relativ zur verbleibenden Merkmalsmenge, nahe der Wurzel des Baumes. Allgemein lässt sich die Erzeugung eine Entscheidungsbaums wie folgt algorithmisch beschreiben (vgl. [27]): 1. Trivialfälle abfangen 2. Für jedes Merkmal a im Trainigssatz (i) Bestimme den normalisierten Informationsgewinn für a 3. Sei a best das Merkmal mit dem höchsten normalisierten Informationsgewinn 4. Erstelle einen Knoten n der den Trainingssatz mit a best teilt 5. Wiederhole diese Schritte auf die Teilmengen, die sich durch die Teilung ergeben haben und verwende die erzeugten Knoten als Kinder für n Diese Schritte werden solange wiederholt, bis alle Teilmengen nur noch eine Klasse enthalten. Soll eine Abbildung von kontinuierlichen Merkmalen auf diskrete Werte erfolgen, werden Merkmale diskretisiert. Das bedeutet, dass die Merkmale so aufgeteilt werden, das ein möglichst großer Informationsgewinn erfolgt. 3 Bei der binären Klassifikation kann ein Merkmal nur zwei Werte wie z.b. Wahr und Falsch annehmen. 4 Besitzt ein Mermal A den größten Informationsgehalt, so besitzt ein Ausdruck der A evaluiert den größten Informationsgewinn. 29

32 if a 1 = true then return true; end if if a 1 = false a 2 = true then return true; end if if a 1 = false a 2 = false then return false; end if Abbildung 3.2: Aus einem Entscheidungsbaum extrahierte Regeln. Ähnlich verläuft die Erzeugung von Regressionsbäumen. Der Unterschied zu Entscheidungsbäumen liegt darin, dass sich in den Blättern anstatt nominaler Werte, lineare Regressionen befinden. Beispielsweise kann in einem Blatt die Größe eines Menschen durch eine lineare Regression unter der Zuhilfenahme des Alters berechnet werden. Die Regression wird durch den entsprechenden Lernalgorithmus ermittelt [28]. Um eine Überanpassung von Entscheidungsbäumen zu vermeiden, setzen Lernverfahren das sogenannte Pruning ein. Allgemein wird mit Pruning (engl. etwas stutzen) das Entfernen von Blättern und Knoten verbunden. Da dadurch die Knoten mit dem geringsten Informationsgehalt entfernt werden, führt dies schrittweise zu einer Generalisierung des Entscheidungsbaums Regelextraktion Ein trivialer Ansatz zur Extraktion von Regeln aus einem Entscheidungsbaum ist es, für jedes Blatt eine Regel aus den Knoten, die sich auf dem Pfad von der Wurzel bis zum Blatt befinden, zu erzeugen [13]. Mit dieser naiven Herangehensweise leiten sich folgende Regeln aus dem Entscheidungsbaum in Abbildung 3.1 ab: Die Regeln sind deklarativ und es geht klar hervor wie Entscheidungen gefunden werden. Ganz ähnlich sehen die aus einem Regressionsbaum extrahierten Regeln aus, nur das im Gegensatz zu den Regeln eines Entscheidungsbaums anstatt der diskreten Werte in den Blättern einfache lineare Modelle enthalten sind, deren Ergebnis den Wert des Blattes bestimmen [28]. In diesem einfachen Algorithmus wird die Anzahl der Regeln durch die Anzahl der Blätter des Entscheidungsbaumes bestimmt. Die Komplexität des Testfalls, also dem Wenn-Fall der Regel, hängt dabei vom Pfad und damit von der Tiefe des Entscheidungsbaums ab. 30

33 if x 1 = v 11 then return 1 + 2x 2 + x 3 else return 4 2x 2 x 3 end if Abbildung 3.3: Aus einem Regressionsbaum extrahierte Regeln Bewertung Die Repräsentation der Entscheidungs- und Regressionsbäume kommt den gestellten Anforderungen insofern entgegen, als das die Gründe für eine Entscheidung transparent sind. Darüber hinaus ist die zu erwartende Vorhersagegenauigkeit für die vorliegende Problemstellung ausreichend. Das genannte Pruning könnte eingesetzt werden, um einen kompakteren Baum zu Laste der Vorhersagegenauigkeit zu erzeugen. Nachteilig bei den aus einem Regressionsbaum abgeleiteten Regeln ist, das die Regeln sich nur auf bestimmte Abschnitte im Merkmalsraum, beziehen, d.h. im Gesamten keine stetige Funktion realisieren. Die Regeln versetzen den Anwender in die Lage bestehendes Wissen nachträglich einfließen zu lassen und Korrekturen durchführen zu können. Unter Umständen können Regeln im Vornherein definiert werden, sodass sie während des Lernens berücksichtigt werden. wenigstens bei den betrachteten Ansätzen ist dies jedoch nicht vorgesehen. 31

34 3.3 Künstliche neuronale Netze Die Entwicklung künstlicher neuronaler Netze (KNN) (engl. artificial neural networks (ANN)) entstand aus der Motivation heraus, das biologische Nervensystem durch ein System aus einer Vielzahl an stark verknüpften künstlichen Neuronen zu simulieren. Anhand dieses abstrakten Modells des Nervensystems zeigten Mc- Culloch und Pitts, dass auch logische und arithmetische Funktionen berechnet werden können [30]. Doch das von ihnen vorgestellte Modell wies Einschränkungen auf, z.b. konnten keine komplexen Zusammenhänge aufgrund fehlender Kantengewichtungen erlernt werden oder auch das logische XOR konnte durch ein einzelnes künstliches Neuron nicht dargestellt werden. Spätere Arbeiten hoben diese Einschränkungen auf und ließen das Konzept der künstlichen neuronalen Netze soweit heranreifen, dass sie bis heute weit verbreiteten Einsatz finden [31, 32] Repräsentation Abbildung 3.4 zeigt das schematische Modell eines einzelnen einfachen Perzeptrons, künstliches Neuron oder auch einfach Einheit. Eine Einheit erzeugt eine Ausgabe, d.h. sie feuert, wenn die Linearkombination (in i ) seiner Eingaben (a 0 bis a j ) einen Bias (W 0,i ) überschreiten. Die Weiterleitung der Aktivierung out i zwischen zwei Einheiten E i und E j erfolgt dabei über die gerichtete Verknüpfung von E i zu E j, die Gewichtung W i,j gibt an, ob die Aktivierung verstärkt oder geschwächt werden soll [13]. a 0 = 1 W 0,i in i g out i W j,i a j Abbildung 3.4: Ein Perzeptron nach Rosenblatt [2]. Treffen an der Einheit E i Aktivierungen ein, so wird zuerst die gewichtete Summe aller Aktivierungen gebildet [13]: in i = n W j,i a j (3.5) j=0 32

35 Die Aktivierung out i der Einheit E i ergibt sich dann durch die Anwendung der Aktivierungsfunktion g auf die zuvor berechnete Summe [13]: ( n ) out i = g(in i ) = g W j,i a j (3.6) Dem biologischen Vorbild nachempfunden, soll die Aktivierungsfunktion feuern (d.h. eine +1 ausgeben), wenn die richtigen Eingaben vorliegen und nicht feuern (d.h. eine 0 ausgeben), wenn die falschen Eingaben anliegen. Anwendung finden zum Beispiel die Schwellwertfunktion f Heaviside (u) (auch Heaviside-Funktion) oder auch die Sigmoidfunktion sig(u). { 0 : u < 0 f Heaviside (u) = 1 : u 0 1 sig(u) = 1 + e 1 Für beide Funktionen gilt, dass ihr Schwellwert bei 0 liegt, daher kann der zuvor erwähnte Bias W 0,i effektiv zur Justierung des Schwellwertes verwendet werden. Eine Einheit feuert erst dann, wenn die gewichtete Summe aller Eingaben (ohne a 0 ), den Wert des Bias überschreitet. Prinzipiell können beliebige Funktionen als Aktivierungsfunktion g verwendet werden, so lange sie wie oben beschrieben dem biologischen Vorbild nachempfunden sind. j=0 W 0 = 1.5 W 1 = 1 out i W 2 = 1 Abbildung 3.5: Realisierung eines logischen UND. Durch das Anpassen der Anzahl der Eingaben, der Gewichtungen und des Bias, können einfache logische Funktionen nachgebildet werden. In den Abbildungen 3.5 und 3.6 sind die logischen Funktionen UND und ODER durch Einheiten mit entsprechenden Werten dargestellt. Der Schwellwert W 0 der Einheit in Abbildung 3.5 wird nur erreicht, wenn an beiden Eingängen Aktivierungen anliegen. Das logische ODER der Einheit in Abbildung 3.5 wird demnach durch einen Schwellwert von 0.5 realisiert, da so bereits ein aktivierter Eingang ausreicht, um den Schwellwert zu erreichen. Das logische XOR kann nicht abgebildet werden, da es sich dabei um keine lineare Trennung handelt, die durch die Schwellwertfunktion realisiert wird. Um 33

36 W 0 = 0.5 W 1 = 1 out i W 2 = 1 Abbildung 3.6: Realisierung eines logischen ODER. nichtlineare Trennungen zu realisieren muss ein Netz aus künstlichen Neuronen erzeugt werden. Durch die Verknüpfung künstlicher Neuronen in Schichten entstehen künstliche neuronale Netze. Mehr-schichtigen künstliche neuronale Netze mit mindestens einer hidden-layer (engl. versteckten Ebene) sind in der Lage beliebige logische Funktionen, also auch das XOR, zu realisieren [13, S. 737ff]. Grundsätzlich wird zwischen sogenannten Netzen ohne Rückkopplung (feedforward network) und Netzen mit Rückkopplung (recurrent network) unterschieden. Die Ausgaben von Netzen ohne Rückkopplung sind allein von den aktuellen Eingaben abhängig. In Abbildung 3.7: Ein künstliches neuronales Netz ohne Rückkopplung. Netzen mit Rückkopplung besitzt das Netz einen Zustand, der abhängig von vorherigen Eingaben sein kann, dementsprechend kann die Ausgabe für die aktuellen Eingaben auch von Vorherigen abhängen. Bezogen auf die in Abschnitt 2.5 beschriebenen Anforderungen, sind in dieser Arbeit allein die Netze ohne Rückkopplung relevant Lernen Zum Lernen existieren für künstliche neuronale Netze eine Reihe unterschiedlicher Lernverfahren: überwachte (engl. supervised), unüberwachte (engl. unsupervised) als auch bestärkende (engl. reinforcement). Perzeptron-Lernen nach Rosenblatt 34

37 und der Backgpropagation-Algorithmus[33] sind zwei überwachte Lernverfahren, die durch die Anpassung der Kantengewichtungen eine Abbildung des Eingabevektors auf die Ausgaben erlernen. Während das Perzeptron-Lernen für das Erlernen eines einzelnen Perzeptrons verwendet werden kann, kann mit dem Backpropagation-Algorithmus ein mehrschichtiges KNN eingelernt werden [13]. Zum Lernen initialisiert der Backpropagation- Algorithmus die Kantengewichtungen eines gegebene KNN zu Beginn zufällig und passt dann iterativ die Kantengewichtungen an, um den Fehler des Netzes zu minimieren. Die Topologie des Netzes und die primitiven Funktionen der Einheiten sind bei diesem Verfahren fix und werden während des Lernvorgangs nicht verändert. Dem gegenüber existieren Verfahren wie z.b. das von Denker vorgeschlagene Optimal Brain Damage [34], in dem in einem vollständig verknüpften Netz, nach und nach Verbindung oder auch ganze Einheiten entfernt werden, solange keine Verschlechterung der Vorhersagegenauigkeit eintritt. Der Tiling-Algorithmus verfolgt den Ansatz ausgehend von einer Einheit sukzessive ein KNN zu konstruieren, in dem jede Einheit versucht, für möglichst viele Trainigsbeispiele die korrekte Ausgabe zu berechnen [13] Regelextraktion Unabhängig davon, wie ein Netz erlernt worden ist und ob es während des Lernens topologische Veränderungen gab, präsentieren sich, wie bereits in Abbildung 3.7 gezeigt, künstliche rekurrente Netze als gerichteter Graph. Um die abstrahierenden und deduktiven Fähigkeiten der KNN besser erklären zu können, schlug Gallant [35] vor, Regeln aus KNN zu extrahieren. Als Form der extrahierten Regeln wählte er einfache Wenn-Dann-Regeln wie in Abbildung 3.8. if x 2 is false and x 5 is true then Conclude that y is true end if if x 3 is false and x 5 is true then Conclude that y is false end if Abbildung 3.8: Extrahierte Regeln nach Gallant. Einen weiteren Ansatz mit dem Polynome aus KNN extrahiert werden können, schlugen Saito und Nakano [36] mit RF5 (rules from facts, version 5 ) vor. Der Ansatz beschreibt, wie aus bestimmten dreilagigen feedforward Netz, Formeln der Form y t = c 0 + h i=1 c i x w i,1 t,1... x w i,n t,n (3.7) 35

38 extrahiert werden können. Mit Ausdruck 3.7 lassen sich alle Polynome, die sich durch die Konstanten c, Parameter x und Exponenten w ergeben, konstruieren. Durch diese Form lassen sich z.b. das dritte Keplersche Gesetz, welches die Umlaufzeiten zweier Trabanten in Beziehung setzt, ( v ) 1 2 R = 1 2 σ (3.8) oder auch Boyle s Gesetzmäßigkeit zwischen dem Druck p und dem Volumen V eingeschlossener Luft V = p (3.9) beschreiben. Dadurch dass nur Polynome der Form in Gleichung 3.7 erzeugt bzw. gefunden werden, schließt dies die Verwendung von trigonometrische Funktionen oder Exponentialfunktionen aus. Auch periodische oder unstetige Funktionen können nicht direkt extrahiert, sondern nur (anhand eines Polynoms) approximiert werden [36]. Der Ansatz basiert auf der Idee, dass Polynome prinzipiell als vollständig verknüpftes dreilagiges KNN darstellbar sind. Daher können KNN Algorithmen zum Erlernen von Polynomen verwendet werden, solange diese als KNN repräsentiert werden können. Saito verwendet zum Erlernen des KNN den auch vom ihm selbst entwickelten BPQ Algorithmus, der zur Klasse der Quasi-Newton- Verfahren gehört und lokale Minima findet [36]. Ein Problem des Ansatzes ist, das die Anzahl der versteckten Einheiten von der Problemstellung abhängt und nicht im Voraus bekannt ist. Daher variiert Saito die Anzahl der versteckten Einheiten in mehreren Durchläufen um mehrere Kandidaten zu erzeugen und anschließend einen optimalen Kandidaten anhand des mittleren quadratischen Fehlers und der minimum description length (MDL) auszuwählen. Das Konzept der MDL (dt. minimale Beschreibungslänge) [37] entstammt der Informations- und Kodierungstheorie und es sucht nach der notwendigen Anzahl an Bits die zur Beschreibung von Daten anhand eines Modells notwendig sind. Dadurch können Modelle mit einer unterschiedlichen Anzahl an Parametern miteinander verglichen werden. [38] Bewertung Praxiserfahrungen zeigen, dass KNN im Bezug auf die Vorhersagegenauigkeit gute Ergebnisse erreichen können [13]. Eine nachteilige Eigenschaft ist die Repräsentation, die es einem Betrachter nur schwer ermöglicht die Gründe für ein bestimmtes Verhalten zu erkennen, so auch z.b. das Erkennen von Singularitäten verhindert. Aufgrund der Repräsentation wird bei KNN Modellen auch von einer Black-Box gesprochen, da das nicht erklärungsadäquat ist. Durch den Einsatz der Regelextraktion kann diesem Problem der Repräsentation entgegen gewirkt werden. Der von Saito vorgeschlagene Ansatz entspricht den in 36

39 Kapitel 2 gestellten Anforderungen teilweise, denn er ist in der Lage, Formeln in Form eines Polynoms aus einem KNN zu extrahieren. Da es sich um ein iteratives Verfahren handelt, können zwar unterschiedliche Kandidaten nach unterschiedlichen Iterationsschritten abgegriffen werden, dies bedeutet jedoch nicht, dass diese Kandidaten - wie gefordert - unterschiedliche Eigenschaften bezüglich ihrer Kompaktheit und Vorhersagegenauigkeit aufweisen. Abschließend ist zu sagen, dass dieser Ansatz selbst keine Möglichkeit vorsieht, bestehendes Wissen in das Lernen einzubringen. 37

40 3.4 Stützvektor-Maschinen Support Vector Machines (SVM) (dt. Support-Vektormaschinen oder Stützvektor- Maschinen) sind ein von Vapnik et al. vorgeschlagenes maschinelles Lernverfahren [40]. SVMs - allgemeiner auch Kernel-Maschinen - kennzeichnen sich durch effizientes Lernen und die Möglichkeit komplexe nichtlineare Funktionen approximieren zu können. Ursprünglich bezog sich die Methode allein auf Klassifikation, in späteren Arbeiten wurde das Konzept der SVM mit der Support Vector Regression (SVR) 5 an die Regression adaptiert [41]. Obwohl die in Abschnitt 2.5 definierte Problemstellung eine Regression erfordert, wird die Repräsentation anhand der SVM, d.h. dem Klassifikationsverfahren, beschrieben. Die Darstellung der Repräsentation von SVM und SVR erfolgt anhand von SVMs, da diese anschaulicher zu erklären sind und der Repräsentation der SVMs sehr ähneln Repräsentation Einfache SVMs sind in der Lage eine optimale lineare Trennung zwischen zwei Klassen im Merkmalsraum zu finden. Die Trennung der zwei Klasse erfolgt auch so, das ein möglichst großer Abstand zwischen den Instanzen der zwei Klassen ist, dadurch soll sichergestellt sein, dass auch unbekannte Eingaben korrekt klassifiziert werden. Um auch eine Lösung für nicht-linear trennbare Klassen zu finden, bedienen sich SVMs des Kernel-Tricks: Die Trainingsdaten werden durch eine Abbildung transformieren, damit sie in einem neuen Merkmalsraum - der sich durch die Transformation ergibt - linear trennbar sind. Deutlich wird das an dem Klassifikationsbeispiel in Abbildung 3.9a. Die Abbildung zeigt einen zweidimensionalen Trainingsdatensatz, dessen positive Beispiele als weiße Kreise und die negativen als schwarze Kreise im Merkmalsraum dargestellt sind. Das negative Beispiel befindet sich innerhalb der konvexen Hülle der positiven Beispiele, sodass es in diesem ursprünglichen Merkmalsraum keine lineare Trennung der beiden Mengen gibt. Durch die Verwendung der zwei Abbildungen 3.10 und 3.11 werden die Merkmale des Eingabevektors in einen neuen Merkmalsraum F (I) transformiert und bilden zwei neue Merkmale. f 1 = x 2 1 (3.10) f 2 = x 2 2 (3.11) Unter Verwendung dieser zwei neuen Merkmale kann der Trainingsdatensatz in dem neuen Merkmalsraum F (I) (vgl. Abbildung 3.9b) dargestellt werden. Es ist deutlich zu erkennen, dass das Problem nach der Transformation linear separierbar ist. 5 Terminus Technicus: engl. Stützvektor Regression 38

41 x 1 0 x x 2 0 (a) Ein zweidimensionaler Trainigsdatensatz mit positiven Beispielen als weiße Kreis und einem negativen Beispiel als schwarzen Kreis. 0 x 2 2 (b) Der selbe Trainingsdatensatz nach der Abbildung in den nun linear separierbaren Eingaberaum (x 2 1,x 2 2). Abbildung 3.9: Trainigsdatensatz vor und nach der Abbildung in einen neuen Eingaberaum. Die stärker gezeichneten Kreise kennzeichnen die Stützvektoren. Als Repräsentation der SVM kann die Hyperebene gesehen werden, die die Klassen im Merkmalsraum F (I) am besten separiert. Anhand der Hyperebene wird bestimmt, welcher Klasse ein Eingabevektor I (p) zugeordnet wird, d.h. der Eingabevektor wird klassifiziert. Die Vorhersage zu welcher Klasse ein Eingabevektor I (p) gehört, wird durch die Entscheidungsfunktion in Gleichung 3.12 berechnet. ( N ) O (p) = h(i (p) ) = sign α n O n (I (p) I n ) (3.12) Die innere Komponente der Signumfunktion berechnet anhand aller N Beobachtungen in Θ den Abstand zwischen dem Eingabevektor I (p) und der Hyperebene, die sich zwischen die positiven und negativen Beispiele legt. Die Signumfunktion +1 x > 0 sign(x) = 0 x = 0 (3.13) 1 x < 0 dient dazu, das Ergebnis zu diskretisieren. Um anhand von h(i (p) ) Vorhersagen treffen zu können, ist es im Lernprozess notwendig, die Parameter α n zu bestimmen die Lage der Hyperebene zu bestimmen Lernen Die Bestimmung der Parameter α n ist ein Optimierungsproblem aus der quadratischen Programmierung und lässt sich durch die Maximierung des Ausdrucks 39 n=1

42 3.14 lösen. 6 Viele Parameter α i werden bei dieser Optimierung 0 und es bleiben nur die Beobachtungen relevant, die der Hyperebene am nächsten liegen. Diese Beobachtungen werden als Stützvektoren (engl. support vectors) der Hyperebene bezeichnet. α i 1 N α i α j O i O j K(I i, I j ) (3.14) 2 i i,j Die Komponente K(I i, I j ) der Gleichung 3.14 wird als Kernel-Funktion bezeichnet. Ein linearen Kernel K(I i, I j ) = (I i I j ) ist z.b. für eine linearen Trennung im Merkmalsraum geeignet. Ersetzt man diesen Kernel durch einen polynomiellen Kernel d-ten Grades K(I i, I j ) = (I i I j ) d, kann jede beliebige Trennung im Merkmalsraum erreicht werden. Zur Veranschaulichung sei ergänzt, dass die lineare Trennung im neuen Merkmalsraum F (I), eine beliebige nicht-lineare Trennung zwischen den Beobachtungen im ursprünglichen Merkmalsraum darstellt. Zur Klassifikation unbekannter Eingabevektoren verwenden SVMs demnach nur die Stützvektoren, also die Vektoren für die α i nicht null ist, die eine Teilmenge des eigentlichen Trainingsatzes sind. SVR Das gleiche Prinzip und die gleiche Repräsentation verwenden support vector regression machines (SVR) [43]. In SVR, the basic idea is to map the data X into a high-dimensional feature space F via a nonlinear mapping ϑ, and to do linear regression in this space. [40]. Bei ɛ-svr werden so viele Vektoren bestimmt, bis eine Vorhersage mit einem maximalen Fehler von ɛ erreicht wird. Auch hier werden die Eingabevektoren in einen höheren Merkmalsraum transformiert, hier jedoch, um keine lineare Trennung, sondern eine lineare Regression der Form O (p) = h(i (p) ) = n w i K(I i, I (p) ) + b (3.15) i=1 durchführen zu können [41]. Bei SVR muss dazu der Parameter w für alle I Θ minimiert werden. Auch hier wird w für viele Vektoren 0, so das nur eine Teilmenge der eigentlichen Vektoren verbleibt und die Stützvektoren der Regression darstellen. Durch die Anpassung der Kernelfunktion K(I i, I (p) ) können - analog zu SVMs - auch nicht-lineare Regressionen durchgeführt werden. Eine Vertiefung von SVR erfolgt nicht, da auch der SVR Ansatz eine Instanzen basierte Repräsentation verwendet und dies zu diesem Zeitpunkt ausreicht, um 6 Details dazu können [13] entnommen werden. 40

43 die Repräsentation zu bewerten. Eine formale Herangehensweise an SVR kann zusätzlich [41, 43] entnommen werden Regelextraktion Zu SVMs wurden in den vergangenen Jahren einige Methoden entwickelt, mit denen Regeln aus SVM Modellen extrahiert werden können [44, 45]. Die Motivation dazu ist ähnlich wie bei den KNN: Da es sich bei beiden Modellen um Black-Box-Modelle handelt, soll durch eine Überführung der SVM in Regeln eine verständlichere Repräsentation erreicht werden [44]. Der von Núñez et al. vorgeschlagene SVM+Prototypes Ansatz [44] spezifiziert eine Methode, mit der Regeln aus SVMs mit zwei Klassen extrahiert werden können. Der Ansatz basiert auf der Idee, Vektoren im Merkmalsraum in Regionen aufzuteilen, die sich durch geometrische Formen beschreiben lassen. Denn geometrische Formen haben den Vorteil, dass sie sich wie z.b. Ellipsoide durch die Gleichung Af Bf Cf 1 f 2 + Df 1 + Ef 2 + F (equation rule) und Rechtecke indirekt durch die Gleichung f 1 [a, b] AND f 2 [c, d] (interval rule) in Abhängigkeit zu den Merkmalen f 1 und f 2 ausdrücken lassen. Der Ansatz verwendet Ellipsoide als auch Rechtecke und die Abbildung 3.10 zeigt an einem Beispiel, wie zwei Rechtecke um die zwei Klassen (weiße und schwarze Punkte) gelegt worden sind. Die Lage der Ellipsoide wird durch prototypische Vektoren f 1 f 2 Abbildung 3.10: Durch den SVM+Prototype Ansatz generierte interval rule im Merkmalsraum. (engl. prototype vectors) angeben und durch die Stützvektoren der SVM begrenzt. Die prototype vectors werden durch einen Clustering-Algorithmus ermittelt und bilden das Zentrum des Ellipsoid, die Ausdehnung des Ellipsoid wird durch die maximale Entfernung zu einem Stützvektor berechnet. So werden so viele Ellipsoide erzeugt, bis alle Vektoren einer Klasse abgedeckt sind. Dabei hängt die Zahl der Ellipsoide offensichtlich davon ab, wie die Vektoren der Klasse im Merkmalsraum verteilt sind. Ähnlich verläuft die Suche nach Rechtecken, hier wird nur nicht nach prototype vectors gesucht, sonder nach Intervallen die Vektoren 41

44 if f 1 [2, 2.8] and f 2 [1.7, 3.2] then Vector corresponds to class A. end if if f 1 [1, 2] and f 2 [1, 3] then Vector corresponds to class B. end if if Af Bf Cf 1 f 2 + Df 1 + Ef 2 + F f 3 then Vector corresponds to class B. end if Abbildung 3.11: Extrahierte Regeln nach Núñez. einer Klasse umschließen. Im Merkmalsraum können die Intervalle als Rechtecke aufgefasst werden. Nachdem Ellipsoide oder Rechtecke ermittelt worden sind, lassen sich diese einfach in die beispielhaft in Algorithm 3.11 dargestellten Wenn-Dann-Regeln übersetzen. Die oben genannten Formeln stellen dabei den Wenn-Teil (Test) der Regel dar, die Klasse den Dann-Teil (Ergebnis). Algorithmus 3.11 zeigt die Regel, die die Rechtecke in Abbildung 3.10 ergeben. Bisher kann der Ansatz nur Regeln zur Klassifikation extrahieren, Regeln zur Regression werden von dem Ansatz nicht berücksichtigt. Ein recht neuer von Farquad et al. [46] vorgestellter Ansatz, versucht Regeln aus SVRs zu extrahieren. Die Idee des Ansatzes ist simpel: Die Stützvektoren eines SVRs werden zum Training andere maschineller Lernverfahren, die erklärende Modelle erzeugen, verwendet. Die Form der Regeln hängt dann von der Repräsentation des maschinellen Lernverfahrens ab, das auf die Stützvektoren angewendet wird. In dem Ansatz werden auch Entscheidungsbäume (CART) als Repräsentation vorgeschlagen. Eine Vertiefung dieses Ansatzes wird nicht durchgeführt, da die eigentliche Regelextraktion aus Entscheidungsbäume bereits vorgestellt worden ist Bewertung SVMs bestechen vor allem durch ihre in der Praxis bewährte Vorhersagegenauigkeit und ihre Effizienz beim Lernen. Die gestellten Anforderungen werden jedoch nur zum Teil erfüllt, da die Repräsentation durch Stützvektoren zwar als eine kompakte Repräsentation betrachtet werden kann, aber durch seine Instanzen basierte Repräsentation der Forderung nach einer stetigen Formel nicht nach kommt. Der Ansatz von Núñez zur Regelextraktion verbessert die Situation nur wenig, da nur Regeln zur Klassifikation extrahiert werden. Am Ende des Lernens steht ein Modell, keine Schar an Modellen, zwischen denen der Anwender wählen 42

45 kann. An dem Ansatz von Fraquad erscheint vor allem die Idee, die Stützvektoren als Trainingsdatensatz zu verwenden interessant. Die Repräsentation der, neben den bereits vorgestellten Entscheidungsbäumen, Fuzzy-Systemen entspricht nicht Formeln und wird daher in dieser Arbeit auch nicht weiter betrachtet. 43

46 3.5 Genetische Programmierung Die Genetischen Programmierung (GP) ordnet sich in die Klasse der Evolutionären Algorithmen (EA) ein. Die grundlegende Idee dieser Klasse von Algorithmen geht aus dem Namen hervor: Durch eine künstliche Evolution soll aus einer Menge an Kandidaten eine Lösung heranreifen. Die Definition des Ziels erfolgt über die Spezifikation von Qualitätskriterien, an denen die Kandidaten gemessen werden. Ist ein EA erfolgreich, liefert er eine optimale oder nahezu optimale Lösung bezüglich der Qualitätskriterien. Banzhaf [3] vergleicht den EA mit dem Ausbrüten von Lösungen, das es wie z.b. bei der Hundezucht, auch bei EA Kriterien gibt, die erreicht werden sollen. Nehmen wir an, dass Hunde mit langen Haare und kurzen Beinen gezüchtet werden sollen, dann wird der Züchter genau jene Hunde zur Reproduktion heranziehen, die diesen Qualitätskriterien am ehesten entsprechen (In diesem Fall also die Hunde mit den längsten Haaren und den kürzesten Beinen). Dieser Prozess wird mit den jeweils besten Nachkommen der Kreuzung über mehrere Generationen hinweg durchgeführt, bis ein zufriedenstellendes Ergebnis gefunden wird 7. Generate initial solutions (A priori knowledge, earlier results, random) Evaluate Select Variate using mutation and crossover Not sufficiently good. Good solution found. Abbildung 3.12: Der einfache evolutionäre Algorithmus nach [3]. Allgemein funktionieren viele evolutionäre Techniken nach einem vergleichbaren Muster (vgl. Abbildung 3.12). Die Auswahl der zu kreuzenden Kandidaten wird Selektion (select) genannt und die Qualität der Kandidaten wird durch ihre Fitness angegeben. Die Erzeugung von Nachfahren erfolgt entweder durch Reproduktion, bei dem die Nachfahren identische Kopien der Eltern sind oder durch die Rekombination, bei der die Nachfahren das Resultat der Kreuzung zweier Eltern- 7 Auf diese Weise sollen Hausschweine in 30 Jahren eine extra Rippe erhalten haben, [48] steht jedoch im Widerspruch zu dieser Aussage. 44

47 teile sind. Wichtig ist, dass die Reproduktion einen Mechanismus zur Variation zur Verfügung stellt, um sicherzustellen, dass es auch Nachkommen geben kann, die keine exakte Kopie ihrer Eltern sind und sich geringfügig von ihren Eltern unterscheiden. Dieser Mechanismus zur Variation nennt sich Mutation (vgl. [3]). Eine genauere Beschreibung des Algorithmus in Abbildung 3.12 erfolgt in Abschnitt 3.5.2, zuvor wird auf die Repräsentation dieser Methode näher eingegangen Repräsentation Nun verhält es sich so, dass durch die künstliche Evolution keine Hunde heran gezüchtet werden, vielmehr wird auch hier mit einer abstrakten Form des biologischen Vorbilds gearbeitet. Statt der Hunde können mit evolutionären Algorithmen Kandidaten beliebiger Repräsentationen heran gezüchtet werden. Beispielsweise verwenden Genetische Algorithmen (GA) - die auch zur Klasse der EA gehören - Bit-Strings fester Länge, wie jener in Abbildung 3.13, für die Repräsentation von Kandidaten. Die Bedeutung der einzelnen Bits ist nicht durch den GA festgelegt, sonder durch den Anwender. So kann der Bit-String z.b. für eine Zahl oder eine komplexere Repräsentation wie z.b. die Gewichtung der Kanten in einem künstlichen neuronalen Netz stehen [49]. Vor dem biologischen Hintergrund unterscheidet man hier auch zwischen der genotypischen (der Bit-String) und phänotypischen (die Bedeutung des Bit-Strings, z.b. eine Zahl) Repräsentation Abbildung 3.13: Die Bit-String-Repräsentation genetischer Algorithmen. Evolutionäre Strategien (ES) sind ein weiterer Ansatz aus dem Bereich der EA und verwenden keine Bits sondern Vektoren reeller Zahlen als Repräsentation. Sowohl genetische Algorithmen als auch evolutionäre Strategien werde primär zur Parameteroptimierung eingesetzt [49]. Im Gegensatz dazu verwendet die genetische Programmierung (GP) Computerprogramme als Repräsentation, die in Form und Länge variieren können. Genetische Programmierung Koza gibt eine möliche Definition für die genetischen Programmierung: Die Genetische Programmierung ist die direkte Evolution von Programmen oder Algorithmen zum Zweck des induzierten Lernens. Koza, [50] 45

48 Das bedeutet, dass die Kandidaten die Form von Computerprogramm besitzen, auf die der evolutionären Algorithmus angewendet wird. Diese Computerprogramme (im folgenden nur noch Programme) können, wie auch die vorherige Methoden, einen Zusammenhang zwischen dem Eingabevektor I und dem Ausgabevektor O herstellen. Ein- und Ausgabevektor sind dabei nicht nur auf nomiale Werte beschränkt sondern können z.b. auch kontinuierliche Merkmale beinhalten. In der von Koza vorgeschlagenen Methode werden Syntaxbäume (engl. parse tree, vgl. Abbildung 3.14 und [50, 51]) als genotypische Repräsentation herangezogen. Sie sind ein Konzept der theoretischen Informatik, mit der sich mathematische Ausdrücke oder auch Computerprogramme als Baum darstellen lassen. + π x 42 Abbildung 3.14: Darstellung eines Syntaxbaums. Die Darstellung als Baum ist jedoch nur eine mögliche Repräsentation. Neben dieser finden sich auch Repräsentationen in Form von Graphen oder linearen Programmen wieder. Prinzipiell kann jede beliebige Repräsentation verwendet werden, solange die notwendigen Operatoren definiert sind. Aus diesem Grund betrachtet Banzhaf GP auch als eine Obermenge aller der durch maschinellen Lernverfahren verwendete Repräsentationen. Ist ein GP-System entsprechend gestaltet, kann in jeder Repräsentation eine Lösung gefunden werden, die auch andere maschinellen Lernverfahren finden [3, S. 22]. Welche Repräsentation ein Programm besitzen kann, d.h. welche Symbole verwendet werden können, hängt von dem konkreten GP System ab und wird durch die Elemente seiner Sprache L bestimmt. Die Sprache ergibt sich wiederum durch die Symbole des instruction sets 8 (in der obigen Abbildung: + und ) und des terminal sets 9 (in der obigen Abbildung: π,x und 42), die durch den Anwender festgelegt werden. Ersteres umfasst dabei alle Funktionen und zweiteres alle Werte, Konstanten und Variablen der Sprache [49]. Alle Programme dieser Sprache L spannen einen genotypischen Raum G auf und alle die von diesen Programmen ausgedrückten Funktionen f gp : I m O n liegen dann in dem phänotypischen Raum P. Insofern kommt die genetische Programmierung einer Suche nach einem Optimum in diesen Räumen gleich. 8 Terminus technicus, dt. Instruktionssatz. 9 Terminus technicus, dt. Terminalsatz. 46

49 Umfasst die Sprache nur Symbole aus der Mathematik und besteht der Eingabevektor ausschließlich aus numerischen Merkmalen, so ist dies ein Spezialfall der GP und nennt sich Symbolische Regression [3, S. 128]. In einer recht neuen Arbeit verwenden Schmidt und Lipson die symbolische Regression um Naturgesetze aufzufinden [52] Lernen In der Biologie verläuft die Evolution durch die natürliche Selektion, Mutation, Rekombination und Reproduktion. Alle Methoden der Klasse der EA basieren auf dem allgemeinen evolutionären Algorithmus, in dieser oder einer leicht abgewandelten Form, der sich nach Banzhaf, wie bereits in Abbildung 3.12 gezeigt, darstellt. Zu Beginn wird eine zufällige Population an Kandidaten zum Züchten erzeugt (initiate). Die dann fortwährende Anwendung genetischer Selektionsund Variationsmechanismen lässt vor dem Ziel, dass sich die durchschnittliche Fitness der Population von einer zur nächsten Generation verbessert, immer neue Kandidaten heranreifen. Die Fitness ist die Qualität eines Kandidaten und kann als reeller Wert oder auch, wenn es konkurrierende Ziele gibt, als ein Vektor aus mehreren reellen Werten angegeben werden. Gibt es konkurrierende Ziele, die nicht zwingend miteinander vereinbar sind, z.b. wenn ein Hund möglichst lange Haare und möglichst große Augen haben soll, spricht man von einer Mehrzieloptimierung 10 bzw. auch einem Multi-objective evolutionary algorithm (MOEA). Die Berechnung der Fitness erfolgt während des evaluate-schrittes. Die Idee der Rekombination (crossover) basiert auf der Idee, dass die Kreuzung zweier guter Kandidaten, zu noch besseren Nachfahren führen kann. Ein Nachteil des crossovers ist, das dieser dazu führen kann, das Individuen schnell in ihrer Größe, bei einem Syntaxbaum kann dies z.b. die Anzahl der Knoten sein, wachsen. Dieser Effekt wird als bloating 11 bezeichnet. Doch allein durch die Kreuzung zweier Kandidaten besteht nicht die Möglichkeit, vollkommen andere Nachfahren zu erzeugen, da diese nur aus den Symbolen der Eltern erzeugt werden. Die Mutation (mutate) ist jene Operation, die über die gesamte Evolution die Lösungsvielfalt innerhalb der Population erhalten soll, indem zufällig Symbole modifiziert werden. Ob es zu einer Rekombination oder Mutation kommt, richtet sich nach den für diese beiden Operationen vorgegeben Wahrscheinlichkeiten. Zum Ende eines Evolutionszyklus entscheidet die Selektion anhand der Fitness darüber, welche Kandidaten in die nächste Generation übernommen werden, mit dem Ziel, die durchschnittliche Fitness der Population zu erhöhen. In einem steady-state GP 12 gibt es keine festen Generationen, vielmehr wer- 10 Terminus technicus, engl. multiobjective optimization. 11 Terminus technicus, dt. ausbluten. 12 Terminus technicus 47

50 den laufend neue Kandidaten generiert und bestehende Kandidaten durch diese ersetzt, sodass die Population über die Zeit gesehen konstant ( steady ) bleibt Regelextraktion Die Regelextraktion ist prinzipiell abhängig von der verwendeten Repräsentation. Wird z.b. wie von Koza vorgeschlagen, ein Syntaxbaum zur Repräsentation der Individuen verwendet, so gestaltet sich die Überführung in eine Formel als einfach. Wird hingegen ein KNN als Repräsentation verwendet, muss ein KNN Verfahren verwendet werden. Ideal wäre es, einen GP direkt auf Formeln durchzuführen, da dann keine weitere Überführung notwendig ist. Dazu muss evaluiert werden, wie dies umgesetzt werden kann Bewertung Die genetische Programmierung ist eine sehr flexible Methode im Bezug auf die Repräsentation von Kandidaten. Wählt man als Sprache nur mathematische Funktionen und reelle Zahlen, spricht man von einer symbolischen Regression, dieser Ansatz entspricht genau den Anforderungen an die Repräsentation und Stetigkeit die in Abschnitt 2.5 gestellt worden sind. Auch die Vorhersagegenauigkeit evolvierter Programme erfüllt unter Berücksichtigung der Literatur die Anforderungen. Vorwissen kann z.b. in Form von vorgefertigten Kandidaten in den Prozess eingebunden werden. Da es sich um eine Population an Kandidaten handelt, ist ist die Anforderung erfüllt, dass der Anwender am Ende des Lernprozesses zwischen unterschiedlichen Kandidaten eine Lösung auswählen kann. Mit dem Blick auf den Bloat-Effekt und der zu erhaltenden Vielfalt in einer Population, bleiben Felder offen, bevor diese Methode direkt angewendet werden könnte. 48

51 3.6 Diskussion und Zusammenfassung In den vorherigen Abschnitten dieses Kapitels sind vier Methoden (Entscheidungsbäume, künstlichen neuronale Netze, Stützvektor-Maschinen und genetische Programmierung) und darauf aufbauende Ansätze auf ihre Tauglichkeit hin betrachtet worden, Formeln aus Daten zu extrahieren. In diesem Abschnitt sollen die Eigenschaften der Methoden unter Berücksichtigung der Anforderungen aus Abschnitt 2.5 miteinander verglichen und diskutiert werden. Abschließenden wird auf Grundlage dieser Bewertung die Method ausgewählt, die für die Lösung der Problemstellung aus Kapitel 2 am besten geeignet erscheint. Formel und Stetigkeit Grundsätzlich gibt es zu allen vorgestellten Methoden Ansätze um Formeln aus der eigentlichen Repräsentation zu extrahieren. Regressionsbäume können in partiell gültige Formeln überführt werden, deren Gültigkeitsraum durch Regeln angegeben wird und daher nicht im gesamten Eingaberaum stetig ist. Der zu künstlichen neuronalen Netzen vorgestellte Ansatz verwendet mehrlagige Perzeptronen-Netze, deren Topologie sich direkt aus der Form von Polynomen ableitet und daher die Anforderungen nur Teilweise erfüllt. Es werden zwar Formel ermittelt, die Form (Polynom) und die Operatoren sind jedoch vorgegeben. Aus Support Vetor Regression Machines können nicht direkt Formeln extrahiert werden. Mit dem von Farquad vorgeschlagenem Ansatz, ist es möglich Entscheidungsbäume zu trainieren und aus diesen Regel zu extrahieren. Die genetische Programmierung unterscheidet sich in sofern von den anderen Methoden, als dass sie prinzipiell beliebige Repräsentationen, demnach auch Formeln, verwenden kann und daher die Anforderung bezüglich dieses Kriteriums weitgehend erfüllt. Integration von Vorwissen Das geforderte Einbringen von Vorwissen kann prinzipiell über die Vorverarbeitung der Daten im KDD-Prozess geschehen, indem z.b. bestimmte Parameter ausgewählt werden oder Parameter transformiert werden. Um Wissen direkt in eine Methode einzubringen, muss diese dies explizit unterstützen, so könnten z.b. in Vornherein angebotene Lösungen bzw. Teillösungen durch eine Methode berücksichtigt werdem oder dem Anwender wird während des Trainings die Möglichkeit geben, aussichtsreiche Kandidaten bevorzugen zu lassen. Diese Anforderungen erfüllt keine der betrachteten Methoden. Keine Methode ist darauf ausgerichtet, Vorwissen in einer anderen Form als den Trainingsdaten, explizit berücksichtigen. Grundsätzlich kann man jedoch sagen, das die Repräsentation der Entscheidungsbäume sehr erklärend ist und ein erlerntes Modell kann im Nachhinein gut verändert werden. Wird die Form der Regeln eingehalten, so kann ohne Verlust 49

52 zwischen der Baum- und Regel-Repräsentation gewechselt werden. Es ist denkbar, dass Vorwissen in Form von Ausdrücken eingebracht werden kann, d.h. der Anwender kann eigene Knoten spezifizieren. Künstliche neuronale Netze erscheinen für eine Manipulation durch den Anwender weniger geeignet. Vorteilhaft ist das iterative Erlernen des Netzes, so ist es dem Anwender nach jedem Trainings-Schritt möglich, Eingriffe vorzunehmen. Es bleibt offen, welche Eingriffe während des Trainings Wissen einbringen können. Support Vector Regression Machines werden durch die Lösung eines numerischen Problems erlernt, auch hier erscheint ein Eingriff durch den Benutzer während des Trainings als schwierig und es ist nicht direkt ersichtlich, wie ein sinnvoller Eingriff aussehen kann. Bei der genetischen Programmierung stellt es sich ein wenig anders dar. Zum einen werden neue Individuen auf der Basis einer bestehenden Ausgangspopulation erzeugt, diese kann z.b. aus durch den Benutzer vorgegeben (Teil-) Lösungen bestehen. Auch ist der Lernprozess iterativ, so das der Anwender nach jeder Iteration eingreifen und steuern kann, indem er z.b. die Fitness bestimmter Individuen verändert um ihnen eine Sonderstellung zukommen zu lassen. Auch bei diesem Kriterium erscheint die genetische Programmierung als erfolgversprechendste Methode. Unterschiedliche Modelle Die Erzeugung unterschiedlicher Modelle ist bei den meisten Methoden nicht per se vorgesehen. Um mit Regressionsbäumen unterschiedliche Kandidaten zu erzeugen, kann das Training vor seinem eigentlichen Ende abgebrochen werden, um so einen stärker generalisierenden aber kompakteren Baum zu erhalten. Zu untersuchen ist, wie die Regression bei einem abgebrochenem Training in den Blätter umgesetzt werden könnte. Um bei künstlichen neuronalen Netzen unterschiedliche Modelle erzeugen zu können z.b. einfach mehrere Modelle oder auch Modelle unterschiedlicher Topologie erlernt werden. Bei der Support Vector Regression kann durch die Verwendung unterschiedlicher ɛ-werte bei mehreren Durchläufen, Modelle mit unterschiedlicher Vorhersagegenauigkeit erzeugt werden. Letztendlich kann die genetische Programmierung unter der Verwendung eines MOEA als Selektionsmechanismus unterschiedliche Lösungen erzeugen. Zusätzlich werden sogar alle unterschiedlichen Kandidaten bezüglich der beiden geforderten Kriterien Vorhersagegenauigkeit und Kompaktheit optimiert. Es zeigt sich, dass die genetische Programmierung die beste Ausgangsbasis darstellt, um die in Kapitel 2.5 gestellten Anforderung zu erfüllen und das in Kapitel 2 beschriebene Problem zu lösen. Zum Erfüllen der Anforderungen aus Abschnitt 2.5 ist es jedoch notwendig, die Methode in zwei Bereichen zu modifizieren: 50

53 (a) Die Integration eines MOEA in die Methode ist notwendig, damit Kandidaten bezüglich der zwei Kriterien Vorhersagegenauigkeit und Kompaktheit optimiert werden können (b) Es muss ein Weg gefunden werden, um ausgewählte Kandidaten während der Evolution bevorzugt zu behandeln. Darüber hinaus muss die zu verwendende Repräsentation, d.h. Sprache, bestimmt werden, damit die erzeugten Programme nur stetige Funktionen repräsentieren. Auch muss untersucht werden, welches Maß zur Bestimmung der Komplexität der gewählten Repräsentation verwendet werden kann. Das folgende Kapitel erläutert den eben umrissenen Ansatz und die damit verbundenen Fragestellungen. 51

54 Kapitel 4 Kompakte symbolische Regression In diesem Kapitel wird ein auf genetischer Programmierung aufbauender Ansatz beschrieben, der die in Abschnitt 2.5 definierten Anforderungen zum Maßstab hat, d.h. das (1) der Ansatz kompakte Formeln erzeugen, (2) Vorwissen integrieren und (3) durch den Anwender gesteuert werden kann. 4.1 Einführung Das Kapitel beginnt in Abschnitt 4.2 mit einer Formalisierung der Anwendungsdomäne Nitrocarburieren. In den darauf folgenden Abschnitten werden, ausgehend von der in Abschnitt 3.5 beschriebene Genetische Programmierung (GP), weitere Teillösungen beschrieben um die Anforderungen zu erfüllen. Durch die Genetische Programmierung ist es grundsätzlich möglich, Formeln anhand von einer Stichprobe zu bestimmen. Es ist jedoch ungeklärt, wie stetige Formeln bestimmt werden können, die kompakt sind und wie der Prozess durch den Benutzer gesteuert werden kann. Um diese Probleme zu lösen, wird in Abschnitt 4.3 auf die Linear Genetische Programmierung (LGP) [49], eine Variante der Genetischen Programmierung die Programme als Repräsentation verwendet, eingegangen, da sie die Grundlage dieses Ansatzes bildet. In Abschnitt 4.4 wird darauf eingegangen, welche Maßnahmen getroffen werden müssen, damit nur stetige Formeln erzeugt werde und wie die Programm zu gestalten sind, damit nur Formeln der geforderten Form repräsentiert werden. Daran anschließend werden in Abschnitt 4.5 Metriken bestimmt, mit denen es möglich ist, die Kompaktheit einer Formel zu beschreiben. Das Problem unterschiedliche Kompromisslösungen bezüglich der Kompaktheit und Vorhersagegenauigkeit zu bestimmen, wird in Abschnitt 4.6 adressiert. Abschnitt beschreibt die in dieser Arbeit entwickelte Integration der Teillösung, um die gegebenen Probleme zu lösen. 52

55 In den Abschnitten 4.7 und 4.8 folgen abschließend Ansätze, die es dem Benutzer ermöglichen, auf unterschiedlichen Wegen, Vorwissen in den Prozess einzubringen. 4.2 Formalisierung der Anwendungsdomäne Die Formalisierung der Anwendungsdomäne ist notwendig, damit das Problem der Anwendungsdomäne durch den zu entwickelnden Ansatz gelöst werden kann. In diesem Abschnitt wird das Problem der in Abschnitt 2.1 beschriebenen Domäne in eine Form überführt, die ein überwachtes Lernen erlaubt. Dazu werden die Behandlungsparameter der Wärmebehandlung in einen funktionalen Zusammenhang mit dem Behandlungsergebnis der Verbindungsschichtdicke, gebracht Behandlungsparameter und -ergebnisse Die Zielgrößen einer Wärmebehandlung sind im Wesentlichen von den Behandlungsparametern (oder Einflussgrößen) Temperatur (T ) und Dauer (t), sowie dem Stickstoffgehalt (regelbar über die Nitrierkennzahl K N ) und Kohlenstoffgehalt (regelbar über die Kohlungskennzahl KC B ) der Ofenatmosphäre abhängig. Entsprechend erfolgt die Steuerung eines Wärmebehandlungsprozesses über die Regelung dieser Parameter. Die Einstellung der Stickstoff bzw. Kohlenstoff spendenden Gase gestaltet sich schwierig, da sich aufgrund des im Ofen ablaufenden thermochemischen Prozesses, die Anteile von Kohlenstoff und Stickstoff über die Zeit ändern. Es reicht nicht aus zu Beginn des Prozesses die Einstellung der Durchflussrate vorzunehmen, sondern der Zufluss der Gase muss über die Laufzeit der Reaktion angepasst (geregelt) werden, um das notwendige thermochemische Gleichgewicht zu erhalten und eine konstante Nitrocarburierwirkung zu erzielen. Erst durch die in den letzten Jahren entwickelten Sensoren ist es möglich, die Gaszusammensetzung in der Atmosphäre des Ofens kontinuierlich zu erfassen, um den Zufluss der Gase zu regeln. Die Parameter Nitrierkennzahl K N und Kohlungskennzahl KC B werden zum Beschreiben der Partialdruckverhältnisse zwischen den entsprechenden Gasen in der Ofenatmosphäre verwendet und durch Regelung der Zuflüsse werden diese Verhältnisse aufrecht erhalten [9, S. 24ff]. Die Nitrierkennzahl K N ergibt sich durch Gleichung 4.1 aus dem Partialdruckverhältnis von Wasserstoff H 2 und Ammoniak NH 3 (als Stickstoffspender). K N = p NH 3 (Druck 1/2 ) (4.1) (p H2 ) 3 2 Analog dazu ergibt sich die Kohlungskennzahl KC B in der Gleichung 4.2, aus dem Verhältnis zwischen den Partialdrücken von Kohlenmonoxid CO und Kohlendi- 53

56 Wertebereich Parameter Min. Step Max. Tol. Werkstoff Anlage/Ofen Temperatur T [ C] ±5 Dauer t [Std.] Nitrierkennzahl K N Kohlungskennzahl KC B Verbindungsschichtdicke [µm] 0 50 bis zu 100% Tabelle 4.1: Die Einfluss- und Zielgrößen des Nitrocarburierens [8]. Höhe [µm] Toleranz [µm] Tabelle 4.2: Toleranzen für unterschiedliche Verbindungsschichtdicken. Quelle: [19] oxid CO 2. K B C = (p CO) 2 p CO2 (4.2) Neben den bisher genannten Parametern wird die Verbindungsschicht noch maßgeblich durch den Werkstoff selbst, seine Oberfläche und dessen Reinigungsund Verformungszustand und durch die Anlage, in der das Werkstück behandelt wird, beeinflusst. Der Einfluss der Anlage ergibt sich bei einem Ofen z.b. durch das Zusammenspiel der Auskleidung des Ofens, der Anordnung der Werkstücke im Ofen, der Anzahl der Werkstücke pro Charge und dem Ofenvolumen. Obwohl diese Einflüsse bekannt sind, lassen sie sich nicht gezielt regeln und werden daher in dieser Arbeit als latente Parameter bezeichnet 1. Die folgende Tabelle 4.1 fasst Behandlungsparameter mit Unter- und Obergrenze sowie die latenten Parameter zusammen. Die latenten Parameter haben einen signifikanten Einfluss auf das Erreichen vorgegebener Verbindungsschichtdicken und deren Reproduzierbarkeit. Um die- 1 In der Praxis ist es aufgrund dessen z.t. erst möglich, einen Ofen an seinem Einsatzort und mit Werkstücken befüllt einzustellen, um ihn auf die geforderten Zielgrößen abzustimmen. 54

57 sen Fakten Rechnung zu tragen, spezifiziert die DIN 6773 [53] großzügige Toleranzen für z.b. die Verbindungsschichtdicke (vgl. Tabelle 4.2) oder auch die Nitrierhärtetiefe. Die Toleranzen von mindestens +50% verdeutlichen, wie schwierig es sich derzeit in der Praxis gestaltet, gegebene Vorgaben zu erfüllen. Insgesamt kann der Prozess als ein funktionaler Zusammenhang zwischen den regelbaren Behandlungsparametern und dem Behandlungsergebnis, wie z.b. der Verbindungsschicht (VS), beschrieben werden: V S = f vs (t, T, K N, K B C ) (4.3) Gleichung 4.3 bzw. die Funktion f vs (t, T, K N, KC B ) stellt den funktionalen Zusammenhang zwischen Behandlungsparametern und -ergebnissen dar und soll durch ein geeignetes Vorhersagemodell approximiert werden. Zur Bestimmung von Modellen zur Approximation der Verbindungsschicht wird in dieser Arbeit auf durch das Institut für Werkstofftechnik (IWT, Bremen) erfasste Daten zurückgegriffen (vgl. Abschnitt 6.4.4), die alle in Gleichung 4.3 genannten Parameter beinhalten. 4.3 Linear Genetische Programmierung Die Linear Genetic Programming (LGP) 2 verwendet imperative Programme zur genotypischen Repräsentation der Individuen. Besonders intensiv wurde LGP durch Brameier in [49] untersucht. In Abschnitt 3.5 wurde bereits das allgemeine Konzept der Genetischen Programmierung vorgestellt. Um ein Bild von dem Aufbau und den Eigenschaften der Linear Genetischen Programmierung zu bekommen, folgt in den Abschnitten und eine Beschreibung dieser speziellen LGP Repräsentation, bevor dann anschließend Ergänzungen vorgenommen werden, um die ausstehenden Probleme zu adressieren Repräsentation Imperative Programme sind eng mit der zugrunde liegenden Rechnerarchitektur verknüpft. Moderne CPUs basieren prinzipiell auf der von-neumann Architektur, die einen Satz an Registern bereitstellt, die durch eine Handvoll von Instruktionen manipuliert werden können. Jedes Programm ist eine Abfolge solcher Instruktionen. Eine imperative Instruktion beschreibt eine Operation auf mehrere Quellregister 3 und Zuweisungen des Ergebnisses zu einem Zielregister 4. Abhängig von 2 Terminus technicus, dt. Linear Genetische Programmierung. 3 engl. source register. 4 engl. destination register. 55

58 1 double [ 8 ] r ; 2 void gp ( double [ ] r ) 3 { 4 r [ 1 ] = r [ 5 ] + r [ 7 ] ; / eine I n s t r u k t i o n / 5 r [ 7 ] = r [ 0 ] r [ 3 ] ; 6 r [ 0 ] = s i n ( r [ 6 ] ) ; 7 r [ 4 ] = r [ 0 ] r [ 2 ] ; 8 } Listing 4.1: Ein LGP Programm in C Notation. der Instruktion und der Rechnerarchitektur werden keine bis drei Register für eine Instruktion verwendet. Tabelle 4.3 gibt eine Übersicht über die Instruktionen, die in einem LGP System verwendet werden. Die Werte der Register r i sind abhängig von der Instruktion und leiten sich aus den Definitionsbereichen der reellen Zahlen R oder booleschen Werte B ab. Prinzipiell lassen sich durch die Hinzunahme von booleschen Funktionen und bedingten Anweisungen auch Klassifikationsprobleme mit der Linear Genetischen Programmierung lösen Evaluation Die Evaluation eines Programms ist trivial, da dem Programm nur Register bereitgestellt werden und das Programm ausgeführt werden muss, um ein Ergebnis zu berechnen. Das Programm wird durch den Algorithmus beschrieben, die Belegung der Register obliegt dem Benutzer. Prinzipiell gibt es drei Arten von Registern: (a) Eingaberegister 5 (b) Rechenregister 6 und (c) Konstanten 7 Abbildung 4.1 zeigt die schematische Anordnung der Register. Die Register enthalten alle Werte, mit denen das Programm arbeitet. Das hat den Vorteil, dass keine besonderen Mechanismen vorgehalten werden müssen, um z.b. Konstanten mit einfließen zu lassen. Zu Beginn einer Evaluation werden die Register mit Konstanten r j bis r k 1 sowie mit Werten, die durch den Benutzer vorgegeben worden sind, initialisiert. Nach Brameier sollen diese Register mit einfachen ganzen Zahlen initialisiert 5 engl. input registers 6 engl. calculation registers 7 engl. constant registers 56

59 Instruktionstyp Notation Definitionsbereich Arithmetische Funktionen r i = r j + r k r i, r j, r k R r i = r j r k r i = r j r k r i = r j /r k Exponentialfunktionen r i = r (r k) j r i, r j, r k R r i = e r j r i = ln(r j ) r i = rj 2 r i = r j Trigonometrische Funktionen r i = sin(r j ) r i, r j R r i = cos(r j ) r i = tan(r j ) Boolesche Funktionen r i = r j r k r i, r j, r k B r i = r j r k r i = r j Bedingte Anweisung if(r i > r j ) r i, r j R if(r i r j ) if(r i ) r i B Tabelle 4.3: LGP Instruktionstypen. 57

60 r 0 r i r j r k { { { inputs calculation constant Abbildung 4.1: Veranschaulichung der Belegung der Register. werden. Sie unterscheiden sich in sofern von den anderen beiden Registertypen, als dass sie nicht als Zielregister auftreten und so nicht überschrieben werden können. Das heißt, die Mutation wird niemals ein Konstanten-Register als Zielregister verwenden (vgl. Abschnitt 4.3.6). Die Eingaberegister r 0 bis r i 1 werden mit den Beobachtungen gefüllt. Sie sind die Eingaben oder auch Parameter des Programms. Die Anzahl ist bedingt durch die Anzahl der Felder des verwendeten Datensatzes. Eingaberegister können - wie auch die Rechenregister - als Zielregister einer Instruktion verwendet werden. Zuletzt können noch sogenannte Rechenregister r i bis r j 1 vorgehalten werden. Diese Register werden benötigt, um vor allem bei wenigen Eingaberegistern, dem Programm Register für Teilergebnisse zur Verfügung zu stellen. Zu wenig Register können dazu führen, dass Teilergebnisse permanent überschrieben werden und einen negativen Einfluss auf das Konvergenzverhalten der Population haben. Als Ausgabe des Programms können ein oder mehrere Register definiert werden. Das Standardausgaberegister ist r 0. Die Möglichkeit, auch mehrere Ausgaben liefern zu können, ist eine besondere Eigenschaft von LGP Der LGP Algorithmus Das Züchten der Programme geschieht im Rahmen des EA. Brameier schlägt dazu für die Linear Genetische Programmierung den LGP Algorithmus (vgl. Algorithmus 1) vor. Der in Abschnitt 3.5 vorgestellte allgemeine evolutionäre Algorithmus stellt die Grundlage des LGP Algorithmus dar, der größte Unterschied liegt darin, dass es sich bei dem LGP Algorithmus um einen steady-state Algorithmus handelt. Das bedeutet, dass es nur eine Population gibt, in der kontinuierlich Individuen erzeugt und ersetzt werden. Außerdem ist die Turnierselektion als Selektionsmechanismus vorgegeben. Nach einer zufälligen Initialisierung der Anfangspopulation (1) werden diese Individuen für die Turnierselektion entnommen. Die Verlierer der n Turniere werden durch Variationen oder Reproduktionen der Gewinner ersetzt. Dadurch bleibt die Größe der Population konstant. Dieser Prozess wird solange fortgesetzt, bis ein Individuum erzeugt worden ist, dessen Güte die Anforderungen erfüllt oder eine maximale Anzahl an Durchläufen erreicht ist. 58

61 Require: maximum generations best None pop initialize random population() repeat members select individuals f or tournament(pop) (winners, loosers) run tournament(members) winners copy copy(winners) variate(winners) evaluate(winners) if best of(winners) < best then best best of(winners) validate(best) end if replace with(loosers, winners copy ) until generation == maximum generations best test test(get with lowest validation error(pop)) return (best, best test) Algorithmus 1: Der LGP Algorithmus nach [49]. 59

62 4.3.4 Fitness und Selektion Die Güte eines Individuums wird bei LGP durch seine Fitness angegeben. Nach Banzhaf [3]) ist die Fitness das Maß, mit dem ein Programm daraufhin bewertet wird, wie gut es Ausgaben anhand von Eingaben vorhersagen kann. Die Fitness wird benötigt, um dem Lernalgorithmus einen Hinweis darüber zu geben, wie gut sich das Individuum betreffend des untersuchten Kriteriums darstellt. Letztendlich verwendet der Lernalgorithmus diesen Wert, um zu entscheiden, welches Individuum besser ist und sich in einer Population durchsetzt, so z.b. aus einem Turnier als Sieger hervorgeht. Um Fitnesswerte besser vergleichen zu können, kann dieser standardisiert werden. Definition 3 (Standardisierte Fitness). Standardisierte Fitness ist eine Fitness f, wenn 0 f gilt. [3] Die standardisierte Fitness lässt jedoch zu, dass Individuen beliebig große Fitnesswerte besitzen können. Durch eine Normalisierung wird dies korrigiert, sodass die Fitness zwischen Eins und Null liegt. Definition 4 (Normalisierte Fitness). Normalisierte Fitness ist eine Fitness oder eine transformierte Fitness, wenn für die Fitness f gilt 0 f 1. [3] Bei Regressionsproblemen bietet es sich an, den Fehler in der Vorhersage als Fitness zu verwenden. Es existieren einige Funktionen, mit denen die Abweichung einer Vorhersage von den Originalen bewerten werden kann. So zum Beispiel der mean squared error (MSE) 8 : MSE(gp) = 1 n n (gp(i k ) o k ) 2 (4.4) k=1 Der MSE berechnet für alle n Vektoren des Trainingsdatensatzes Θ anhand der Vorhersage des Programms gp(i k ) und dem zu vorhersagendem Wert o k die mittlere quadratische Abweichung. Der Wert läuft gegen 0, je weniger Vorhersage und Referenz voneinander abweichen. Da im besten Fall der MSE den Wert 0 annimmt, ist dies eine standardisierte Fitnessfunktion. Für den Klassifikationsfall - der in dieser Arbeit nicht behandelt wird - kann ferner der classification error (CE) angewendet werden: CE(gp) = n class(gp(i k )) o k 1 (4.5) Auch der CE ist eine standardisierte Fitnessfunktion, da er die Anzahl der Fehlklassifikationen für alle n Vektoren des Trainingsdatensatzes bestimmt und im 8 Terminus technicus, dt. mittlere quadratische Abweichung. 60

63 Idealfall gegen 0 konvergiert. Beide Gütekriterien beziehen sich nur auf die Vorhersagegenauigkeit des Kandidaten. Die Repräsentation des Kandidaten selbst ist dabei irrelevant. Dies hat zur Folge, dass häufig sehr komplexe Kandidaten recht einfache Zusammenhänge modellieren. Diesen Effekt nennt man bloating 9. Dies kann dazu führen, dass eine Population an Diversivität verliert und nur noch sehr ähnliche Kandidaten in ihr vorkommen. So sind die beiden folgenden Programme f() und g() in Listing 4.2 vom Phänotyp her identisch 10 und besitzen daher bei einer Vorhersage die gleiche Vorhersagegenauigkeit, unterscheiden sich aber in ihrer genotypischen Komplexität. Um den Bloat-Effekt zu kompensieren, gibt es Ansätze, die die genotypische 1 void f ( double [ ] r ) 2 { 3 r [ 0 ] = r [ 5 ] + r [ 7 ] ; 4 } 5 6 void g ( double [ ] r ) 7 { 8 r [ 1 ] = r [ 5 ] + r [ 7 ] ; 9 r [ 4 ] = r [ 6 ] r [ 2 ] ; 10 r [ 0 ] = r [ 0 ] + r [ 0 ] ; 11 r [ 5 ] = s i n ( r [ 8 ] ) ; 12 r [ 0 ] = r [ 1 ] + r [ 9 ] ; 13 } Listing 4.2: Unterschiedliche Genotypens eines Programms. Komplexität, z.b. die Anzahl der Symbole oder Operatoren, eines Kandidaten in ein Gütekriterium mit einfließen lassen und so einen Sparsamkeitsdruck 11 erzeugen [3, 54]. In Gleichung 4.6 ergibt sich die Fitness F des Kandidaten gp aus seinem Fehler F und seiner Komplexität F. Durch den Sparsamkeitsdruckfaktor 12 α, kann kontrolliert werden, wie groß der Einfluss der Komplexität C sein soll. F(gp) = E(gp) + α C(gp) (4.6) Der Sparsamkeitsdruckfaktor α kann über die Generationen konstant gehalten werden (konstanter Sparsamkeitsdruck 13 ) oder auch über die Generationen hinweg variiert werden (adaptiver Sparsamkeitsdruck 14 ), mit dem Ziel, möglichst 9 Terminus technicus. dt. aufblähen. 10 Dazu wird vorausgesetzt, dass r[9] den Wert 0 enthält. 11 Terminus technicus, engl. parsimony pressure. 12 Terminus technicus, engl. parsimony pressure term. 13 Terminus technicus, engl. constant parsimony pressure 14 Terminus technicus, engl. adaptive parsimony pressure 61

64 kompakte Programme zu erhalten. Durch eine Verallgemeinerung des Sparsamkeitsdruck erhält man eine Gleichung 4.7, in der ein Fitnesswert F (gp) durch die Linearkombination von n Einzelkriterien c i gebildet wird. Durch Gewichtung der einzelnen Kriterien durch das Gewicht w i, kann der Einfluss eines jeden Kriteriums bestimmt werden. F(gp) = n w i c i (gp) (4.7) i Die Reduktion vieler Gütekriterien auf einen Fitnesswert hat auch Nachteile. So ist es nicht zwingend erforderlich, dass die Linearkombination der Fitnesswerte zu einer Optimierung aller enthaltenen Gütekriterien beiträgt. In dem Bereich Multi-Objective Optimization (MOO) 15 werden Multi-Objective Evolutinoary Algorithms (MOEA) zur gleichzeitigen Optimierung mehrere Kriterien entwickelt. Unter Verwendung solcher Algorithmen ist es möglich, die Probleme der Diversivität [55] und bloat [56] zu adressieren. MOEA in Kombination mit GP bilden den Bereich des Multi-Objective Genetic Programming (MOGP) [57]. Wenn mehrere Kriterien gleichzeitig optimiert werden sollen, ist es nicht möglich, die Individuen in eine lineare Rangfolge zu bringen und daher auch nicht möglich, das beste Individuum zu bestimmen. MOO verwendet hier die Idee der Pareto-Dominanz, um die Güte der Kandidaten zu beschreiben. k 2 k 1 Abbildung 4.2: Eine Pareto-Front. Ziel ist eine Minimierung, daher sind besser Individuen näher an den Ursprüngen der Achsen. Liegt eine Population X vor, dann definiert sich die Pareto-Dominanz bei M objectives 16, die durch die Funktionen f m bestimmt werden, wie folgt: Definition 5 (Pareto-Dominanz). Eine Lösung x X dominiert eine Lösung x und man schreibt x x wenn m {1,..., M} : f m (x) < f m (x ) und m {1,..., M} : f m (x) > f m (x ). [58] 15 Terminus technicus, dt. Mehrkriterienoptimierung oder Mehrzieloptimierung. 16 Terminus technicus, dt. Kriterien. 62

65 Das bedeutet, dass ein Individuum x einem Individuum x gegenüber paretodominant ist, wenn es in mindestens einem Kriterium, besser aber in keinem Kriterium schlechter als x ist. Alle nicht-dominierten Individuen bilden die Pareto-Front und sind paretooptimal. Definition 6 (Pareto-Front). Für alle Element {x x X : x x} gilt, bilden eine Pareto-Front. Dies gilt z.b. für alle dick gezeichneten Punkte in Abbildung 4.2. Ein Multi- Objective Evolutionary Algorithm (MOEA) versucht auf evolutionärem Wege, die Individuen zu verbessern, sodass sich die Pareto-Front, immer mehr in Richtung des Optimums verschiebt. Im Rahmen eines Minimierungsproblems bedeutet dies, dass die Individuen immer näher an den Ursprung der Achsen heran rücken. So versucht ein MOO, eine Pareto-Front zu finden, deren Kompromisslösungen zwischen den Optima der betrachteten Kriterien verteilt sind. Die Fitness eines Kandidaten wird von dem Selektionsmechanismus herangezogen, um Kandidaten für die Rekombination und Mutation zu bestimmen. Ein in der Genetischen Programmierung populärer Selektionsmechanismus ist die Turnierselektion (engl. tournament selection) [3]. Mit ihr werden die Elternteile für repeat Wähle zufällig n ts Kandidaten aus der Population. Wähle den besten Kandidaten gemessen an seiner Fitness als Elternteil aus. until Genügend Elternteile vorhanden Algorithmus 2: Turnierselektion die Rekombination und Mutation bestimmt. Je höher die Turniergröße k gewählt wird, desto höher ist auch der Selektionsdruck. Bei einem höheren Selektionsdruck beginnen gute Individuen eine Population schneller zu dominieren, sodass die Population schneller zu einer bestimmten Lösung strebt, die jedoch nicht das globale Optimum darstellen muss. Die Turnierselektion hat an Popularität gewonnen, da sie nicht zentralisiert durchgeführt werden muss und nur eine kleinen Teil der Population betrifft und sich so von anderen Methoden, wie z.b. der Ranking Selection, Fitness Proportional Selection bzw. roulette-wheel selection, abgrenzt [3] Rekombination Nach der Bestimmung der Fitness gilt es die Elternteile zu rekombinieren (engl. crossover), um Nachfahren zu erhalten, die im Idealfall bezüglich der Fitness besser sind, als ihre Eltern. Damit soll über die Zeit gesehen die durchschnittliche Fitness der Population verbessert werden. 63

66 1 void f ( double [ ] r ) 2 { 3 r [ 0 ] = r [ 2 ] + r [ 2 ] ; 4 / xover p o i n t / 5 r [ 3 ] = tan ( r [ 5 ] ) ; 6 r [ 0 ] = r [ 0 ] r [ 4 ] ; 7 } 8 void g ( double [ ] r ) 9 { 10 r [ 1 ] = r [ 5 ] / r [ 7 ] ; 11 r [ 5 ] = r [ 5 ] r [ 7 ] ; 12 / xover p o i n t / 13 r [ 0 ] = r [ 1 ] / r [ 4 ] ; 14 } Listing 4.3: Rekombination zweier LGP Kandidaten. Bei LGP bedeutet die Rekombination den Austausch von Quelltext-Segmenten zwischen den Elternpaaren. Die Auswahl der auszutauschenden Segmente ist durch die konkrete Rekombinations-Methode bedingt. Bei dem one-point-crossover werden zwei Kandidaten, f() und g(), an jeweils einer Position, beispielhaft die Zeilen 4 und 13 in Listing 4.3, in Kopf und Rumpf geteilt, um dann Kopf oder Rumpf mit einem Rekombinationspartner zu tauschen. Durch die Rekombination ergeben sich dann die Nachfahren i() und j() in Listing 4.4. An diesem Beispiel ist auch der bereits genannte Bloat-Effekt gut zu erkennen: Da j() jeweils die Segmente mit mehr Instruktionen seiner Eltern enthält, setzt er sich aus mehr Instruktionen zusammen als seine Vorfahren. Überträgt man dies auf Kandidaten, die mehrere Dutzend Instruktionen besitzen, kann dies schnell zu umfangreichen Kandidaten, d.h. Kandidaten mit sehr vielen Instruktionen, führen. Neben dem one-point-crossover existieren noch weitere Ansätze für die Rekombination, wie das two-point-crossover, bei dem beliebige Segmente zweier Programme ausgetauscht werden können [49]. Koza betrachtet die Rekombination als den dominanten genetischen Operator, die Begründung geht zurück auf die Baustein-Hypothese 17 genetischer Algorithmen [50, 3]. Unter der Baustein-Hypothese wird angenommen, dass in einer Population gute Bausteine, d.h. Quelltext-Segmente, vorhanden sind, die die Fitness eines Kandidaten verbessern und daher dessen Reproduktionswahrscheinlichkeit erhöhen. Grundsätzlich erfordert dies jedoch, dass die Repräsentation des Individuums eine Zerlegung in Bausteine zulässt. 17 Terminus technicus, engl. building-block-hypothesis 64

67 1 void i ( double [ ] r ) 2 { 3 / Kopf von f ( ) / 4 r [ 0 ] = r [ 2 ] + r [ 2 ] ; 5 6 / Rumpf von g ( ) / 7 r [ 0 ] = r [ 1 ] / r [ 4 ] ; 8 } 9 void j ( double [ ] r ) 10 { 11 / Kopf von g ( ) / 12 r [ 1 ] = r [ 5 ] / r [ 7 ] ; 13 r [ 5 ] = r [ 5 ] r [ 7 ] ; / Rumpf von f ( ) / 16 r [ 3 ] = tan ( r [ 5 ] ) ; 17 r [ 0 ] = r [ 0 ] r [ 4 ] ; 18 } Listing 4.4: Nachfahren zweier LGP Rekombinations-Kandidaten Mutation Neben der Rekombination existiert noch die Mutation als genetischer Operator. Die Mutation ist notwendig, um die Vielfalt in einer Population zu erhalten und verhindert, dass die Suche zu einer Lösung in einem lokalen Minimum konvergiert. Da die Mutation mit Sprüngen im Suchraum vergleichbar ist, führt dies dazu, dass aus einem lokalen Minimum heraus gesprungen werden kann. Auch kann die Mutation bereits verdrängte Operatoren oder Operanden wieder in den Suchprozess einbinden. Die Verdrängung von Operatoren oder Operanden aus einer Population kann z.b. dadurch eintreten, dass die Individuen, die diese Operatoren enthalten, aus der Kombination verdrängt werden. Nehmen wir dazu z.b. an, dass die Population nur aus den beiden in Listing 4.4 gezeigten Kandidaten besteht, dann wird die Population trotz beliebig vieler Rekombinationen niemals die Operatoren sqrt() oder cos() enthalten, da die Rekombination nur bestehenden Instruktionen (re-)kombiniert und keine neuen bzw. verdrängten Operatoren einführt. Durch die Mutation werden zufällige Operanden oder Operatoren mutiert, d.h. durch einen anderen Wert bzw. Operator ersetzt. Durch die Mutation des Kandidaten aus Listing 4.4, kann beispielsweise die sqrt() Funktion wieder in die Population eingeführt werden. Auch bei der Mutation existieren unterschiedliche Umsetzungen, die verschiedene Strategien verfolgen. Eine Übersicht kann dazu [49] entnommen werden. 65

68 1 void j ( double [ ] r ) 2 { 3 / Kopf von g ( ) / 4 r [ 1 ] = r [ 5 ] / r [ 7 ] ; 5 r [ 5 ] = r [ 5 ] r [ 7 ] ; 6 7 / Rumpf von f ( ) / 8 r [ 3 ] = sqrt ( r [ 5 ] ) ; 9 r [ 0 ] = r [ 0 ] r [ 4 ] ; 10 } Listing 4.5: Mutation eines LGP Kandidaten Subpopulationen Eine weitere Methode, die Diversivität innerhalb der Population zu erhalten und eine vorzeitige Konvergenz zu verhindern, ist das sogenannte Insel-Modell, in dem auch beobachtet worden ist, dass die Evolution durch dieses Konzept beschleunigt werden kann [59, 60, 49]. d 8 d 1 d 7 d 2 d 6 d 3 d 4 d 5 Abbildung 4.3: Das Stepping-Stone-Modell, eine Variante des Insel-Modells. Unter Verwendung des Insel-Modells wird die Population P in k Subpopulationen oder auch Demes aufgeteilt, die sich parallel entwickeln. Durch die sogenannten Migrationspfade findet ein Austausch von Individuen zwischen den Demes statt. Sind die Demes wie in Abbildung 4.3 kreisförmig miteinander verbunden, spricht man von einem Insel-Modell (engl. Stepping-Stone-Modell) [49]. Hier besitzt jedes Deme nur einen Migrationspfad zu seinem Nachbarn. Neben der Verbesserung der Evolution, hat das Insel-Modell noch den Nebeneffekt, dass es sich sehr effizient auf Multi-Core-CPUs implementieren lässt. Jeder CPU-Kern kann in diesem Fall die Evolution einer Subpopulation berechnen. 66

69 4.4 Bestimmung der Sprache für stetige Formeln Eine Anforderung an den zu entwickelnden Ansatz istbesteht daraus, nur stetige Formeln zu erzeugen. Es ist bekannt, dass die Stetigkeit für algebraische und transzendente Funktionen gegeben ist [20, 61]. Instruktionstyp Notation Definitionsbereich Arithmetische Funktionen r i = r j + r k r i, r j, r k R r i = r j r k r i = r j r k r i = r j /r k Trigonometrische Funktionen r i = sin(r j ) r i, r j R r i = cos(r j ) r i = tan(r j ) Exponentialfunktionen r i = r (r k) j r i, r j, r k R r i = e r j r i = ln(r j ) r i = rj 2 r i = r j Tabelle 4.4: Relevante Funktionen. Die Syntax von Ausdrücken lässt sich durch eine (formale) kontextfreie Grammatik G beschreiben, die sich aus einer Menge an Nicht-Terminalen N, Terminalen T, Produktionsregeln P und einem Startsymbol S zusammen setzt [62]. Als Tupel kann man dies wie folgt schreiben: G = (N, T, P, S) Durch diese Grammatik kann man von einemn Startsymbol S ausgehend, das durch Produktionsregeln solange Ersetzungen von nicht-terminalen Symbole aus der Menge N durchführten, bis der Ausdruck nur noch aus terminalen Symbolen der Menge T besteht. Alle Wörter, die sich durch eine Grammatik G erzeugen lassen, bilden die Sprache L(G) [62]. Die Spezifikation zulässiger Formeln erfolgt hier durch die in Anhang A.1 gezeigte ABNF Grammatik 18. Anhand dieser Grammatik G F ormula kann überprüft werden, ob die durch die Programme generierten Formeln der Form entsprechen, die gefordert ist. Die 18 Es existieren unterschiedliche Grammatiken, die hier verwendete ABNF-Grammatik ist von der IETF spezifiziert [63] und kann mit Werkzeugen unter inventory/verif-tools verifiziert werden. 67

70 folgenden Formeln liegen in der Sprache L(G F ormula ) vor, die durch die obige Grammatik erzeugt werden: 1 ( ( ( s i n ( x)+3) a) ((6 x ) ˆ 2 ) ) 2 ( a+x ) 3 (3 y) tan ( c ) 4 c 5 (. 5 ˆ ) ( ( ( r+e )) exp( g, g, i, ln ( ( exp ( ) ˆ ( e (SqrT ( ) ) ) SqRT( g, h ) 10 l ( d / ) Listing 4.6: Beispiel zu gültigen Formeln. In dieser Arbeit sind die zu verwendenden Operatoren durch Experten gegeben. Ist dies in einer Problemstellung nicht der Fall, so kann ein von Schmidt und Lipson vorgeschlagener Ansatz [64] helfen, der die Symbole einer Sprache versucht zu identifizieren, um Probleme möglichst gut zu lösen Aufbau der Programme In diesem Abschnitt wird die Form der Programme spezifiziert und ein einfacher Algorithmus vorgestellt, mit dem Programme der spezifizierten Form in Formeln überführt werden können. Prinzipiell werden bei diesem Ansatz LGP Programme eingesetzt (vgl. 4.3).Die verwendeten Operatoren müssen auf die im vorherigen Abschnitt vorgestellten beschränkt werden. Diese Einschränkung lässt sich durch die ABNF-Grammatik G P rogramm in Anhang A.2 ausdrücken. Unter Zuhilfenahme dieser kann jeder Kandidat auf seine syntaktische Gültigkeit hin überprüft werden. Da die Struktur der Programme nicht verändert wird, sondern nur diese in ihrem Ausdruck beschränkt werden (z.b. keine Kontrollstrukturen,... ), sind keine Änderungen an den genetischen Operatoren notwendig. Es existieren ein paar Sonderfälle: Es kann vorkommen, dass syntaktisch korrekte Programme erzeugt werden, diese aber semantisch falsch sind. Dies kann z.b. passieren, falls eine Division durch 0 vorgenommen wird. In dieser Arbeit geben Programme, die semantisch inkorrekt sind, Not a Number (NaN) als Funktionswert zurück Terminus technicus, dt. Keine Zahl. 68

71 Überführung in eine Formel Im vorherigen Abschnitt wurde bereits per Definition festgelegt, dass in Programmen nur analytische Funktionen verwendet werden. Daher ist es möglich, ein Programm in eine Formeln zu überführen. Es folgt die Beschreibung eines Algorithmus, mithilfe dessen ein in der Sprache L(G P rogramm ) der obigen Grammatik G F ormula liegendes Programm in eine Formel überführt werden kann. Zur Konstruktion der Formel, wird jede Instruktion eines Programms in einen mathematischen Ausdruck überführt und (gedanklich) in das Zielregister der Instruktion geschrieben. Die Operanden der Instruktionen werden dabei aus den entsprechenden Registern bezogen. Verfährt man auf diese Weise mit allen Instruktionen eines Programms, enthält das Zielregister die gesuchte Formel. Beispiel Gehen wir von dem folgenden Programm und der Belegung der Register (Zeile 1) aus: 1 s [ ] = { 0, x, y, 99, 7 } ; 2 r [ 4 ] = r [ 1 ] / r [ 4 ] ; 3 r [ 3 ] = r [ 1 ] r [ 4 ] ; 4 r [ 0 ] = r [ 3 ] + r [ 4 ] ; Vollziehen wir nun das folgende Gedankenexperiment und ersetzen in Zeile 2 die als Operanden verwendeten Register (r[1] und r[4]) durch die Werte, die in den Registern stehen (x und 7) und formen mit dem Operator den Ausdruck (x/7). Dieser Ausdruck wird in das Zielregister der Instruktion (r[4]) geschrieben. Nach der Zuweisung sieht die Belegung der Register wie folgt aus: 1 s [ ] = { 0, x, y, 99, ( x /7) } ; Dies wird nach und nach für jede Instruktion durchgeführt. Das folgende Listing zeigt die Belegung der Register nach jeder der obigen Zuweisungen, die grau hervor gehobenen Bereiche kennzeichnen dabei die durch die Zuweisungen entstandenen Änderungen: 1 s [ ] = { 0, x, y, 99, 7 } ; 2 3 s [ 4 ] = r [ 1 ] / r [ 4 ] = ( x /7) ; 4 / { 0, x, y, 99, (x/7) } ; / 69

72 1 s [ 3 ] = r [ 1 ] r [ 4 ] = ( x ( x /7)) ; 2 / { 0, x, y, (x*(x/7)), ( x /7) } ; / 3 4 s [ 0 ] = r [ 3 ] + r [ 4 ] = ( x ( x /7))+( x /7) ; 5 / { (x*(x/7))+(x/7), x, y, ( x ( x /7)), ( x /7) } ; / Abschließend enthält das Zielregister r[0] die gesuchte Formel: (x (x/7)) + (x/7) Durch die Zusammenfassung der obigen Schritte, ergibt sich der folgende schematische Ablauf: 1. Alle Register beinhalten eine textuelle Repräsentation ihrer Werte oder werden in ein solches überführt. 2. Beginne bei der ersten Instruktion des Programms. 3. Ersetze die Operanden durch den Inhalt der verwiesenen Register. 4. Bilde mit dem Operator einen Ausdruck und schreibe diesen in das Zielregister der Instruktion. 5. Gibt es keine weiteren Instruktionen im Programm, gehe zu Schritt Gehe zur nächsten Instruktion und gehe zu Schritt Das Zielregister enthält eine gültige Formel als Repräsentation des Programms. Formaler wird dieses Vorgehen durch Algorithmus 3 beschrieben. Die Funktion substitute operands() ersetzt dabei die Operanden, d.h. die zwei Register, durch die Werte die in den beiden Registern zu finden sind. Die überführte Formel wird nicht vereinfacht, d.h. sie enthält aufgrund des Algorithmus viele Klammerausdrücke und semantische Introns. Das bedeutet auch, dass die Formel unter Umständen komplexer erscheint, als sie ist. In einer ersten Betrachtung widerspricht dies der Zielsetzung dieser Arbeit, doch zwei Punkte relativieren dieses Problem. Grundsätzlich wird der Raum aller möglichen Formeln untersucht. Das bedeutet auch, dass prinzipiell zu jeder unnötig komplexen Formel, auch eine einfachere identische Formel gefunden werden könnte. Dies ergibt sich aus den Eigenschaft der genetischen Programmierung (vgl. Abschnitt 3.5). Außerdem kann die Formel durch ein beliebiges Computeralgebras-System vereinfacht werden, sodass auf diesem Wege die Formel 1 7 (x2 + x) 70

73 Require: program Require: dst register program str registers to string(program) i 0 while i < number of instructions(program str) do cinstruction = program.instructions[i] substitute operands (cinstruction) cinstruction.destination instruction to string (cinstruction) i i + 1 end while return program[dst register] Algorithmus 3: Umwandlung eines LGP Programms in eine Formel. oder eine äquivalente Repräsentation gefunden wird. Angemerkt sei noch, dass die Formel keine eindeutige Abbildung des Programms darstellt. Beispielsweise kann bei der Formel (1 x) + (1 x) nicht festgestellt werden, ob die Variable x dem selben oder unterschiedlichen Registern entstammt. 71

74 4.5 Gütekriterien für Vorhersagegenauigkeit und Kompaktheit Nachdem die Sprache und deren Umsetzung spezifiziert worden ist, gilt es nun zu betrachten, durch welches Maß die Kriterien Vorhersagegenauigkeit und Kompaktheit wiedergegeben werden können Vorhersagegenauigkeit Die Ermittlung der Vorhersagegenauigkeit eines Individuums ist umfangreich untersucht worden [6]. Es handelt sich dabei darum, wie kohärent das Modell (das Individuum) die Stichprobe erklärt 20. Eine (unvollständige) Liste von Funktionen, die ein Maß für die Vorhersagegenauigkeit sind, ist: die Summe der Fehlerquadrate (SSE 21 ) die Standardabweichung (MSE 22 ) die mittlere quadratische Abweichung (RMSE 23 ) Ein Unterschied in den Funktionen liegt darin, dass z.b. der SSE größere Fehler stärker bestraft als der MSE Kompaktheit Die Anzahl der Metriken, die sich auf die Kompaktheit eines Modells beziehen, ist geringer als die, die sich auf die Vorhersagegenauigkeit beziehen. Ein Grund dafür ist sicherlich, dass eine Metrik für die Kompaktheit eines Modells, von dessen Repräsentation abhängt und so für unterschiedliche Repräsentationen auch unterschiedliche Metriken benötigt werden. So kann beispielsweise in einem KNN die Anzahl der Knoten als Metrik herangezogen werden, diese Metrik kann aber nicht auf eine SVM Repräsentation angewendet werden, da hier keine Knoten existieren. Die gestellten Anforderungen in Abschnitt 2.5 erfordern, dass möglichst kompakte Formeln gefunden werden. Da Formeln einen symbolischen Aufbau haben, wird zuerst anhand der Anzahl der Symbole die Komplexität der Formel bestimmt, um von dieser die Kompaktheit abzuleiten. Dazu wird vorausgesetzt, dass sich die Komplexität einer Formeln, aus der Art und Anzahl der verwendeten Symbole ergibt, sodass eine zunehmende Anzahl an Symbolen einer höheren 20 Im Bereich des maschinellen Lernens auch mit Goodness-of-Fit bezeichnet. 21 Terminus technicus, engl. Sum of squared error (SSE). 22 Terminus technicus, engl. Mean squared error (MSE). 23 Terminus technicus, engl. Root mean square error (RMSE). 72

75 Komplexität entspricht. Die Kompaktheit definiert sich so über die negierte Komplexität einer Formel. Da im Rahmen von LGP generell ein Kriterium minimiert wird, werden auch dort die Metriken für die Komplexität einer Formel eingesetzt. Als Ansatz, um die Komplexität einer Formel zu beschreiben, können zum Beispiel die folgenden Metriken verwendet werden: 1. Anzahl der Instruktionen NINS 2. Anzahl der Variablen NV ARS 3. Anzahl der unterschiedlichen Variablen N DV ARS 4. Anzahl der Konstanten NCONST S 5. Anzahl der unterschiedlichen Konstanten N DCON ST S 6. Anzahl der Operanden NOP ERS 7. Anzahl der unterschiedlichen Operanden N DOP ERS 8. Anzahl der Operatoren NOP CODES 9. Anzahl der unterschiedlichen Operatoren N DOP CODES 10. Anzahl der Operanden und Operatoren NOP S 11. Anzahl der unterschiedlichen Operanden und Operatoren N DOP S 12. Länge der abgeleiteten Formel ST RLEN Die Zusammenstellung der Metriken resultierte vor allem aus dem Gedanken heraus, möglichst unterschiedliche Eigenschaften einer Formel zu erfassen, letztendlich beziehen sich alle obigen Metriken auf die Anzahl der Symbole. Die Metrik NINS unterscheidet sich insofern von den darauf folgenden, als das sie sich auf die Anzahl der Instruktionen, also auf das Programm bezieht. Alle weiteren Metriken beziehen sich hingegen auf die aus dem Programm abgeleitete Formel (vgl. Abschnitt 4.4.1). Ein interessanter Ansatz wäre, kognitiv zu untersuchen, wann ein Mensch eine Formel als kompakt bzw. als komplex beurteilt. Dieser Fragestellung würde den Rahmen dieser Arbeit sprengen, ein Einstieg bietet jedoch [6]. Um ein Verständnis für diese Metriken zu entwickeln, wird für jede der oben genannten Metriken der Wert anhand des Beispiels in Listing 4.7 bestimmt. Die Anzahl der Instruktionen ist leicht zu ermitteln. Jede Zeile, die einen Operator enthält, gilt als Instruktion. Die Metriken beziehen sich auf die Formel (x (x/7)) + (x/7), die durch das Programm in Listing 4.7 dargestellt wird. Die Werte für die Anzahl der Operatoren kann direkt abgelesen werden. Eine Variation dieser Metriken ist das 73

76 1 void gp ( double [ ] r ) 2 { 3 r [ 4 ] = r [ 1 ] / r [ 7 ] ; 4 r [ 3 ] = r [ 1 ] r [ 4 ] ; 5 r [ 0 ] = r [ 3 ] + r [ 4 ] ; 6 } Listing 4.7: Beispiel für Komplexitäts-Metriken. Erfassen der unterschiedlichen Operanden, z.b. wird die Variable x nur einmal gezählt, obwohl sie dreimal in der Formel erscheint. Gleiches gilt für das Zählen der Operatoren. Die Länge der abgeleiteten Formel entspricht der Länge der Zeichenkette, die die Formel repräsentiert, d.h. im Grunde die Anzahl an Operanden und Operatoren, ergänzt um die Anzahl der öffnenden und schließenden Klammern. Tabelle 4.5 fasst die Ergebnisse der Messungen zusammen. Beschreibung Wert Kommentar Anzahl an Instruktionen 3 Zeilen 3-5 Anzahl an Variablen 1 x Anzahl unterschiedlicher Variablen 1 x Anzahl an Konstanten 2 7 Anzahl unterschiedlicher Konstanten 1 7 Anzahl an Operanden 5 x,x,7,x,7 Anzahl unterschiedlicher Operanden 2 x,7 Anzahl an Operatoren 4,/,+ Anzahl unterschiedlicher Operatoren 3,/,+ Anzahl an Operanden und Operatoren 9 x,,x,/,7,+,x,/,7 Anzahl unt. Operanden und Operatoren 5 x,,/,7,+ Länge der abgeleiteten Formeln 15 Tabelle 4.5: Werte der Metriken für ein Beispiel. Bei den Metriken handelt es sich um Heuristiken, die die Komplexität - indirekt die Kompaktheit - der Formel zu bestimmen. Denn die Formel kann syntaktische oder semantische Introns (vgl. [49]), d.h. Instruktionen oder Operationen, die keine Auswirkung auf das Ergebnis haben, enthalten. Auch können Umformungen zu einer kompakteren Form führen. 74

77 4.6 Mehrkriterienoptimierung Nachdem zuvor Gütekriterien für die Vorhersagegenauigkeit und die Kompaktheit eines Modells spezifiziert worden sind, ist nun zu klären, wie diese Kriterien genutzt werden können, um ein kompaktes Modell zu finden, gleichzeitig aber zu verhindern, dass die Population zu signifikant an Diversivität verliert. Der Verlust an Diversivität führt dazu, dass die Population nur einen kleinen Bereich des Suchraums abdeckt, obwohl der Raum breit durchsucht werden soll. Die einfachen Linearkombination der Kriterien Vorhersagegenauigkeit und Komplexität hat den Vorteil, dass sie einfach zu berechnen ist. Nachteilig ist jedoch, dass nach der Berechnung nicht mehr ersichtlich ist, wie gut das Individuum bezüglich eines der beiden Kriterien ist. Dadurch besteht auch nicht mehr die Möglichkeit, die Individuen explizit so auszuwählen, als dass sie gut zwischen den Optima der beiden Kriterien verteilt sind. Bei der Mehrkriterienoptimierung ist dies jedoch der Fall. Hier werden die Kriterien gleichzeitig betrachtet und nicht auf einen Wert reduziert, dadurch ist es möglich, die Individuen so auszuwählen, dass sie möglichst gut zwischen den Optima der beiden Kriterien verteilt sind. Ein Nachteil besteht darin, dass die Berechnung erheblich umfangreicher ist, als die der Linearkombination. Daher ist die in diesem Ansatz angestrebte Grundidee vergleichbar mit der, bei bestehenden MOGPs: Die Kombination eines Mehrkriterienoptimierungs- Algorithmus mit genetischer Programmierung [57]. Bisherige MOGP Ansätze haben MOEA vor allem dazu eingesetzt, den Bloat-Effekt zu reduzieren [56]. Langdon hat im Gegensatz dazu gezielt versucht, kompakte Lösungen einer Baumrepräsentation zu evolvieren [65]. In dieser Arbeit soll LGP mit NSGA-2 kombiniert werden, der sich nach [66] vor allem bei Rauschen besser verhält als SPEA2. Insbesondere stellt die Auswahl des Kriteriums für die Kompaktheit eines Individuums eine Herausforderung dar, da kompakte phenotypische Formeln gefunden werden sollen und dies noch nicht umfangreich untersucht worden ist NSGA-2, ein Mehrkriterienalgorithmus Der Selektionsmechanismus bestimmt, welche Individuen in einer Population P t mit N Individuen verbleiben und welche verdrängt werden, also nicht in die Population P t+1 übernommen werden. Darüber hinaus bestimmt er, welche Individuen zur Rekombination herangezogen werden, d.h. welche Individuen die Elternteile der Nachfahren Q t bilden. Der Non-dominated Sorting Genetic Algorithm (NSGA-2) hat zwei zentrale Eigenschaften: Er übernimmt nur die am wenigsten dominierten Individuen und bevorzugt davon die aus dünn besiedelten Regionen des Kriterienraums. Damit werden die Ziele verfolgt, die pareto-optimalen Individuen (vgl. Abschnitt 3.5.2) zu erhalten und zu verbessern, um die Pareto-Front näher an das Optimum zu 75

78 k 2 a b c k 2 k 1 k 1 (a) Population P t (b) Population P t+1 Abbildung 4.4: Selektion von Individuen durch NSGA-2. bringen. Gleichzeitig werden die Individuen über den Kriterienraum verteilt, um alle Kriterien zu optimieren. Abbildung 4.4a zeigt Individuen einer Population im Kriterienraum. Drei Aspekte sind in dieser Abbildung interessant: An der Stelle a liegen zwei Individuen nahe beieinander, das eine dominiert das andere. In Bereich b liegen vier nicht dominierte Individuen sehr dicht beieinander und in der dritten Situation c, liegt ein dominiertes Individuum weit ab. Ganz grob soll nun geklärt werden, welche Individuen verdrängt werden und wieso. Das in Situation a dominierte Individuum wird durch NSGA-2 verdrängt, da in dem Bereich zwei ähnliche Individuen liegen und der Algorithmus weniger dominierte Individuen bevorzugt. In Situation b werden die zwei hervorgehobenen Individuen verdrängt, da dieser Bereich sehr gut abgedeckt ist und eine Clusterbildung vermieden werden soll. Das Individuum an der Stelle c wird nicht verdrängt, damit dieser abgelegene und wenig abgedeckte Bereich weiterhin abgedeckt bleibt. Abbildung 4.4b zeigt den Kriterienraum nach der beschrieben Selektion durch NSGA-2. Um die oben beschriebenen Ziele zu erreichen, geht NSGA-2 wie folgt vor: In einem ersten Schritt werden alle Individuen - Elternteile P und Nachkommen Q - in der Menge R t vereint und nach ihrer Pareto-Dominanz gruppiert. Beginnend bei der ersten Front (die am wenigsten dominierten Individuen) werden nach und nach in die neue Elternpopulation P t+1 übernommen, bis diese mehr als N Individuen enthält. Gleichzeitig wird die crowding distance berechnet, die den Abstand zu einem Nachbarn angibt und anhand derer anschließend die Individuen in P t+1 absteigend sortiert werden. Dieses Vorgehen hat den Effekt, dass in der Population P t+1 nur die Individuen enthalten sind, die wenig dominiert werden und den größten Abstand zu einem Nachbarn besitzen. Dieser Algorithmus (Algorithmus 4) kommt den gestellten Anforderungen entgegen, da die Individuen möglichst ohne Cluster, d.h. möglichst gleichmäßig, über den Kriterienraum verteilt werden und so letztendlich der Anwender zwischen unterschiedlichen Individuen bezüglich der zwei Kriterien wählen kann. Die Selektion von Individuen als Elternteile für die Rekombination und Mutation geschieht über eine modifizierte Turnierselektion mit zwei Teilnehmern (engl. binary tournament). Um bei der Selektion mehrere Kriterien zu berücksichtigen, 76

79 R t = P t Q t F = fast-nondominated-sort(r t ) P t+1 = repeat crowding-distance-assignment(f i ) P t+1 = P t+1 F i until P t+1 < N sort(p t+1, n ) P t+1 = P t+1 [0 : N] Q t+1 = make-new-pop(p t+1 ) t = t + 1 Algorithmus 4: NSGA-2 Algorithmus wird der Gewinner des Turniers durch den crowded-comparison-operator n bestimmt, der das Individuum bevorzugt, welches weniger dominiert ist oder bei gleichem Rang, jenes, dessen Nachbar weiter entfernt ist. Das Turnier wird solange wiederholt, bis eine neue Population Q t+1 mit Nachfahren der Größe N erzeugt worden ist. Diese wird zu Beginn der neuen Generation mit der Elternpopulation verschmolzen, um neue Eltern zu bestimmen Integration Der Mehrkriterienalgorithmus kann nun unter der Verwendung der in Abschnitt 4.5 vorgestellten Metriken für die Vorhersagegenauigkeit und Komplexität prinzipiell dazu genutzt werden, Individuen bezüglich beider Kriterien zu optimieren und dafür Sorge zu tragen, dass sich diese zwischen den Optima beider Kriterien verteilen. Dies entspricht genau einer der Anforderungen. Die Kombination von MOEA mit Genetischer Programmierung fällt in den Bereich Multi-objective Genetic Programming (MOGP), eine Übersicht über bisherige Ansätze kann [57] entnommen werden. Doch keiner dieser Ansätze kombiniert NSGA-2 und die Linear Genetische Programmierung wie im Folgenden beschrieben. Die Integration des NSGA-2 MOEA in LGP beginnt mit dem Anpassen des LGP Algorithmus 1 aus Abschnitt 4.3. Die Integration beginnt mit der Anpassung der Turnierselektion, da diese anstatt der Fitness den crowded-comparison-operator verwenden muss. Damit dieser auf den domination-rank und die crowding-distance zurückgreifen kann, findet zuvor die Berechnung dieser beiden Werte statt. Dadurch ändert sich der Beginn des Algorithmus und nur eine Modifikation der Turnierselektion ist notwendig. Der vollständige Algorithmus, der sich durch die Anpassungen ergibt, ist in 5 dargestellt und stellt bildet den Kern des Ansatzes dar. 77

80 Require: maximum generations best None pop initialize random population() repeat merge imigrants(pop) f ast nondominated sort(pop) crowding distance assignment(pop) sort with(pop, n ) members select individuals f or tournament(pop) (winners, loosers) run tournament with(members, n ) winners copy copy(winners) variate(winners) evaluate(winners) if best of(winners) < best then best best of(winners) validate(best) end if replace with(loosers, winners copy ) until generation == maximum generations best test test(get with lowest validation error(pop)) return (best, best test) Algorithmus 5: Modifizierter LGP Algorithmus zur Kombination mit NSGA-2. 78

81 Durch diese Änderungen erfolgt die Selektion der Individuen durch NSGA- 2, anstatt der einfachen Turnierselektion (vgl. Abschnitt 4.3), d.h., es wird eine Mehrkriterienoptimierung durchgeführt. Ein Nachteil des von Deb [55] vorgeschlagenen NSGA-2 Algorithmus ist dessen Zeitkomplexität, die für eine Population mit N Individuen und M Kriterien, mit O(MN 2 ) angegeben ist. Bei kleinen Populationen mit 100 Individuen, wie sie von Deb verwendet worden sind, ist dies noch kein Problem. Doch unter Verwendung der recht großen Population von 5000 Individuen, wie sie von Brameier verwendet wird, stellt der Rechenaufwand ein erhebliches Problem dar. Deswegen soll durch die Kombination von NSGA-2 mit Demes die Zeitkomplexität reduziert werden. Dazu wird jede Subpopulation als eine NSGA-2 Instanz gesehen. Dazu ist nur eine kleine Änderung notwendig, in so fern als dass die Immigranten einer Subpopulation als child population im NSGA-2 Algorithmus betrachtet werden. Dadurch kann der NSGA-2 Algorithmus ohne Änderungen übernommen werden, nur die Verschmelzung der Subpopulation und der Immigranten muss ergänzt werden (siehe Schritt (1) in 5). Dadurch lässt sich die Komplexität bei einer Teilung der Population in k gleich große Demes von O(MN 2 ) auf O ( km( N k )2) mit k N reduzieren. 79

82 4.7 Priorisierung von Individuen Der Ansatz soll eine Möglichkeit bieten, ausgewählte Individuen während der Evolution priorisiert behandeln zu lassen. Diese Möglichkeit soll bestehen, damit der Anwender die Suche nach Lösungen im Suchraum steuern kann, d.h. Lösungen die subjektiv für gut befunden werden weiter zu verfolgen. Dies kann z.b. der Fall sein, wenn in einem Kandidaten die Kombination der Parameter als besonders sinnvoll erscheint, was durch den Algorithmus selbst jedoch nicht explizit berücksichtigt werden würde. Es gibt unterschiedliche Wege, dies zu realisieren: (a) Die Kriterien des Individuums werden auf ein Optimum gesetzt. Bei einem Minimierungsproblem bedeutet dies, die Fitnesswerte auf 0 zu setzen. (b) Ein Individuum kann fixiert werden, damit es durch Rekombination oder Mutation nicht verändert wird. (c) Unter Berücksichtigung der Buildingblock-Hypothese, kann das Individuum auch als Buildingblock-Repertoire gesehen werden und in Form von Buildingblocks in den Prozess einfließen. Der recht intuitive Ansatz (a), dass ein Individuum i durch die Anpassung seiner Gütekriterien verbessert wird, birgt z.b. das Problem, dass alle anderen Individuen diesem in der Turnier-Selektion unterlegen sind. Das hat zur Folge, dass selbst das derzeit besten Individuum der Population durch eine Kopie des Priorisierten ersetzt würde. Letztendlich soll die Priorisierung eines Individuums jedoch nicht dazu führen, dass die besten Individuen verdrängt werden. Der Vorteil ist, dass der evolutionäre Algorithmus an sich nicht verändert werden müsste. Der zweite Ansatz (b) erfordert Veränderungen an dem evolutionären Algorithmus, damit die Fixierung eines Individuums berücksichtigt wird. Nachteilig ist auch, dass die Fixierung des Individuums zur Folge hat, dass es nicht an der Mutation und nur teilweise an der Rekombination teilhaben kann. Da es fixiert ist, darf durch die Mutation keine Veränderung auftreten und bei der Rekombination kann es nicht verändert werden und nur Teile seiner selbst dem Rekombinationspartner bereitgestellt werden. Der dritte Ansatz (c) sieht das Individuum als - im übertragenem Sinne - Genpool. Dazu wird das Individuum dupliziert und existiert parallel zur Population. Probabilistisch bedingt wird es als Rekombinationspartner herangezogen und bleibt so genotypisch in der Population präsent. Dieser Ansatz erfordert eine Anpassung des Rekombinationsmechanismus, hat aber nicht den Nachteil, dass andere Individuen verdrängt werden oder es selbst nicht an der Evolution teilhaben kann. In dieser Arbeit definiert sich die Priorisierung von Individuen daher wie folgt: 80

83 Definition 7 (Priorisierte Individuen). Ein Individuum gilt dann als priorisiert, wenn die Wahrscheinlichkeit P recombination (gp) eines Individuums gp unabhängig von seinen Gütekriterien und unabhängig von der Wahrscheinlichkeit für eine Veränderung P variate (gp) = 0 ist. Das Einbringen in eine Rekombination ist probabilistisch bedingt und ist die Alternative zu dem üblichen Vorgehen bei der Rekombination. Die Rekombination basiert auf der Buildingblock-Hypothese, dementsprechend wird hier davon ausgegangen, dass durch die wiederholte Bereitstellung der manuell für gut befundenen Buildingblocks - welche ein Individuum darstellt - eine bessere Lösung gefunden werden kann. 81

84 4.8 Einbringen von Vorwissen Das Einbringen von Vorwissen kann auf unterschiedliche Arten geschehen. Vorwissen kann durch die Vorverarbeitung der Datenbasis eingebracht werden. Beispielsweise können bestimmte Beziehungen zwischen Variablen heraus gerechnet werden. Bereits die Auswahl von Variablen stellt Vorwissen dar. Diese Eingriffsmöglichkeiten sind jedoch nicht abhängig von der Genetischen Programmierung und können auch bei anderen Lernverfahren eingesetzt werden. Im Rahmen der Genetischen Programmierung soll Vorwissen durch eine der folgenden Wege in die Evolution einfließen: 1. Die Bereitstellung bestimmter Konstanten wie der Kreiszahl π, die eulersche Zahl e oder anderen domänenabhängigen Konstanten. 2. Die Anpassung der Wahrscheinlichkeiten für das Auftreten ausgewählter mathematischer Operatoren bei der Mutation. 3. Im Vorfeld bereitgestellte bzw. manuell angegebene Individuen. Benutzerdefinierte Konstanten werden direkt in speziellen Registern des Programms abgelegt. Im Vergleich zu dem von Brameier vorgestellten Ansatz, sind so beliebige reelle Zahlen als Konstanten verwendbar. Die Anpassung der Wahrscheinlichkeiten bestimmter Operationen kann durch eine wiederholte Angabe der entsprechenden Operation umgesetzt werden. Soll beispielsweise die Addition häufiger bei der Mutation verwendete werden, wird diese mehrmals angegeben. Das Einbringen von zuvor erstellten Individuen erfolgt, indem diese als priorisierte Individuen betrachtet werden und wie im vorherigen Abschnitt behandelt werden. 82

85 4.9 Zusammenfassung und Diskussion Anschließend an die in Kapitel 2 formulierten Anforderungen, anhand einer Stichprobe und Vorwissen unterschiedlich kompakte Formeln zu bestimmen, die Kompromisslösungen darstellen, wurde in diesem Kapitel ein Lösungsansatz entwickelt. Der Lösungsansatz basiert auf der Genetischen Programmierung. Diese bietet jedoch nur wenig Möglichkeiten zur Integration von Vorwissen und keine Möglichkeiten, Kompromisslösungen anstatt einer einzigen Lösung zu bestimmen. Darüber hinaus musste sichergestellt werden, dass nur stetige Formeln entwickelt werden. Die Eingrenzung auf stetige Formeln, führte über die Definition zweier Grammatiken, die zum einen die Form gültiger Formeln vorgibt und die Form der internen Repräsentation der genetischen Programmierung beschränkt, sodass dadurch die Menge der gültigen Formeln deklarativ und generisch beschrieben ist. Nach der Spezifikation der Form der Formeln, konnte ein Komplexitätsmaß entwickelt werden, das einen Rückschluss auf die Kompaktheit einer Formel zulässt. Anhand dieses Komplexitätsmaßes und dem Mehrkriterienalgorithmus NSGA-2 wurde dann eine Teillösung entwickelt, mit der unterschiedliche Kompromisslösungen bezüglich Kompaktheit und Vorhersagegenauigkeit optimiert werden können. Die Verbindung von NSGA-2 mit dem Insel-Modell führt gleichzeitig zu einer reduzierten Zeitkomplexität gegenüber NSGA-2 ohne Insel-Modell. In zwei weiteren Abschnitten wurde erörtert wie der Benutzer in die Lage versetzt werden kann, in den Prozess zur Bestimmung der Lösungen einzugreifen und wie anderweitiges Vorwissen in den Prozess eingebracht werden kann. Der entwickelte Ansatz ermöglicht es dem Benutzer während der Laufzeit ausgewählte Lösungen zu priorisieren, sodass diese häufiger als Rekombinationspartner während der genetischen Evolution herangezogen werden. Dadurch soll der Benutzer die Suchrichtung des Algorithmus im Suchraum beeinflussen können. Zusätzlich kann der Benutzer Vorwissen durch die Angaben von Konstanten, Operatoren und Funktionen in den Prozess einbringen. Die Angabe von Konstanten und Operatoren war bereits ein Parameter der genetischen Programmierung. Die Einbringung von Funktionen wurde ergänzt und verwendet den gleichen Mechanismus, der auch zur Priorisierung von Individuen eingesetzt wird. Der entwickelte Ansatz, ergänzt und verändert den genetischen Algorithmus. Es muss sich Zeigen, welche Auswirkungen diese Veränderungen auf das Verhalten und die Eigenschaften des zugrunde liegenden Algorithmus haben. Vor allem die Kombination von NSGA-2 unter Verwendung des Komplexitätsmaß STRLEN-THIRD mit dem Insel-Modell führt dazu, dass die Einstellparameter unter Umstände andere Auswirkungen auf das Verhalten des Algorithmus haben, 83

86 als es in der klassischen Variante der Fall ist. Nicht nur die Einstellparameter können neu zu interpretieren sein, auch muss überprüft werden inwieweit die Verbindung von NSGA-2 mit dem Insel-Modell zu nützlichen Ergebnissen führt. Da es sich bei der Sicherstellung der Gültigkeit von Formeln nur um eine kleine Einschränkung der Genetischen Programmierung handelt und als Symbolische Regression bezeichnet wird, ist der Einfluss dieser Änderung besser abzuschätzen als der Einfluss von NSGA-2. Abschließend gestaltet sich auch die Einschätzung der Wirksamkeit der Mechanismen, die eine Steuerung des Prozess ermöglichen sollen, als schwierig. Es ist trivial zu überprüfen, ob der Mechanismus wirklich zu einer häufigeren Berücksichtigung der priorisierten Kandidaten führt. Doch der Nutzen dieses Mechanismus für das Gesamtergebnis, die zu bestimmenden Kompromisslösungen, hängt von den subjektiv priorisierten Individuen ab. So kann durch die Auswahl guter Individuen die Evolution beschleunigen, genauere oder kompaktere Individuen bestimmen. Werden die Individuen ungünstig ausgewählt ist auch vorstellbar, dass die Priorisierung zu einer Konzentration der Individuen in einem lokalen Minimum stattfindet. 84

87 Kapitel 5 Implementierung Zur Implementierung der symbolischen Regression wurde die junge Programmiersprache Vala 1 gewählt. Vala ist objektorientiert und lehnt sich in der Syntax und Konzepten an C# und Java an. Im Gegensatz zu C# oder Java kommt jedoch kein Interpreter zur Laufzeit zum Einsatz, sondern durch den valac-compiler findet eine Übersetzung in die Programmiersprache C und anschließend - durch einen C-Compiler wie gcc 2 oder clang 3 - in Maschinencode statt. Die Implementierung besteht aus vier Komponenten, die wesentlichen Inhalte liegen jedoch in den zwei Modulen GeneticProgramming, welche alle Datenstrukturen und Algorithmen, die sich auf die (Linear) Genetische Programmierung bezieht, kapselt und dem Modul NSGA2, welches den NSGA-2 Algorithmus nach Deb umsetzt. Die folgenden Abschnitte beschreiben den Aufbau der Software. 5.1 Komponenten Die Software gliedert sich in zwei Komponenten: liblgp und plain-lgp. Die Bibliothek liblgp enthält unter anderem die Module VirtualMachine, GeneticProgramming und SymbolicRegression bzw. alle für die symbolische Regression notwendigen Algorithmen und Datenstrukturen. Die Komponente plain-lgp ist eine Anwendung, die auf der Bibliothek aufbaut, damit der Anwender eine Symbolische Regression durchführen kann. Grundsätzlich ist die Software (Bibliothek und Anwendung) nur zur Bestimmung von Modellen, d.h. der Formeln, ausgelegt. Die Manipulation der Formeln kann anschließend in einem dafür optimierten Computer Algebra Systemen (CAS) (wie z.b. Octave, wxmaxima, MatLab oder Mathematica) durchgeführt werden

88 Application - plain-lgp Library - liblgp ResultSummarizer SymbolicRegression SimpleGnuplot Population VirtualMachine DataReader Subpopulation ProblemFactory Individual Program Abbildung 5.1: Übersicht über die Komponenten und Module der Umsetzung. 5.2 Bibliothek Die Bibliothek liblgp umfasst die inhaltlich relevanten Komponenten der Software. Es handelt sich dabei um eine Bibliothek, die in unterschiedlichen Anwendungen genutzt werden kann und wenig Abhängigkeiten hat, um die Portabilität zu erhöhen. Das Klassendiagramm in Abbildung 5.1 zeigt die wesentlichen Klassen der Bibliothek und deren Relationen. Es existieren Klassen, die in den folgenden Abschnitten aufgrund ihrer untergeordneten Relevanz nicht aufgeführt sind Population, Subpopulation und Individuen Die Aspekte der Genetischen Programmierung sind in den drei Klassen Population, Subpopulation und Individual zusammengefasst. Individual In der Klasse Individual werden die genetischen Operatoren zur Rekombination (effective crossover (effcross), vgl. [49, S. 75]) und Mutation (micro mutation, vgl. [49, S. 117]) umgesetzt. Intern wird eine Instanz der VM.Programm Klasse verwendet, auf die die genetischen Operatoren angewendet werden (siehe Abbildung 5.2, Individual.program). Auch Informationen, die der NSGA2- Algorithmus benötigt, werden in Attributen dieser Klasse (rank und distance) vermerkt. 86

89 LinearGeneticProgramming Population subpopulations: Population[] run() Subpopulation individuals: Individual[] immigrants: Individual[] vips: Individual[] intialize() evolve() reproduce() variate() immigrate(i: Individual[]) emigrate():individual[] Individual rank: int distance: double program: VM.Program Individual.from_random (s: IndividualSettings) Individual.completely_effective (s: IndividualSettings) mutate(): void crossoverwith (n: Individual) Abbildung 5.2: Klassendiagramme zur Population, Subpopulation und Individual Subpopulation Eine Subpopulation von Individuen wird durch die Klasse Subpopulation umgesetzt. Diese Klasse verwaltet die einzelnen Individuen und setzt den genetischen Algorithmus um, d.h. in dieser Klasse wird die Selektion (durch den NSGA-2 Algorithmus) durchgeführt und die genetischen Operatoren auf die selektierten Individuen angewendet (vgl. Abbildung 5.2). Grundsätzlich ist die Klasse Subpopulation, weitestgehend unabhängig von der (linearen) Repräsentation des Individuums. Population Die Klasse Population übernimmt die Organisation der Subpopulationen und die Migration zwischen diesen. Die Unterstützung für mehrere Threads 4 wurde durch das Kommando-Entwurfsmusters (engl. command pattern, vgl. [67]) in Form eines ThreadPools umgesetzt. Dadurch ist es möglich, mehrere Subpopulationen gleichzeitig durch eine Epoche durchlaufen zu lassen. Auf einem Multiprozessor- oder Mehr-Kern-System führt dies zu einer erheblichen Beschleunigung des gesamten Prozesses. 4 Terminus technicus, dt. Ausführungsfaden oder leichtgewichtiger Prozess. 87

90 5.2.2 NSGA2 Eine Schlüsselkomponente, um kompakte Individuen zu erhalten, ist die Verwendung des von Deb et al. vorgeschlagenen NSGA-2 Algrithmus [55] zur Selektion von Individuen. Die Umsetzung dieses NSGA2-Algorithmus erfolgt in der gleichnamigen Klasse NSGA2. Subpopulation NSGA2 fast_nondominated_sort(p: NSGA2.Population): NSGA2.Fronts crowding_distance_assignment(i: NSGA2.Population) binary_tournament_selection(pop: Individual[]):TournamentResult[] select(pop: Individual[], offsprings: Individual[]):TournamentResult[] Abbildung 5.3: NSGA2 Klassendiagramm Intern verwendet die Klasse eigenen Implementierungen einer Population (NSGA2. Population, vgl. 5.3), dies wurde gewählt, um keine Logik die für den NSGA2- Algorithmus notwendig ist, aus der Klasse hinaus zu tragen (Geheimnisprinzip) SymbolicRegression Diese Klasse ist zum einen ein Konstrukt nach dem Fassaden Entwurfsmuster (engl. facade pattern, [67]) und realisiert zum anderen eine essentielle Methode. Denn in dieser Klasse ist die Methode SymbolicRegression.fitnessEvaluation (i: Individual) implementiert, mit der Individuen evaluiert werden. In dieser Methode allein werden die in Abschnitt 4.5 spezifizierten Kriterien festgelegt, anhand derer ein Individuum bewertet werden soll. Daher wird auch allein an dieser Stelle eine Instanz der verwendeten VirtualMachine.VM benötigt, um das Individuum anhand der Trainings- bzw. Testdaten zu evaluieren. Dem Fassaden-Entwurfsmuster folgend, stellt es nur wenige Methoden öffentlich zur Verfügung, um die Benutzung der dahinter liegenden Klassen zu vereinfachen. Durch die alleinige Angabe der Trainings- und Testdaten, benutzerdefinierter Funktionen (SymbolicRegression.vips) und Einstellungen der Linear Genetischen Programmierung (deren Standardeinstellungen durch die Methode SymbolicRegression.get default settings(): Lgp.Settings zurückgegeben werden), kann eine symbolische Regression wie in Kapitel 4 beschrieben, durchgeführt werden. Über die Methode SymbolicRegression.get candidates(): Lgp.Individual[] können zu jedem Zeitpunkt die aktuell besten Lösungen bezogen werden. 88

91 SymbolicRegression vm: VirtualMachine.VM population: Lgp.Population train_data: Table test_data: Table vips: Lgp.Individual[] SymbolicRegression(s: Lgp.Settings, g: int) get_default_settings(): Lgp.Settings run() stop() fitnessevaluation(i: Lgp.Individual) Abbildung 5.4: Klassendiagramm der Klasse SymbolicRegression VirtualMachine Die interne lineare Repräsentation des Individuums ist ein Programm, die Datenstruktur und die notwendigen Algorithmen stellen die Komponente VirtualMachine bereit. Die Programmrepräsentation wird durch die Klasse VirtualMachine.Program umgesetzt. Das Programm besteht selbst aus einer Reihe von VirtualMachine. Instruktion Instanzen. Die Evaluation der Programme d.h. die Berechnung der Registerwerte anhand der Instruktionen erfolgt durch die VirtualMachine.VM. Bei der Implementierung der VirtualMachine ist auf das Adapter Entwurfsmuster (engl. adapter pattern, [67]) zurückgegriffen worden, um eine spätere Verwendung beispielsweise Just-In-Time (JIT) Compilern zu vereinfachen. Dies kann die Laufzeit vor allem bei umfangreichen Datensätze beschleunigen. Derzeit existiert nur ein Adapter (VirtualMachine.InterpretingVM), der die Instruktionen interpretiert. Es sind jedoch Klassen vorgesehen (VirtualMachine.Function) die das Übersetzen von Programmen zur Laufzeit zulassen, um dadurch eine Steigerung der Geschwindigkeit der Evaluation zu erzielen. In dieser Arbeit wurde dies nicht durchgeführt, da die Geschwindigkeit nicht im Vordergrund stand Helferklassen Ergänzt wird die Bibliothek um ein paar Hilfsklassen, die zum Datenimport- und -export wichtig sind und zum Generieren von Statistiken und Testdaten herangezogen werden. Auch gehört dazu eine Methode, die das Parsen der benutzerdefinierten Funktionen in Form von Formeln übernimmt. Dazu wurde der von Dijkstra vorgeschlagenen Shunting-Yard-Algorithmus [68] verwendet, der eine Infix-Formel in eine Prefix-Repräsentation überführt. Diese Prefix-Repräsentation wird dann wiederum in ein VirtualMachine.Program überführt. 89

92 VirtualMachine VM execute(p: Program, inputs: float[]) compile(p:program):function InterpretingVM execute(p: Program, inputs: float[]) compile(p:program):function Program instructions: Instruction[] Program.try_parse(f: string) clone(): Program to_string(): string Function vm: VM program: Program eval(i: float[]):float[] to_string():string Instruction dst: int operation: Operation r1: int r2: int Instruction.try_parse(s: string) clone(): Instruction to_string(): string Abbildung 5.5: Klassendiagramm des VirtualMachine-Pakets 5.3 Anwendung Dem Anwender wird die Anwendung plain-lgp bereitgestellt, mit der eine symbolische Regression durchgeführt werden kann Graphen Um den Anwender eine zeitnahe Rückmeldung über den Verlauf der Optimierung zu geben, werden ihm während der Laufzeit unterschiedliche Graphen zur Verfügung gestellt. Die Erzeugung der Graphen erfolgt über das sogenannte Besucher Entwurfsmuster (engl. visitor pattern), das den Graphen konzeptionell vorgibt. Es wurde ein Visitor für den Funktionsplotter Gnuplot 5 erzeugt, der das Graphen-Objekt in eine Form überführt, mit der anhand von Gnuplot der Graph geplotted werden kann

93 5.3.2 Datenformat Zum Bestimmen von Kompromisslösungen müssen die Beobachtungen in Form eines Datensatzes im CSV-Format 6 vorliegen. Jede Zeile in diesem Datensatz entspricht dabei einer Beobachtung. Die Werte können entweder als Float im IEEE 754 Standard oder als Integer vorliegen. Per Konvention stellt die erste Spalte der Datei die zu approximierende Zielgröße bzw. abhängige Variable dar. Alle anderen Spalten werden als Parameter betrachtet, anhand derer ein funktionaler Zusammenhang zu der Zielgrößer bestimmt werden soll (vgl. Abschnitt 2.5). Alle Zeilen, die mit einem # oder % beginnen, werden als Kommentare betrachtet. Besitzt der erste Kommentar nach einem Datensatz, genauso viele Spalten wie der letzte Datensatz, so werden die Spalten als Bezeichner für die Variablen verwendet # r a b 5 # r = a b Listing 5.1: Aufbau eines Datensatzes. Das obige Listing zeigt beispielhaft den Aufbau einer solchen Datei. Die Datei besteht aus drei Datenspalten. Der Kommentar in Zeile 4 besitzt ebenfalls drei Spalten, dementsprechend wird r als Bezeichner für die erste Spalte, a und b als Bezeichner für die zweite bzw. dritte Spalte verwendet. Der Kommentar in der fünften Zeile wird ignoriert Durchführung der kompakten symbolischen Regression Zur Durchführung der Regression wird dem Anwender die Anwendung plain-lgp bereitgestellt. Diese Anwendung ist eine Schnittstelle zu den Funktionalitäten der zuvor vorgestellten libplgp. Durch Kommandozeilen-Argumente können die unterschiedlichen Parameter der Komponenten eingestellt werden. Anhang B zeigt alle anpassbaren Parameter der Anwendung. Das folgende Listing zeigt beispielhaft das Starten der symbolischen Regression. 1 $.. / plain lgp t r a i n f r a c t i o n =0.75 \ 2 population s i z e 5000 demes 100 \ 3 g 5000 \ 4 m 0. 9 c 0. 1 num c a l c s =3 \ 5 num c o n s t s =11 c o n s t a n t s= f u n c t i o n s= \ 6 Terminus technicus, engl. Comma Separated Values, einer Textdatei, die durch ein Trennzeichen wie ; in Spalten gegliedert ist. 91

94 6 o p e r a t o r s= +,,,/,ˆ, sqrt, s i n \ 7 p / plgp / s e s s i o n / \ 8 f / plgp / samples / t e s t e u r e q a. csv Listing 5.2: Initiieren einer symbolischen Regression. Ist die Optimierung abgeschlossen, liegen die Kompromisslösungen in dem angegebenen Sitzungspfad. Ergebnisse und Statistiken Die Anwendung gibt drei Typen von Dateien aus: stats.csv In dieser Datei werden pro Epoche unterschiedliche Statistiken erfasst, die dann eine Zeile in dieser Datei darstellen. Diese Datei kann z.b. genutzt werden, um die Entwicklung der Population anhand der zu optimierenden Kriterien zu beobachten. oh.best.st.info Diese Datei existiert für jeden besten Kandidaten der Komplexität ST. In dieser Datei sind viele Informationen wie z.b. die Trainingsund Test-Fehler oder die Formel des Kandidaten festgehalten. scatter-epoche.csv Diese Datei existiert für jede Epoche EPOCHE. In ihr werden pro Zeile beide zu optimierenden Kriterien ausgegeben. Anhand dieser Dateien können Histogramme über die Zeit erstellt werden. Priorisierung während der Laufzeit Die Priorisierung der Individuen während der Laufzeit wird über eine Oberfläche, die optional über ein Kommandozeilenargument aktiviert werden kann, gesteuert. Abbildung 5.6 zeigt die Oberfläche. Wird in der Spalte Keep? vor demn entsprechenden Eintrag eine Markierung gesetzt, wird dieser Kandidat, wie in Kapitel 4 beschrieben, priorisiert. Durch die Markierung von Kandidaten in der Spalte Print? können die Daten direkt in einem Fenster als Graphen ausgegeben werden, welches die Vorhersage und Referenz darstellt. Zusätzlich ist auf der obigen Abbildung auf der rechten Seite ein Bereich zu erkennen, der Informationen zu dem links ausgewählten Kandidaten bereitstellt, so wird z.b. der Kandidat selbst, d.h. die Formel und Messergebnisse für unterschiedliche Metriken gezeigt. 92

95 Abbildung 5.6: Die Oberfläche pigp der Anwendung plain-lgp. 93

96 Kapitel 6 Evaluation In diesem Kapitel wird empirisch untersucht, wie mit dem in Kapitel 4 vorgestellten Ansatz, der kompakten symbolischen Regression, die in Abschnitt 2.5 gestellten Anforderungen, erfüllt werden. Der erste Abschnitt dieses Kapitels erörtert die allgemeine Vorgehensweise der Evaluation. In dem darauf folgenden Abschnitt 6.2 erfolgt die Vorstellung der ausgewählten Probleme, auf die der Ansatz angewendet wird. Einen Überblick über die Parameter des Ansatzes, deren Bedeutung und Belegung erfolgt in Abschnitt 6.3, bevor in Abschnitt 6.4 die Ergebnisse der Testläufe anhand der Anforderungen bewertet werden. Etwas unabhängig von den genannten Testläufen wird in Abschnitt der Ansatz auf das Problem der Anwendungsdomäne, die Approximation der Verbindungsschicht (vgl. Abschnitt 2.1), angewendet. Dieser Testlauf wird gesondert betrachtet, da bei diesem Problem kein bekannter funktionaler Zusammenhang zugrunde liegt, mit dem die Ergebnisse verglichen werden können. Abschließend erfolgt in 6.5 eine Diskussion der Ergebnisse. 6.1 Methodik Untersucht wird, inwieweit der vorgestellte Ansatz in der Lage ist, unterschiedlich kompakte Formeln mit unterschiedlicher Vorhersagegenauigkeit (Kompromisslösungen) anhand vollständiger Beobachtungen für eine Auswahl an Problemen zu finden. Zur Evaluation werden unterschiedliche stetige Funktionen herangezogen, die sich hinsichtlich ihrer Komplexität und dem benötigten Alphabet unterscheiden. Durch die unterschiedlichen Funktionen soll bestimmt werden, wie sich der Ansatz bei variierenden Anforderungen verhält. Ein Testlauf umfasst ein Problem, das durch eine Anzahl an Datensätze repräsentiert wird und durch die Softwarelösung Kompromisslösungen bestimmt werden. Ziel ist es, wie in Abschnitt 2.5 gefordert, unterschiedliche Kompro- 94

97 misslösungen zu finden, es ist hingegen nicht notwendigerweise erforderlich, die zugrunde liegende Funktion zu rekonstruieren. Zur Evaluation werden sieben Probleme betrachtet. Da die symbolische Regression indeterministisch ist, werden zu jedem Problem insgesamt zehn Testläufe durchgeführt, um eine statistische Signifikanz zu erreichen. Alle Untersuchungen in Abschnitt 6.4 beziehen sich dabei auf diese einmalig durchgeführten zehn Testläufe. In keinem Testlauf wird, obwohl es die Möglichkeit gibt, nicht unterstützend eingegriffen, indem z.b. Kandidaten priorisiert werden, da so die Testläufe nur schwer oder gar nicht miteinander verglichen werden können Anforderungen Die Bewertung der Testläufe erfolgt wie in Abschnitt 2.5 und Abschnitt 4.6 spezifiziert anhand der Kriterien: Vorhersagegenauigkeit Es wird bewertet, inwieweit der Ansatz Lösungen mit guter Vorhersagegenauigkeit bestimmen kann. Kompaktheit Es wird bewertet, inwieweit der Ansatz kompakte Lösungen bestimmt. Unterschiedliche Kompromisslösungen Es wird bewertet, wie gut die Kompromisslösungen zwischen Vorhersagegenauigkeit und Kompaktheit verteilt sind. 6.2 Testdaten Die Untersuchung der zuvor genannten Anforderung erfolgt anhand einer Auswahl an Problemen. Die Probleme haben gemein, dass sie stetig sind und unterscheiden sich im Wesentlichen in der Komplexität ihres Aufbaus bzw. der Verknüpfung der Parameter. Einige Probleme sind einfach zu approximieren und wurden ausgewählt, um die grundsätzliche Tauglichkeit des Ansatzes bezüglich der Anforderungen zu prüfen. In der Klasse (C1 ) befindet sich eine einfache lineare Funktion (lin), die Formel für die Fläche eines Kreises (kreis) und eine Beispielfunktion aus Schmidt und Lipson [52] (eureqa). 95

98 Die zweite Klasse (C2 ) enthält komplexere Probleme. Diese Probleme wurden gewählt, um zu untersuchen, inwiefern der Ansatz in der Lage ist, auch Lösungen für komplexe Probleme zu bestimmen. Zu dieser zweiten Klasse gehört die von Brameier verwendete mexicanhat-funktion (vgl. Gleichung 6.1, [49]) (mexicanhat) f mexicanhat (x, y) = ) «(1 x2 4 y2 x2 8 e y2 8 4 eine synthetische Behandlungsgleichung (vgl. Gleichung 6.2) (synth) (6.1) f synth (T, t, K N, K B C ) = T , 1 t + K N 13 + e (KB C /200) 4 K B C (6.2) In dieser Funktion sind vier Parameter durch viele unterschiedliche Operatoren miteinander verknüpft. Die synthetische Behandlungsgleichung wurde entwickelt, um den Ansatz an einem Problem mit vier Variablen zu testen, die in einem komplexeren Zusammenhang stehen. Da nicht erwartet wird, dass der Ansatz die Funktion rekonstruieren kann, soll vielmehr untersucht werden, wie sich diese Funktion und die Kompromisslösungen voneinander unterscheiden. der Datensatz iwtnht des Instituts für Werkstofftechnik (IWT) zur Approximation der NHT. Dieser Datensatz wird herangezogen, um zu untersuchen, ob der Ansatz eine Lösung findet, die mit dem Quadratwurzel-Zeit- Gesetz (vgl. Abschnitt 2.1) vergleichbar ist. Jedes Problem wird durch eine Stichprobe unterschiedlicher Größe repräsentiert. Die Wahl der Datenpunkte erfolgte dabei zufällig. Die Datensätze eureqa, iwtnht und iwtvs sind zudem verrauscht. Anhand des eureqa Datensatzes soll überprüft werden, ob der Ansatz auch eine Robustheit gegenüber Rauschen besitzt, welches ein Erfordernis im Umgang mit Daten aus physikalischen Experimenten ist. Die Datensätze iwtnht und iwtvs (auf den im folgenden Abschnitt näher eingegangen wird) stammen aus experimentellen Messreihen des IWT und können aufgrund von Messungenauigkeiten verrauscht sein (vgl. Abschnitt 2.1). Alle anderen Datensätze enthalten kein Rauschen. In Abbildung 6.1 sind alle ein- und zweidimensionalen Probleme der beiden Problemklassen dargestellt, um eine Übersicht über die Probleme und die Verteilung der jeweils verwendeten Stichprobe zu erhalten. Tabelle 6.1 fasst die ausgewählten Probleme zusammen. 96

99 Bezeichnung Funktion Beschreibung lin y = 3x + 7 Eine einfache lineare Funktion. kreis A = r 2 Die Fläche eines Kreises. eureqa y = sin(2x) + xsin(2x) Testfunktion aus [52]. mexicanhat f mexicanhat (x, y) Die mexican hat Funktion. synth f synth (T, t, K N, KC B ) Die synth. Behandlungsgleichung. iwtnht (vgl. Abschnitt 2.1) Messwerte des IWT mit der NHT. iwtvs (vgl. Abschnitt 2.1) Messwerte des IWT mit der VS. Tabelle 6.1: Zusammenfassung der Evaluations-Probleme. 97

100 12 11 Funktion Samples 2000 Funktion Samples x r (a) Stichprobe und Funktion des lin-problems ohne Rauschen. (b) Stichprobe und Funktion des kreis-problems ohne Rauschen. 6 y F Funktion Samples z Funktion Samples (c) Stichprobe und Funktion des eureqa-problems mit Rauschen. x x (d) Stichprobe und Funktion des mexicanhat-problems ohne Rauschen. y Abbildung 6.1: Übersicht über die Stichprobenverteilung der ein- und zweidimensionalen Probleme. y 98

101 6.3 Einfluss und Einstellung der Parameter Der in Kapitel 4 vorgestellte Ansatz, ist an vielen Stellen parametrisiert. Dies ergibt sich durch die Parameter der Linear Genetischen Programmierung, den Parametern des Insel-Modells (vgl ) und die Parameter des NSGA-2 Algorithmus. Grundsätzlich wird in diesem Abschnitt zwischen zwei Parameterarten unterschieden. Einige Parameter wirken sich sehr direkt auf die Qualität der zu bestimmenden Kandidaten aus, wie z.b. die erlaubten Operatoren. Wird nach einem linearen Zusammenhang gesucht, ist die Multiplikation oder Division notwendig. Diese werden in diesem Abschnitt als problemspezifische Parameter bezeichnet. Andere Parameter sind weniger problemspezifisch, sondern werden angepasst, um den Algorithmus auf die übergeordnete Problemklasse abzustimmen, wie z.b. um nach kompakten Lösungen zu streben. Diese Parameter werden in diesem Abschnitt als Rahmenparameter bezeichnet. Im weiteren wirdweiteren werden der Einfluss und die Einstellung dieser Rahmenparameter und der problemspezifischen Parameter beschrieben Rahmenparameter Die Rahmenparameter beziehen sich vor allem auf Aspekte der Genetischen Programmierung. In dieser Evaluation wurden folgende Parameter wie folgt belegt: Populationsgröße Gibt die Anzahl der Individuen in der Population an. Mit diesem Parameter wird bestimmt, wie viele Lösungen parallel optimiert werden können. Diese Zahl wurde mit 5000 Individuen hoch gewählt, da es nicht allein um die Optimierung einer Lösung geht, sondern um die Optimierung vieler Kompromisslösungen. Anzahl der Subpopulationen (Demes) Ursprünglich wirkt sich die Anzahl der Demes auf das Konvergenzverhalten der Gesamtpopulation aus. In der Verbindung mit NSGA-2 trägt die Anzahl der Demes vor allem auch zu einer Beschleunigung der Evolution bei. Diese Zahl wurde von zehn in [49] auf 100 erhöht, um der größeren Population gerecht zu werden, d.h. um die Anzahl der Individuen pro Subpopulation nicht zu groß werden zu lassen. Diese Wahl der Subpopulationsgröße im Verhältnis zur Populationsgröße wird auch von [59] unterstützt. Allgemein muss jedoch bedacht werden, dass die Subpopulationen in dieser Arbeit NSGA-2 zur Selektion der Individuen verwendet und sich daher anders verhalten kann. Migrationsintervall Mit dem Migrationsintervall wird die Anzahl der Epochen angegeben, die zwischen Migrationen liegen, d.h. nach wie vielen Epochen Individuen zwischen den Subpopulationen migriert werden. Um eine Entwicklung von Lösungen innerhalb einer Subpopulation zuzulassen, sollte 99

102 das Migrationsintervall größer als null sein [69]. In dieser Arbeit wird ein Intervall von vier Epochen gewählt, um Kandidaten Zeit zum Entwicklen Entwickeln innerhalb einer Subpopulation zu geben. Migrationsrate Mit der Migrationsrate werden wird die Anzahl der Individuen bestimmt, die bei jeder Migration ausgetauscht werden sollen. Nach [69] ist die Migrationsrate weniger einflussreich als das Migrationsintervall. In dieser Arbeit wurde daher auch, wie in [49], eine Migrationsrate von 5% der Subpopulationsgröße gewählt. Turniergröße Mit der Turniergröße wird die Anzahl der Individuen bestimmt, die während der Selektion gegeneinander antreten. Aus einem Turnier, der Größe S T geht ein Gewinner hervor, der alle S T 1 Verlierer ersetzt. Durch die Turniergröße kann der Selektionsdruck auf die Population erhöht werden, d.h. die Population konvergiert im Suchraum gegen die Position des Gewinners. Die Turniergröße wird, wie auch in [49] oder [3], auf zwei Teilnehmer festgelegt, um keinen hohen Selektionsdruck auszuüben. Dies soll eine zu schnelle Konvergenz verhindern, damit der Suchraum möglichst breit durchschritten wird. Rekombinationswahrscheinlichkeit Dieser Parameter gibt an, mit welcher Wahrscheinlichkeit die Sieger zweier Turniere miteinander genetisch rekombiniert werden, um Nachfahren zu produzieren. In der Genetischen Programmierung ist die Rekombination die dominierende genetische Operation [3, S. 144]. In [49] hat sich jedoch empirisch gezeigt, dass die Rekombination bei der Linear Genetischen Programmierung geringeren Nutzen hat, als z.b. bei einer Genetischen Programmierung mit Syntaxbaum-Repräsentation. Dies wird von Brameier darauf zurückgeführt, dass Rekombinationen bei LGP eher destruktive Folgen haben und so seltener bessere Nachfahren hervorbringen [49]. Aus diesem Grund wird eine geringe Rekombinationswahrscheinlichkeit von 10% verwendet. Mutationswahrscheinlichkeit Die Mutationswahrscheinlichkeit gibt an, mit welcher Wahrscheinlichkeit die Sieger der Turniere in mutierter Form wieder in die Population einfließen. Auch die Wahrscheinlichkeit zur Mutation von 90% wird aus [49] übernommen, da sich diese bei der LGP als besonders effektiv erwiesen hat [49]. Maximale Programmlänge Die maximale Programmlänge gibt die Anzahl der Instruktionen eines Programms an. Damit wird zum einen der Suchraum eingeschränkt, zum anderen aber auch die Komplexität eines Individuums mit beeinflusst. Da in dieser Arbeit kompakte Lösungen bestimmt werden sollen, wird eine maximale Programmlänge von 50 Instruktionen verwendet. In Probeläufen hat sich gezeigt, dass 50 Instruktionen eine Fokussierung auf 100

103 Kompaktheit zur Folge haben, aber dennoch auch sehr komplexe Formeln produzieren können. Zwei wesentliche Parameter, die zur Bewertung der Individuen und indirekt zur Bewertung der in Abschnitt erwähnten Anforderungen herangezogen werden, sind die Metriken für den Fehler und die Komplexität eines Individuums: Fehlermaß Als Fehlermaß, d.h. zur Beurteilung der Vorhersagegenauigkeit, wird die Summe der Fehlerquadrate SSE verwendet (vgl. 4.5). Diese Methode bestraft große Fehler stärker als kleine, das bedeutet, dass viele kleinere Fehler eher toleriert werden als wenige große. Komplexitätsmaß Als Komplexitätsmaß, d.h. zur Bewertung der Kompaktheit, wird eine veränderte Form der STRLEN Metrik (vgl ) verwendet. In Probeläufen hat sich gezeigt, dass viele der nach dem Komplexitätsmaß STRLEN unterschiedlichen Formeln prinzipiell identisch sind, jedoch aufgrund von semantischen Introns (vgl ) eine unterschiedliche Komplexität besaßen. Beispielsweise besitzen die beiden Formeln (a b) und (a (1 b)) eine unterschiedliche STRLEN (5 und 9), sind jedoch semantisch identisch. Das Problem, das daraus resultierte, ist, dass der NSGA-2-Algorithmus viele ähnliche Formeln vorhält, da es sich für den Algorithmus aufgrund der unterschiedlichen STRLEN um unterschiedliche Formeln handelt. Eine Unterscheidung äquivalenter oder ähnlicher Formeln ist jedoch nicht wünschenswert. Aus diesem Grund wurde die Variation STRLEN-THIRD = 1 3 STRLEN eingeführt. Die Drittelung (und Rundung auf die nächste ganze Zahl) der STRLEN Metrik hat den Effekt, dass ähnlich komplexe Formeln bezüglich ihrer Komplexität nicht unterschieden werden. Dies wirkt sich zwar nicht bei dem obigen Beispiel aus, betrifft jedoch viele Formeln eines höheren Komplexitätsgrads. Tabelle 6.2 gibt eine Übersicht über die vorgestellten Rahmenparameter und ihrer Belegung, die für alle Testläufe verwendet worden sind. Die oben aufgeführten Rahmenparameter wirken sich grundsätzlich auf das Konvergenzverhalten des Algorithmus aus. Es kann prinzipiell jedoch keine Parameterbelegung angegeben werden, die bei allen Problemen zum besten Ergebnis führt. 101

104 Parameter Wert Anzahl an Testläufen 10 Maximale Anzahl an Epochen 5000 Populationsgröße 5000 Anzahl der Demes 100 Migrationsintervall 4 Migrationsrate 5% Turniergröße 2 Rekombinationswahrscheinlichkeit 0.1 Mutationswahrscheinlichkeit 0.9 Maximale Programmlänge 50 Fehlermaß SSE Komplexitätsmaß STRLEN-THIRD Trainingset 75% Testset 25% Tabelle 6.2: Standardeinstellungen der Parameter. 102

105 6.3.2 Problemspezifisch Parametereinstellungen Neben den Rahmenparametern, gibt es noch die problemspezifischen Parameter, die für jedes Problem in dieser Arbeit explizit angegeben werden. Dazu gehören: Benutzerdefinierte Operatoren Durch die Vorgabe von Operatoren kann der Benutzer eingrenzen, welche Form die späteren Lösungen aufweisen sollen. Es ist naheliegend, dass die notwendigen Operatoren sehr problemspezifisch sind. Benutzerdefinierte Konstanten Durch diesen Parameter können dem Algorithmus zusätzlich Konstanten angegeben werden, die zum Bestimmen von Lösungen herangenzogen werden können. Zur Evaluation wurden außer den Zahlen von null bis zehn keine zusätzlichen benutzerdefinierten Konstanten angegeben, da die Probleme zum einen ohne zusätzliche Konstanten lösbar erschienen und zum anderen eine zu starke Variation der Parameter vermieden werden sollte. Benutzerdefinierte Funktionen Durch die Angabe von Funktionen kann der Benutzer Vorwissen einbringen (vgl. Abschnitt 4.8). Da es für die Lösung der Probleme nicht notwendig erschien,en zusätzliche Funktionen anzugeben und die Variation der Parameter gering gehalten werden sollte, wurde auch auf die Angabe benutzerdefinierter Funktionen verzichtet. Die Tabellen 6.3, 6.4 und 6.5 geben die Eigenschaften und verwendeten problemspezifischen Parameter beider Problemklassen und des iwtvs-problems wieder. 103

106 Problem lin kreis eureqa Anzahl an Eingaben Anzahl an Ausgaben Anzahl an Datenpunkten Ausgabeintervall [7.12, 9.87] [3.14, ] [ 3.96, 2.33] Konstanten 0,..., 10 0,..., 10 0,..., 10 Operatoren +,-,*,/,ˆ,sqrt +,-,*,/,ˆ,sqrt +,-,*,/,ˆ,sqrt, sin Funktionen (keine) (keine) (keine) Anzahl an Rechenregister Tabelle 6.3: Problemspezifischen Eigenschaften und Parametereinstellungen der Probleme der Problemklasse C1. Problem mexicanhat synth iwtnht Anzahl an Eingaben Anzahl an Ausgaben Anzahl an Datenpunkten Ausgabeintervall [ 0.45, 0.94] [5.34, 24.4] [0, 0.67] Konstanten 0,..., 10 0,..., 10 0,..., 10 Operatoren +,-,*,/,ˆ,exp +,-,*,/,ˆ,sqrt, ln,exp Funktionen (keine) (keine) (keine) Anzahl an Rechenregister ,-,*,/,ˆ,sqrt, ln,exp Tabelle 6.4: Problemspezifischen Eigenschaften und Parametereinstellungen der Probleme der Problemklasse C2. Anzahl an Eingaben 4 Anzahl an Ausgaben 1 Anzahl an Datenpunkten 36 Benutzerdefinierte Konstanten 0,..., 10 Benutzerdefinierte Operatoren +,-,*,/,ˆ,sqrt,ln,exp Benutzerdefinierte Funktionen (keine) Anzahl der Rechenregister 3 Tabelle 6.5: Problemspezifischen Eigenschaften und Parametereinstellungen für iwtvs. 104

107 6.4 Testreihen Für jeden Lauf aller Testreihen wurde der Algorithmus in Form der in Kapitel 5 beschriebenen Anwendung, mit den zuvor vorgestellten Rahmenparametern und problemspezifischen Parametern initialisiert Untersuchung der Vorhersagegenauigkeit Die Testreihe wird auf ihre Fähigkeit hin betrachtet, Modelle mit einer angemessenen Vorhersagegenauigkeit zu erzeugen. Dazu wird in diesem Abschnitt die Vorhersagegenauigkeit bezüglich des Trainings- und Test-Datensatzes aller Lösungen zu einem Problem betrachtet. Durch die gleichzeitige Betrachtung von Trainings- und Test-Fehlern kann außerdem eine Aussage über die Generalisierung der Lösungen gemacht werden. Methode Die Testläufe wurden mit den in Abschnitt 6.3 beschriebenen allgemeinen und problemspezifischen Parametereinstellungen vorgenommen. Nach den Testläufen werden alle Lösungen der zehn Testläufe zu einem Problem in einem Koordinatensystem mit den beiden RMSE (dt. die Quadratwurzel aus der mittleren quadratischen Abweichung.) aufgetragen. Die Ausdehnung der beiden Achsen ist identisch, sodass Kandidaten, deren Trainings- und Test-Fehler gleich sind (Verhältnis von 1:1), auf der Diagonalen zwischen dem Ursprung und den Maxima der beiden Achsen liegen. Ergänzend werden noch zwei Hilfslinien zur Orientierung in die Diagramme eingezeichnet, sie zeigen jeweils eine Verhältnis von eins zu zwei (1:2) zwischen Trainings- und Test-Fehler und vice versa. Wichtig ist es, den RMSE anstatt des zum Trainieren verwendeten SSE aufzutragen, da der RMSE den Fehler bezüglich der Anzahl der Kandidaten normalisiert. Dies ist notwendig, da sich Trainings- und Testdatensatz hinsichtlich der Anzahl an Individuen unterscheiden. Zwei Möglichkeiten zur späteren Interpretation der Diagramme sind: 1. Je weiter ein Kandidat von der Diagonalen entfernt ist, desto höher ist der Unterschied zwischen Trainings- und Testdatensatz. Dies kann auf eine Überanpassung (vgl. Kapitel 2) hindeuten. 2. Je näher ein Kandidat am Ursprung des Koordinatensystems liegt, desto höher ist seine Vorhersagegenauigkeit. Die RMSE der unterschiedlichen Probleme können nicht direkt miteinander verglichen werden, sondern müssen im auf das Ausgabeintervall des jeweiligen Problems bezogen betrachtet werden. 105

108 Erwartung Es wird erwartet, dass der Ansatz für die Probleme der Klasse C1 Lösungen mit einer hohen Vorhersagegenauigkeit bestimmt. Für die Probleme der zweiten Problemklasse C2 wird eine geringere Vorhersagegenauigkeit erwartet. Testläufe Die Abbildungen 6.2 und 6.3 zeigen zu jedem Problem die Individuen aller Testläufe. Die Diagramme zeigen jeweils nur die meisten der Individuen, sodass Ausreißer auf den Ausschnitten nicht zu sehen sind. Dies gilt für alle ähnlichen Abbildungen in diesem Kapitel. In der Problemklasse C1 ist bei den Problemen lin und eureqa eine Verteilung der Lösungen entlang der Diagonalen zu erkennen, deren relativer Abstand von der Diagonalen bezogen auf den RMSE Wert mit der Nähe zum Ursprung zunimmt. Bei dem lin-problem ist eine starke Konzentration der Lösungen an einem Punkt zu erkennen und keine gleichmäßige Verteilung entlang der Diagonalen. Interessant sind auch die vier Häufungen parallel zur Y-Achse (RMSE des Trainingsdatensatzes) beim kreis-problem. In der Problemklasse C2 ist für das synth-problem ebenfalls eine gleichmäßige Verteilung der Lösungen entlang der Diagonalen zu erkennen. Bei den Problemen mexicanhat und iwtnht ist statt einer gleichmäßigen Verteilung, eine Konzentration der Kandidaten in bestimmten Bereichen des Raumes erkennbar. Bei der Betrachtung der Ergebnisse für das Problem iwtnht in Abbildung 6.3 ist zu erkennen, dass sich die Lösungen nahezu senkrecht zur Diagonalen anordnen. Diskussion Die Verteilung entlang der Diagonalen der Kandidaten der Probleme lin und eureqa zeigt, dass nur wenige Kandidaten überangepasst sind. Der relativ höhere Abstand der Kandidaten von der Diagonalen nahe des Ursprungs, deutet auf eine Überanpassung hin. Die starke Konzentration der Kandidaten um einen Punkt beim lin-problem zeigt, dass alle zehn Testläufe zu ähnlichen Ergebnissen bezüglich der Vorhersagegenauigkeit gekommen sind. Die Häufungen beim kreis-problem bzw. Abweichungen von der Diagonale sind wahrscheinlich auf die Zusammenstellung des Trainings- und Testdatensatzes zurückzuführen. Der Effekt kann damit zu erklären sein, dass der Trainingsdatensatz viele kleine Funktionswerte und der Testdatensatz viele hohe Funktionswerte 106

109 RMSE (Trainset) RMSE (Testset) (a) lin-problem RMSE (Trainset) RMSE (Testset) (b) kreis-problem 2 RMSE (Trainset) RMSE (Testset) (c) eureqa-problem Abbildung 6.2: Trainings- gegen Testfehler (RMSE, Problemklasse C1 ). 107

110 RMSE (Trainset) RMSE (Testset) (a) mexicanhat-problem 5 4 RMSE (Trainset) RMSE (Testset) (b) synth-problem 0.2 RMSE (Trainset) RMSE (Testset) (c) iwtnht-problem Abbildung 6.3: Trainings- gegen Testfehler (RMSE, Problemklasse C2 ). 108

111 beinhaltet, sodass z.b. ein lineares Modell eine gute Trainingsvorhersage tätigen kann, aber hohe Fehler beim Testen hervorrufen. Es bedarf jedoch einer genaueren Untersuchung, um eine fundierte Antwort zu geben. In der Problemklasse C2 ist die sehr gleichmäßige Verteilung der Kandidaten entlang der Diagonalen auffällig und deutet darauf hin, dass es erst nahe des Ursprungs zu einer Überanpassung kommt. Unwahrscheinlicher ist, dass in diesem Fall ein Unterschied zwischen den RMSE von Test- und Trainingsdatensatzes zu diesem Ergebnis geführt hat. Die Konzentration der Kandidaten auf unterschiedliche Bereiche des Raums bei den Problemen mexicanhat und iwtnht ist auffällig. Die Konzentrationen sind damit zu erklären, dass diese lokale Minima darstellen und einige der Lösungen (aus einem oder unterschiedlicher Testläufe) diesen Minima bisher nicht wieder entkommen konnten. Die fehlende gleichmäßige Verteilung bei den beiden Problemen entlang der Diagonalen ist problematisch, da dies bedeutet, dass Lösungen, die bezüglich ihrer Trainings- bzw. Test-Vorhersagegenauigkeit besser sind, zu einer Überanpassung neigen. Daraus folgt, dass der Anwender nur auf wenige nicht überangepasste Lösungen zurückgreifen kann. Grundsätzlich ist bei den Probleme mexicanhat und synth jedoch gut zu erkennen, dass es auch Lösungen nahe des Ursprungs, d.h. es Lösungen mit einer hohen Vorhersagegenauigkeit, gibt. Die Erwartungen an die Vorhersagegenauigkeit der Probleme der Problemklasse C1 wurden erfüllt, alle Probleme weisen (unter Berücksichtigung des Rauschens im eureqa-problem) nur einen geringen RMSE im Vergleich zum Ausgabeintervall auf. Die Erwartungen für die Problemklasse C2 wurden ebenfalls erfüllt. Angemerkt sei, dass trotz der ungleichmäßigen Verteilung der Lösungen beim iwtnht- Problem die Vorhersagegenauigkeit unter Berücksichtigung des Ausgabeintervalls, dennoch wie erwartet gut ist. 109

112 6.4.2 Untersuchung der Kompaktheit Zur Untersuchung der Kompaktheit wurden die Testläufe auf die Entwicklung der Kompaktheit der Lösungen über die Zeit betrachtet. Methode Nach den Testläufen wurde das Komplexitätsmaß (gemessen anhand der Metrik STRLEN-THIRD) der Lösungen über die Zeit betrachtet und ausgewertet. Dies soll Aufschluss darüber bringen, inwiefern sich kompakte Lösungen entwickelt haben. Zur Untersuchung dieser Fragestellung wird vorerst die Entwicklung der Kompaktheit der Lösungen über die Zeit aufgetragen. Zur Darstellung der Kompaktheit wird die durchschnittliche Kompaktheit aller Lösungen einer Population pro Epoche verwendet. Um ein genaueres Bild über die Zusammensetzung der Population zu erhalten, wird anschließend ein Histogramm eines Testlauf mit der Anzahl der Individuen pro Kompaktheit über die Zeit herangezogen. Erwartung Es wird erwartet, dass der Ansatz über die Zeit Lösungen unterschiedlicher Kompaktheit entwickelt, also auch kompakten Lösungen entwickelt. Diese Erwartung basiert auf der Annahme, dass die NSGA-2 basierte Selektion, die Kandidaten so auswählt, dass sich diese zwischen den zwei Kriterien verteilen. Dennoch wird erwartet, dass die Testläufe der Problemklasse C2 zu komplexeren Lösungen führen, als die Testläufe der Problemklasse C1. Dies wird angenommen da komplexere Modelle notwendig sind, um die Probleme der Problemklasse C2 zu approximieren. Testläufe Die Abbildungen 6.4 und 6.5 zeigen die durchschnittliche Kompaktheit einer Population aufgetragen über die Zeit. Zur besser Darstellung wurde durch die Datenpunkte eine Glättungsfunktion gelegt. Bei den Testläufen der Problemklasse C1 ist zu erkennen, dass die Kompaktheit direkt zu Beginn der Testläufe rapide abfällt und sich dann erst langsam über die Zeit wieder aufbaut. Bei dem Problem lin folgt die Entwicklung der durchschnittlichen Kompaktheit einem ähnlichen Muster. Insgesamt kann festgestellt werden, dass die durchschnittliche Kompaktheit der Kandidaten über die Zeit zunimmt. Die Testläufe für das kreis Problem unterscheiden sich stärker. So nimmt die durchschnittliche Kompaktheit bei Testlauf R5 über die Zeit stärker zu, als bei den anderen Testläufen. Jedoch zeigt sich z.b. bei Testlauf R2, dass die Kompaktheit einbrechen kann (ab Epoche 3800), auch für Testlauf R3 ist dies zu 110

113 beobachten. Bei dem eureqa Problem ist Ähnliches zu beobachten: So brechen hier die Testläufe R2 und R9 an jeweils einer Stelle ein. Testlauf R3 hingegen besitzt über die Zeit eine konstant niedrige durchschnittliche Kompaktheit. Bei den Problemen synth und iwtnht der Problemklasse C2 ist zu beobachten, dass alle Testverläufe eines Problems einem ähnlichen über die Zeit ansteigenden Verlauf folgen. Bei dem mexicanhat-problem unterscheiden sich die Verläufe zum Teil deutlich (vgl. Testlauf R1 und R6 ). Ein deutliches Einbrechen eines Verlaufs ist nur bei wenigen Testläufen, wie z.b. beim Testlauf R2 des iwtnht-problems, sichtbar. Aus den Abbildungen 6.4 und 6.5 geht jedoch nicht hervor, wie sich die Lösungen bezüglich ihrer Kompaktheit verteilen, es wird allein die Entwicklung der durchschnittliche Kompaktheit über die Zeit dargestellt. Ob diese dadurch entsteht, dass nur komplexe Lösungen entwickelt werden oder sich die Lösungen zwischen Kompakt und Komplex verteilen, ist nicht ersichtlich. Um der Fragestellung nach der Verteilung der Kompaktheit der Individuen pro Epoche nachzugehen, tragen wir diese in ein Histogramm, wie den Abbildungen 6.6 und 6.7 gezeigt. Abbildung 6.6 zeigt die Entwicklung einer Population über die Zeit für das mexicanhat-problem, wenn man die Optimierung ohne die Berücksichtigung der Kompaktheit durchführt. Es ist deutlich zu erkennen, dass die Anzahl der komplexen Individuen von Beginn an kontinuierlich über die Zeit zunimmt. Abbildung 6.7 zeigt dem gegenüber die Entwicklung einer Population, wenn diese anhand der Vorhersagegenauigkeit und Kompaktheit optimiert wird. Hier ist deutlich zu erkennen, dass die Individuen deutlich kompakter und besser verteilt sind, als es in Abbildung 6.6, d.h. wie es beim klassischen LGP Algorithmus, der Fall ist. 111

114 STRLEN-THIRD R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (a) Ergebnis für lin STRLEN-THIRD 1e R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (b) Ergebnis für kreis STRLEN-THIRD R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (c) Ergebnis für eureqa Abbildung 6.4: Durchschnittliche Kompaktheit über die Zeit (Problemklasse C1 ). 112

115 STRLEN-THIRD R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (a) Ergebnis für mexicanhat STRLEN-THIRD R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (b) Ergebnis für synth STRLEN-THIRD R1 R2 R3 R4 R5 R6 R7 R8 R9 R Epoche (c) Ergebnis für iwtnht Abbildung 6.5: Durchschnittliche Kompaktheit über die Zeit (Problemklasse C2 ). 113

116 114 Abbildung 6.6: Optimierung allein anhand der Vorhersagegenauigkeit.

Maschinelles Lernen Entscheidungsbäume

Maschinelles Lernen Entscheidungsbäume Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Maschinelles Lernen Entscheidungsbäume Paul Prasse Entscheidungsbäume Eine von vielen Anwendungen: Kreditrisiken Kredit - Sicherheiten

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise

Mehr

Algorithmische Modelle als neues Paradigma

Algorithmische Modelle als neues Paradigma Algorithmische Modelle als neues Paradigma Axel Schwer Seminar über Philosophische Grundlagen der Statistik, WS 2010/11 Betreuer: Prof. Dr. Thomas Augustin München, den 28. Januar 2011 1 / 29 LEO BREIMAN

Mehr

Machine Learning - Maschinen besser als das menschliche Gehirn?

Machine Learning - Maschinen besser als das menschliche Gehirn? Machine Learning - Maschinen besser als das menschliche Gehirn? Seminar Big Data Science Tobias Stähle 23. Mai 2014 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07

Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07 Regression Trees Methoden der Datenanalyse AI-basierte Decision Support Systeme WS 2006/07 Ao.Univ.Prof. Dr. Marcus Hudec marcus.hudec@univie.ac.at Institut für Scientific Computing, Universität Wien 2

Mehr

Künstliche Intelligenz Dirk Krechel SS 2009

Künstliche Intelligenz Dirk Krechel SS 2009 Künstliche Intelligenz Dirk Krechel SS 2009 Überblick über das Modul 1. Einführung 2. Symbolische Verfahren Logik Aussagenlogik Prädikatenlogik Horn Logik Prolog 3. Suchen und Bewerten Problemlösen durch

Mehr

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining

Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining Gliederung 1. Einführung 2. Grundlagen Data Mining Begriffsbestimmung CRISP-DM-Modell Betriebswirtschaftliche Einsatzgebiete des Data Mining Web Mining und Text Mining 3. Ausgewählte Methoden des Data

Mehr

Data Mining - Wiederholung

Data Mining - Wiederholung Data Mining - Wiederholung Norbert Fuhr 9. Juni 2008 Problemstellungen Problemstellungen Daten vs. Information Def. Data Mining Arten von strukturellen Beschreibungen Regeln (Klassifikation, Assoziations-)

Mehr

Teil II. Nichtlineare Optimierung

Teil II. Nichtlineare Optimierung Teil II Nichtlineare Optimierung 60 Kapitel 1 Einleitung In diesem Abschnitt wird die Optimierung von Funktionen min {f(x)} x Ω betrachtet, wobei Ω R n eine abgeschlossene Menge und f : Ω R eine gegebene

Mehr

Messsystemanalyse (MSA)

Messsystemanalyse (MSA) Messsystemanalyse (MSA) Inhaltsverzeichnis Ursachen & Auswirkungen von Messabweichungen Qualifikations- und Fähigkeitsnachweise Vorteile einer Fähigkeitsuntersuchung Anforderungen an das Messsystem Genauigkeit

Mehr

Seminar Text- und Datamining Datamining-Grundlagen

Seminar Text- und Datamining Datamining-Grundlagen Seminar Text- und Datamining Datamining-Grundlagen Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 23.05.2013 Gliederung 1 Klassifikationsprobleme 2 Evaluation

Mehr

Maschinelles Lernen und Data Mining: Methoden und Anwendungen

Maschinelles Lernen und Data Mining: Methoden und Anwendungen Maschinelles Lernen und Data Mining: Methoden und Anwendungen Eyke Hüllermeier Knowledge Engineering & Bioinformatics Fachbereich Mathematik und Informatik GFFT-Jahrestagung, Wesel, 17. Januar 2008 Knowledge

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Artificial Life und Multiagentensysteme

Artificial Life und Multiagentensysteme Vortrag im Rahmen des Seminars: Artificial Life und Multiagentensysteme Prof. Dr. Winfried Kurth Sommersemester 2003 Prognose von Zeitreihen mit GA/GP Mathias Radicke, Informatikstudent, 10. Semester Gliederung

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

9 Resümee. Resümee 216

9 Resümee. Resümee 216 Resümee 216 9 Resümee In der vorliegenden Arbeit werden verschiedene Methoden der Datenreduktion auf ihre Leistungsfähigkeit im sozialwissenschaftlichstatistischen Umfeld anhand eines konkreten Anwendungsfalls

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Data Mining und maschinelles Lernen

Data Mining und maschinelles Lernen Data Mining und maschinelles Lernen Einführung und Anwendung mit WEKA Caren Brinckmann 16. August 2000 http://www.coli.uni-sb.de/~cabr/vortraege/ml.pdf http://www.cs.waikato.ac.nz/ml/weka/ Inhalt Einführung:

Mehr

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Hintergrund Bei komplexen Baugruppen ergeben sich sehr hohe Anforderungen an die Tolerierung der einzelnen

Mehr

Seminar Business Intelligence Teil II. Data Mining & Knowledge Discovery

Seminar Business Intelligence Teil II. Data Mining & Knowledge Discovery Seminar Business Intelligence Teil II Data Mining & Knowledge Discovery Was ist Data Mining? Sabine Queckbörner Was ist Data Mining? Data Mining Was ist Data Mining? Nach welchen Mustern wird gesucht?

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit

Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests. Masterarbeit Entwicklung eines Scheduling-Verfahrens zur Optimierung der Reihenfolge von Prototypentests Masterarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) im Masterstudiengang Wirtschaftswissenschaft

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Automatische Gesprächsauswertung im Callcenter

Automatische Gesprächsauswertung im Callcenter Einleitung Forschungsbeitrag Automatische Gesprächsauswertung im Callcenter Projekt CoachOST Dipl.-Wirtsch.-Inf. Mathias Walther Prof. Dr. Taïeb Mellouli Lehrstuhl für Wirtschaftsinformatik und Operations

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Data Mining mit Rapidminer im Direktmarketing ein erster Versuch. Hasan Tercan und Hans-Peter Weih

Data Mining mit Rapidminer im Direktmarketing ein erster Versuch. Hasan Tercan und Hans-Peter Weih Data Mining mit Rapidminer im Direktmarketing ein erster Versuch Hasan Tercan und Hans-Peter Weih Motivation und Ziele des Projekts Anwendung von Data Mining im Versicherungssektor Unternehmen: Standard

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Data Mining (ehem. Entscheidungsunterstützungssysteme)

Data Mining (ehem. Entscheidungsunterstützungssysteme) Data Mining (ehem. Entscheidungsunterstützungssysteme) Melanie Pfoh Anja Tetzner Christian Schieder Übung WS 2014/15 AGENDA TEIL 1 Aufgabe 1 (Wiederholung OPAL / Vorlesungsinhalte) ENTSCHEIDUNG UND ENTSCHEIDUNGSTHEORIE

Mehr

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung

Ermittlung von Assoziationsregeln aus großen Datenmengen. Zielsetzung Ermittlung von Assoziationsregeln aus großen Datenmengen Zielsetzung Entscheidungsträger verwenden heutzutage immer häufiger moderne Technologien zur Lösung betriebswirtschaftlicher Problemstellungen.

Mehr

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

Neuronale Netze, Fuzzy Control, Genetische Algorithmen. Prof. Jürgen Sauer. 5. Aufgabenblatt: Neural Network Toolbox 1 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

Mehr

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining.

Personalisierung. Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung. Data Mining. Personalisierung Personalisierung Thomas Mandl Der Personalisierungsprozess Nutzerdaten erheben aufbereiten auswerten Personalisierung Klassifikation Die Nutzer werden in vorab bestimmte Klassen/Nutzerprofilen

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

1. Einleitung. 1.1. Ausgangssituation

1. Einleitung. 1.1. Ausgangssituation 1. Einleitung In der vorliegenden Arbeit wird untersucht, welche Faktoren den erfolgreichen Ausgang eines Supply-Chain-Projektes zwischen zwei Projektpartnern beeinflussen. Dazu werden zum einen mögliche

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Entscheidungsbäume

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Entscheidungsbäume Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Entscheidungsbäume Christoph Sawade/Niels Landwehr Jules Rasetaharison, Tobias Scheffer Entscheidungsbäume Eine von vielen Anwendungen:

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Regressionsanalysen. Zusammenhänge von Variablen. Ziel der Regression. ( Idealfall )

Regressionsanalysen. Zusammenhänge von Variablen. Ziel der Regression. ( Idealfall ) Zusammenhänge von Variablen Regressionsanalysen linearer Zusammenhang ( Idealfall ) kein Zusammenhang nichtlinearer monotoner Zusammenhang (i.d.regel berechenbar über Variablentransformationen mittels

Mehr

Mustererkennung mit Baumautomaten

Mustererkennung mit Baumautomaten Mustererkennung mit Baumautomaten Eine Ausarbeitung von Gisse Alvarado für das Seminar Mustererkennung mit syntaktischen und graphbasierten Methoden bei Prof. Dr. W. Kurth/ Th. Mangoldt Cottbus 2006 Inhalt

Mehr

Vorlesung. Funktionen/Abbildungen 1

Vorlesung. Funktionen/Abbildungen 1 Vorlesung Funktionen/Abbildungen 1 1 Grundlagen Hinweis: In dieser Vorlesung werden Funktionen und Abbildungen synonym verwendet. In der Schule wird eine Funktion häufig als eindeutige Zuordnung definiert.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Übungsblatt LV Künstliche Intelligenz, Data Mining (1), 2014

Übungsblatt LV Künstliche Intelligenz, Data Mining (1), 2014 Übungsblatt LV Künstliche Intelligenz, Data Mining (1), 2014 Aufgabe 1. Data Mining a) Mit welchen Aufgabenstellungen befasst sich Data Mining? b) Was versteht man unter Transparenz einer Wissensrepräsentation?

Mehr

Data Mining und Text Mining Einführung. S2 Einfache Regellerner

Data Mining und Text Mining Einführung. S2 Einfache Regellerner Data Mining und Text Mining Einführung S2 Einfache Regellerner Hans Hermann Weber Univ. Erlangen, Informatik 8 Wintersemester 2003 hans.hermann.weber@gmx.de Inhalt Einiges über Regeln und Bäume R1 ein

Mehr

Unterrichtsvorhaben Q2- I:

Unterrichtsvorhaben Q2- I: Schulinterner Lehrplan Informatik Sekundarstufe II Q2 III. Qualifikationsphase Q2 Unterrichtsvorhaben Q2- I: Im ersten Halbjahr 1 Klausur, im 2. Halbjahr ein Projekt. Die Länge der Klausur beträgt 90 min.

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

Stichprobenauslegung. für stetige und binäre Datentypen

Stichprobenauslegung. für stetige und binäre Datentypen Stichprobenauslegung für stetige und binäre Datentypen Roadmap zu Stichproben Hypothese über das interessierende Merkmal aufstellen Stichprobe entnehmen Beobachtete Messwerte abbilden Schluss von der Beobachtung

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

The integration of business intelligence and knowledge management

The integration of business intelligence and knowledge management The integration of business intelligence and knowledge management Seminar: Business Intelligence Ketevan Karbelashvili Master IE, 3. Semester Universität Konstanz Inhalt Knowledge Management Business intelligence

Mehr

Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining

Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining Tiefgreifende Prozessverbesserung und Wissensmanagement durch Data Mining Ausgangssituation Kaizen Data Mining ISO 9001 Wenn andere Methoden an ihre Grenzen stoßen Es gibt unzählige Methoden, die Abläufe

Mehr

Data Mining-Projekte

Data Mining-Projekte Data Mining-Projekte Data Mining-Projekte Data Mining stellt normalerweise kein ei nmaliges Projekt dar, welches Erkenntnisse liefert, die dann nur einmal verwendet werden, sondern es soll gewöhnlich ein

Mehr

Befragung und empirische Einschätzung der Praxisrelevanz

Befragung und empirische Einschätzung der Praxisrelevanz Befragung und empirische Einschätzung der Praxisrelevanz eines Vorgehensmodells zur Auswahl von CRM-Systemen D I P L O M A R B E I T zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen

Mehr

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining. Motivation Themenblock: Klassifikation Praktikum: Data Warehousing und Data Mining Ziel Item hat mehrere Attribute Anhand von n Attributen wird (n+)-tes vorhergesagt. Zusätzliches Attribut erst später

Mehr

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09.

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09. Abstract zum Thema Handelssysteme Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, eric-hansen@gmx.de am: 07.09.01 Einleitung: Handelssysteme

Mehr

Programmiertechnik II

Programmiertechnik II Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...

Mehr

Data Mining und Knowledge Discovery in Databases

Data Mining und Knowledge Discovery in Databases Data Mining und Knowledge Discovery in Databases Begriffsabgrenzungen... Phasen der KDD...3 3 Datenvorverarbeitung...4 3. Datenproblematik...4 3. Möglichkeiten der Datenvorverarbeitung...4 4 Data Mining

Mehr

Data Mining mit der SEMMA Methodik. Reinhard Strüby, SAS Institute Stephanie Freese, Herlitz PBS AG

Data Mining mit der SEMMA Methodik. Reinhard Strüby, SAS Institute Stephanie Freese, Herlitz PBS AG Data Mining mit der SEMMA Methodik Reinhard Strüby, SAS Institute Stephanie Freese, Herlitz PBS AG Data Mining Data Mining: Prozeß der Selektion, Exploration und Modellierung großer Datenmengen, um Information

Mehr

Kapitel 11* Grundlagen ME. Aufbau eines ME-Systems Entwicklung eines ME-Systems. Kapitel11* Grundlagen ME p.1/12

Kapitel 11* Grundlagen ME. Aufbau eines ME-Systems Entwicklung eines ME-Systems. Kapitel11* Grundlagen ME p.1/12 Kapitel 11* Kapitel11* Grundlagen ME p.1/12 Grundlagen ME Aufbau eines ME-Systems Entwicklung eines ME-Systems Kapitel11* Grundlagen ME p.2/12 Aufbau eines ME-Systems (1) on line Phase digitalisiertes

Mehr

Räumliches Data Mining

Räumliches Data Mining Räumliches Data Mining Spatial Data Mining Data Mining = Suche nach "interessanten Mustern" in sehr großen Datensätzen => explorative Datenanlyse auch: Knowledge Discovery in Databases (KDD) verbreitete

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation

Softwareentwicklungspraktikum Sommersemester 2007. Testdokumentation Softwareentwicklungspraktikum Sommersemester 2007 Testdokumentation Auftraggeber Technische Universität Braunschweig

Mehr

Anwendung der Predictive Analytics

Anwendung der Predictive Analytics TDWI Konferenz mit BARC@TDWI Track 2014 München, 23. 25. Juni 2014 Anwendung der Predictive Analytics Prof. Dr. Carsten Felden Dipl. Wirt. Inf. Claudia Koschtial Technische Universität Bergakademie Freiberg

Mehr

Einführung in die Wissensverarbeitung und Data Mining

Einführung in die Wissensverarbeitung und Data Mining Einführung in die Wissensverarbeitung und Data Mining Peter Becker FH Bonn-Rhein-Sieg Fachbereich Angewandte Informatik!" $# Vorlesung Wintersemester 2001/02 1. Einführung Vorbemerkungen 1 Einführung Vorbemerkungen

Mehr

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen

Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1 3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)

Mehr

0 Einführung: Was ist Statistik

0 Einführung: Was ist Statistik 0 Einführung: Was ist Statistik 1 Datenerhebung und Messung Die Messung Skalenniveaus 2 Univariate deskriptive Statistik 3 Multivariate Statistik 4 Regression 5 Ergänzungen Grundbegriffe Statistische Einheit,

Mehr

Lehrerhandbuch Unterrichtsstunde zum Mathematiklabor Thema Proportionalität. Universität Würzburg Lena Moser

Lehrerhandbuch Unterrichtsstunde zum Mathematiklabor Thema Proportionalität. Universität Würzburg Lena Moser Lehrerhandbuch Unterrichtsstunde zum Mathematiklabor Thema Proportionalität Universität Würzburg Lena Moser Tafelbild Proportionalität Raupe auf Uhr r(ϕ)= ϕ Eigenschaft: Zellteilung exponentielles Wachstum

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Kostenmaße. F3 03/04 p.188/395

Kostenmaße. F3 03/04 p.188/395 Kostenmaße Bei der TM nur ein Kostenmaß: Ein Schritt (Konfigurationsübergang) kostet eine Zeiteinheit; eine Bandzelle kostet eine Platzeinheit. Bei der RAM zwei Kostenmaße: uniformes Kostenmaß: (wie oben);

Mehr

Künstliche Neuronale Netze und Data Mining

Künstliche Neuronale Netze und Data Mining Künstliche Neuronale Netze und Data Mining Catherine Janson, icasus GmbH Heidelberg Abstract Der Begriff "künstliche Neuronale Netze" fasst Methoden der Informationstechnik zusammen, deren Entwicklung

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Data Mining Anwendungen und Techniken

Data Mining Anwendungen und Techniken Data Mining Anwendungen und Techniken Knut Hinkelmann DFKI GmbH Entdecken von Wissen in banken Wissen Unternehmen sammeln ungeheure mengen enthalten wettbewerbsrelevantes Wissen Ziel: Entdecken dieses

Mehr

Towards Automated Analysis of Business Processes for Financial Audits

Towards Automated Analysis of Business Processes for Financial Audits Towards Automated Analysis of Business Processes for Financial Audits Michael Werner Universität Hamburg michael.werner@wiso.uni hamburg.de Max Brauer Allee 60 22765 Hamburg StB Prof. Dr. Nick Gehrke Nordakademie

Mehr

CLINICAL DECISION SUPPORT SYSTEMS

CLINICAL DECISION SUPPORT SYSTEMS CLINICAL DECISION SUPPORT SYSTEMS INHALTSVERZEICHNIS 1/2 Diagnosefindung Prävention Medikamente (Auswahl, Dosierung etc.) INHALTSVERZEICHNIS 2/2 Supervised, Unsupervised Bayes-Netzwerke Neuronale Netze

Mehr

Telezentrische Meßtechnik

Telezentrische Meßtechnik Telezentrische Meßtechnik Beidseitige Telezentrie - eine Voraussetzung für hochgenaue optische Meßtechnik Autor : Dr. Rolf Wartmann, Bad Kreuznach In den letzten Jahren erlebten die Techniken der berührungslosen,

Mehr

Motivation. Themenblock: Data Preprocessing. Einsatzgebiete für Data Mining I. Modell von Gianotti und Pedreschi

Motivation. Themenblock: Data Preprocessing. Einsatzgebiete für Data Mining I. Modell von Gianotti und Pedreschi Motivation Themenblock: Data Preprocessing We are drowning in information, but starving for knowledge! (John Naisbett) Was genau ist Datenanalyse? Praktikum: Data Warehousing und Data Mining Was ist Data

Mehr

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008 Histogramme in der Datenbankoptimierung Marian Marx 26.06.2008 Inhaltsverzeichnis 1. Histogramme im Allgemeinen 1.1 Definition Histogramm 1.2 Beispiel Histogramm 2. Histogramme in der Datenbankoptimierung

Mehr

Automatische Mustererkennung zur Klassifikation von Konsumentenverhalten am Beispiel der Kreditwürdigkeitsprüfung

Automatische Mustererkennung zur Klassifikation von Konsumentenverhalten am Beispiel der Kreditwürdigkeitsprüfung Prof. Dr. Gerhard Arminger Dipl.-Ök. Alexandra Schwarz Bergische Universität Wuppertal Fachbereich Wirtschaftswissenschaft Fach Statistik Automatische Mustererkennung zur Klassifikation von Konsumentenverhalten

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Evaluation. Caroline Sporleder. Computational Linguistics Universität des Saarlandes. Sommersemester 2011 26.05.2011

Evaluation. Caroline Sporleder. Computational Linguistics Universität des Saarlandes. Sommersemester 2011 26.05.2011 Evaluation Caroline Sporleder Computational Linguistics Universität des Saarlandes Sommersemester 2011 26.05.2011 Caroline Sporleder Evaluation (1) Datensets Caroline Sporleder Evaluation (2) Warum evaluieren?

Mehr

Neuerungen Analysis Services

Neuerungen Analysis Services Neuerungen Analysis Services Neuerungen Analysis Services Analysis Services ermöglicht Ihnen das Entwerfen, Erstellen und Visualisieren von Data Mining-Modellen. Diese Mining-Modelle können aus anderen

Mehr

Machine Learning - Maschinen besser als das menschliche Gehirn?

Machine Learning - Maschinen besser als das menschliche Gehirn? Machine Learning - Maschinen besser als das menschliche Gehirn? Tobias Stähle 23.05.2014 1 Einführung 1.1 Was ist Machine Learning? Während am Anfang Computer noch auf das reine Ausrechnen beschränkt waren

Mehr

Exploration und Klassifikation von BigData

Exploration und Klassifikation von BigData Exploration und Klassifikation von BigData Inhalt Einführung Daten Data Mining: Vorbereitungen Clustering Konvexe Hülle Fragen Google: Riesige Datenmengen (2009: Prozessieren von 24 Petabytes pro Tag)

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz

Mit KI gegen SPAM. Proseminar Künstliche Intelligenz Mit KI gegen SPAM Proseminar Künstliche Intelligenz SS 2006 Florian Laib Ausblick Was ist SPAM? Warum SPAM-Filter? Naive Bayes-Verfahren Fallbasiertes Schließen Fallbasierte Filter TiMBL Vergleich der

Mehr

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

Mehr

Prognosen via Datenanalyse Predictive Analytics: Darauf müssen Unternehmen achten

Prognosen via Datenanalyse Predictive Analytics: Darauf müssen Unternehmen achten Prognosen via Datenanalyse Predictive Analytics: Darauf müssen Unternehmen achten von Jürgen Mauerer Foto: Avantum Consult AG Seite 1 von 21 Inhalt Mehrwert aufzeigen nach Analyse des Geschäftsmodells...

Mehr

Kommentierter SPSS-Ausdruck zur logistischen Regression

Kommentierter SPSS-Ausdruck zur logistischen Regression Daten: POK V AG 3 (POKV_AG3_V07.SAV) Kommentierter SPSS-Ausdruck zur logistischen Regression Fragestellung: Welchen Einfluss hat die Fachnähe und das Geschlecht auf die interpersonale Attraktion einer

Mehr

Modul G.1 WS 07/08: Statistik 17.01.2008 1. Die Korrelation ist ein standardisiertes Maß für den linearen Zusammenhangzwischen zwei Variablen.

Modul G.1 WS 07/08: Statistik 17.01.2008 1. Die Korrelation ist ein standardisiertes Maß für den linearen Zusammenhangzwischen zwei Variablen. Modul G.1 WS 07/08: Statistik 17.01.2008 1 Wiederholung Kovarianz und Korrelation Kovarianz = Maß für den linearen Zusammenhang zwischen zwei Variablen x und y Korrelation Die Korrelation ist ein standardisiertes

Mehr

Fachhochschule Köln. Konzepte des maschinellen Lernens. Ausarbeitung. Florian Keller

Fachhochschule Köln. Konzepte des maschinellen Lernens. Ausarbeitung. Florian Keller Fachhochschule Köln 07 Fakultät für Informations-, Medien-, und Elektrotechnik Institut für Nachrichtentechnik Studiengang Master Technische Informatik Konzepte des maschinellen Lernens Ausarbeitung vorgelegt

Mehr

Webergänzung zu Kapitel 10

Webergänzung zu Kapitel 10 Webergänzung zu Kapitel 10 10.1.4 Varianzanalyse (ANOVA: analysis of variance) Im Kapitel 10 haben wir uns hauptsächlich mit Forschungsbeispielen beschäftigt, die nur zwei Ergebnissätze hatten (entweder

Mehr

Programmierung und Modellierung

Programmierung und Modellierung Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:

Mehr

www.easydatamining.com Analyse-Beispiel Banken

www.easydatamining.com Analyse-Beispiel Banken Data.Mining.Fox (DMF) von Easy.Data.Mining Eine beispielhafte Analyse für den Bereich Banken [0] Der Sinn & Zweck dieser Folien für Sie Einblick in die Welt des Data-Mining bei Easy.Data.Mining: Wie sieht

Mehr