Hierarchische neuronale Netze zur Klassifikation von 3D-Objekten

Größe: px
Ab Seite anzeigen:

Download "Hierarchische neuronale Netze zur Klassifikation von 3D-Objekten"

Transkript

1 Hierarchische neuronale Netze zur Klassifikation von D-Objekten Masterarbeit an der Universität Ulm Fakultät für Informatik vorgelegt von: Rebecca Fay. Gutachter: Prof. Dr. Günther Palm. Gutachter: Dr. Friedhelm Schwenker

2

3 Zusammenfassung Im Rahmen dieser Arbeit wurde ein hierarchisches Objekterkennungssystem zur Erkennung von realen D-Objekten auf Basis von D-Kamerabildern entwickelt und implementiert. Das Objekterkennungssystem besteht aus hierarchisch angeordneten künstlichen neuronalen Netzen. Dabei wurden neben LVQ-Netzen und Nächsten- Nachbar-Klassifikatoren vor allem RBF-Netze eingesetzt. Für letztere wurde neben dem -Phasen-Lernen hauptsächlich das -Phasen-Lernen verwendet. Als Initialisierungsverfahren für die RBF-Netze wurden LVQ-Netze eingesetzt. Die Bildung der Hierarchie erfolgt mit Hilfe eines unüberwachten Lernverfahrens, des k-means Algorithmus. Die Objekterkennung erfolgt anhand von charakteristischen Merkmalen, die aus den zweidimensionalen Bildern der Objekte extrahiert wurden. Als Merkmale wurden Orientierungshistogramme sowie Wavelet-Zerlegungen unterschiedlicher Auflösung gewählt. Für die Klassifikation werden mehrere einzelne Merkmale sowie Kombinationen dieser Merkmale verwendet. Es wurden Experimente durchgeführt, die untersuchten, welche Hierarchien gebildet werden und wie die Hierarchiebildung beeinflußt werden kann. In weiteren Experimenten wurde die Klassifikationsleistung des entwickelten Systems untersucht. Weiterhin wurde der im Rahmen dieser Arbeit entwickelte Ansatz mit bereits existierenden Ansätzen verglichen. Es konnte gezeigt werden, daß mit Hilfe des entwickelten Ansatzes bei geeigneter Parameterwahl balancierte Hierarchien generiert werden können. Mit Hilfe dieser Hierarchien konnten Klassifikationsleistungen in der Größenordnung bekannter Ansätze erreicht werden. In einigen Experimenten konnten sogar bessere Ergebnisse erzielt werden. Es konnte jedoch nicht gezeigt werden, daß in jedem Fall signifikant bessere Ergebnisse als mit bereits existierenden Ansätzen erzielt werden.

4

5 Danksagung Mein besonderer Dank gilt meinem Betreuer Dr. Friedhelm Schwenker für seine hervorragende und motivierende Betreuung. Weiterhin möchte ich mich bei Prof. Dr. Günther Palm für seine zahlreichen Anregungen bedanken. Besonders möchte ich mich auch bei Steffen Simon für die Bereitstellung der Merkmale bedanken. Mein Dank gilt auch den Mitarbeiter der Abteilung Neuroinformatik, die mir stets geholfen haben, wenn LaTeX mich wieder einmal zur Verzweiflung gebracht hat. Und ich möchte mich bei meinem Freund Eddi bedanken für die seelische und moralische Unterstützung und dafür, daß er meine Nervenzusammenbrüche und das Chaos, das ich in der Wohnung hinterlassen habe, so geduldig ertragen hat.

6

7 Inhaltsverzeichnis I Grundlagen und Methodik Einführung und Überblick. Einleitung Ziel der Arbeit Aufbau der Arbeit Problemstellung und Kontext 5. Klassifikationsprobleme Multiklassenprobleme Objekterkennung Grundlegende Verfahren. Verwendete Typen neuronaler Netze k-means Clusteranalyse Lernende Vektor-Quantisierung (LVQ) Nächster-Nachbar-Klassifikator Radiale-Basisfunktionen-Netzwerke (RBF) Verwendete Merkmale Orientierungshistogramme Wavelets Vorverarbeitung der Daten Merkmalsreduktion Transformation II Lösungsansatz 9 Hierarchische Objektklassifikation. Grundidee Generierung der Hierarchie Clusterung Trainieren der Hierarchie Klassifikation Ergebnisse 5. Verwendete Daten Columbia Object Image Library (COIL) i

8 ii Inhaltsverzeichnis 5.. ORL Faces Experimente Experimente zur Untersuchung der Hierarchiebildung Experimente zur Untersuchung der Klassifikationsleistung Ergebnisse der Experimente Bewertungskriterien Ergebnisse der Experimente zur Untersuchung der Hierarchiebildung Ergebnisse der Experimente zur Untersuchung der Klassifikationsleistung Bewertung der Ergebnisse III Diskussion 99 6 Zusammenfassung 6. Zusammenfassung des Lösungsansatzes Zusammenfassung der Ergebnisse Schlußfolgerungen 5 7. Bewertung des Lösungsansatzes Verwandte Arbeiten Hierarchiebildung unter Verwendung von Verwechselungsmatrizen Entscheidungsbäume Decision DAGs for Multiclass Classification Ausblick Anhang 5 A Implementationsdetails 7 A. Aufbau des Klassifikators B Ergebnisse 9 B. Experiment B. Experiment B. Experiment B. Experiment B.5 Experiment B.6 Experiment B.7 Experiment B.8 Experiment B.9 Experiment B. Experiment B. Experiment B. Experiment

9 Inhaltsverzeichnis iii B. Experiment Literaturverzeichnis 57

10 iv Inhaltsverzeichnis

11 Tabellenverzeichnis. Beispiele radialer Basisfunktionen Parameter Hierarchiebildung Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Klassifikation allgemein Parameter Klassifikation LVQ-Netze Parameter Klassifikation RBF-Netze Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Parameter Experiment Kriterien zur Bewertung der Hierarchien B. Parameter Experiment B. Parameter Experiment B. Parameter Experiment B. Parameter Experiment B.5 Parameter Experiment B.6 Parameter Experiment B.7 Parameter Experiment B.8 Parameter Experiment v

12 vi Tabellenverzeichnis B.9 Parameter Experiment B. Parameter Experiment B. Parameter Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B.5 Ergebnisse Experiment B.6 Ergebnisse Experiment B.7 Ergebnisse Experiment B.8 Parameter Experiment B.9 Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Parameter Experiment B. Parameter Experiment B. Parameter Experiment B.5 Parameter Experiment B.6 Parameter Experiment B.7 Ergebnisse Experiment B.8 Ergebnisse Experiment B.9 Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Parameter Experiment B. Parameter Experiment B.5 Parameter Experiment B.6 Ergebnisse Experiment B.7 Ergebnisse Experiment B.8 Ergebnisse Experiment B.9 Ergebnisse Experiment B. Parameter Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment

13 Abbildungsverzeichnis. k-means Netz LVQ Netz RBF Netz Vergleich Gaußfunktion und invers multiquadratische Funktion. 9.5 Erstellen der Orientierungshistogramme Haar-Funktion f, das zugehörige Wavelet g und deren Zusammensetzung Wavelet-Transformation: Zeilen- und Spaltentransformation Wavelet-Transformation: Zerlegung in Teilbilder Extraktion der Merkmale Zusammenhängender gerichteter azyklischer Graph mit Wurzelknoten Binärbaum Ablauf Binärer hierarchischer Klassifikator Klassifikator mit einer allgemeineren Hierarchie COIL COIL ORL-Faces Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment 8. Orientierungshistogramme Ergebnisse Experiment 8. Wavelets Ergebnisse Experiment 8. Orientierungshistogramme vii

14 viii Abbildungsverzeichnis 5.9 Ergebnisse Experiment 8. Wavelets Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Ergebnisse Experiment Beispiel DDAG Vergleich DDAG vs. Hierarchie A. Klassenhierarchie B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B.5 Ergebnisse Experiment B.6 Ergebnisse Experiment B.7 Ergebnisse Experiment B.8 Ergebnisse Experiment B.9 Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B. Ergebnisse Experiment B.5 Ergebnisse Experiment B.6 Ergebnisse Experiment B.7 Ergebnisse Experiment B.8 Ergebnisse Experiment B.9 Ergebnisse Experiment B. Ergebnisse Experiment

15 Algorithmenvereichnis Generierung der Hierarchie Algorithmus zur Berechnung aller k-partitionen einer n-elementigen Menge ix

16

17 Teil I Grundlagen und Methodik

18

19 Kapitel Einführung und Überblick. Einleitung Die Erkennung von dreidimensionalen Objekten ist eine Aufgabenstellung, die auf vielen Gebieten wie beispielsweise Computer Vision, Robotik oder Medizin von besonderer Wichtigkeit ist. Hierbei sind vor allem Multiklassenprobleme von Bedeutung, da bei der Objektidentifikation in realen Situationen, wie beispielsweise in einer Büroumgebung, häufig zwischen einer großen Menge an Klassen unterschieden werden muß. Da Multiklassenprobleme für einfache neuronale Netze schwierig zu lösen sind, wurde nach Verfahren gesucht, mit denen sich diese Schwierigkeiten besser handhaben lassen. Ein Ansatz hierfür ist die mehrstufige Klassifikation, bei der einfache neuronale Netze hierarchisch angeordnet sind. Die Klassifikation erfolgt hierbei in mehreren Stufen unterschiedlicher Detailliertheit, und die einzelnen Netze müssen dabei lediglich Teilprobleme lösen. Das Problem der Zerlegung des Multiklassenproblems in Teilprobleme und deren Anordnung in einer Hierarchie war Gegenstand dieser Arbeit.. Ziel der Arbeit Im Rahmen dieser Arbeit wurde die Eignung hierarchischer Klassifikatoren für die Lösung von Multiklassenproblemen untersucht. Dazu wurde ein Softwaresystem entwickelt, mit dessen Hilfe der Einfluß verschiedener Parameter auf die Hierarchiebildung untersucht werden kann. Parameter waren hierbei unter anderem die Hierarchietiefe und -breite sowie die Art der verwendeten Klassifikatoren. Durch Variation dieser Parameter konnten Hierarchien unterschiedlicher Struktur erzeugt werden. Um den Einfluß dieser Parameter auf die Hierarchiebildung zu erfassen, wurden für die generierten Hierarchien bestimmte Metriken wie Hierarchietiefe, Anzahl der Knoten oder Balanciertheit bestimmt. Darauf aufbauend wurde überprüft, wie sich die Hierarchiestruktur auf die Klassifikationsleistung auswirkt. Beispielsweise wurde untersucht, wie sich die Klassifikationsleistung mit zunehmender Hierarchietiefe verhält. Hierbei wurde auch der Klassifikationsproblem mit n > Klassen (siehe Abschnitt.)

20 . Einführung und Überblick Extremfall des nicht-hierarchischen Klassifikators betrachtet. In den Untersuchungsreihen wurde zusätzlich zu der Struktur der Hierarchie auch die innerhalb der Hierarchie verwendeten Neuronalen Netze modifiziert und die hierdurch bedingte Auswirkung auf die Klassifikationsleistung erfaßt.. Aufbau der Arbeit Nach der allgemeinen Einführung in das Themenfeld der Objektklassifikation wird in Kapitel die Problemstellung der vorliegenden Arbeit erläutert. Kapitel gibt einen Überblick über die grundlegenden Methoden, auf denen der gewählte Lösungsansatz aufbaut. Es handelt sich dabei im wesentlichen um neuronale Netze und Datenvorverarbeitungsmethoden. Die Entwicklung des Lösungsansatzes wird in Kapitel dargestellt. Es wird aufgezeigt, wie die zuvor vorgestellten Methoden in einem hierarchischen Klassifikator kombiniert werden. Kapitel 5 beschreibt das Design der zur Untersuchung des Ansatzes durchgeführten Experimente. Die Ergebnisse der Experimente werden graphisch dargestellt und im Hinblick auf die Zielsetzung der Arbeit interpretiert. Eine Zusammenfassung und Bewertung des Ansatzes sowie ein Vergleich mit verwandten Arbeiten wie Entscheidungsbäume, Hierarchiebildung unter Verwendung von Verwechselungsmatrizen oder DDAGs erfolgt in den Kapiteln 6 und 7. Abschließend werden mögliche Erweiterungen des Ansatzes hinsichtlich weiterer Funktionalität und Untersuchungsschwerpunkten aufgezeigt.

21 Kapitel Problemstellung und Kontext Dieses Kapitel gibt einen Überblick über die im Rahmen dieser Arbeit bearbeitete Problemstellungen der Multiklassenprobleme und der Objekterkennung. Es werden die für den hier entwickelten hierarchischen Klassifikationsansatz verwendeten neuronalen Netze erläutert. Weiterhin werden die eingesetzten Methoden zur Datenvorverarbeitung sowie die verwendeten Merkmale und deren Gewinnung erklärt.. Klassifikationsprobleme Ein Klassifikationsproblem ist gekennzeichnet durch die Zuordnung von Vektoren eines Merkmalsraums zu einer endlichen Menge von Klassen. Ziel hierbei ist Entscheidungsfunktion Abb. X C es, eine Entscheidungsfunktion zu finden, welche die Abbildung vom Merkmalsraum X auf die Menge der Klassen C realisiert. Diese Entscheidungsfunktion soll also einem Element des Merkmalsraums eine Klasse aus der Klassenmenge zuordnen. Eine Möglichkeit, diese Entscheidungsfunktion zu finden, ist das Lernen aus Lernen aus Beispielen. D.h. ein Modell wird anhand von Beispielen adaptiert, so Beispielen daß es die gesuchte Entscheidungsfunktion immer besser approximiert. Bei dem Modell kann es sich beispielsweise um ein neuronales Netz handeln. Anhand der Beispiele lernt das neuronale Netz eine Entscheidungsfunktion in einem meist hochdimensionalen Merkmalsraum. Hierbei wird eine Trainingsmenge bestehend aus M n-dimensionalen Merk- gelabelte malsvektoren X = {x µ X µ =,,..., M} und M zugehörigen Lehrersignalen T = {t µ K : µ =,,..., M} verwendet, wobei letztere die Klassenzugehörigkeit darstellen. Dabei ist K = {,,..., l} IN die vordefinierte Menge der verwendeten Klassen und X IR n der n-dimensionale Merkmalsraum [Rip96]. Nach dem Trainieren des Klassifikators mit der Trainingsmenge soll es möglich sein, die Klassenzugehörigkeiten einer im Allgemeinen zur Trainingsmenge disjunkten Testmenge zu bestimmen. Der Klassifikator soll also in der Lage sein zu generalisieren, d.h. er soll auch Testdaten richtig klassifizieren, die ihm in der Trainingsphase nicht präsentiert wurden. Dafür werden dem Klassifikator Merkmalsvektoren x IR n präsentiert, jedoch ohne zugehöriges Lehrersignal. Die Ausgabe eines Klassifikators realisiert die obengenannte Abbildung, indem 5 Trainingsmenge: Musterpaare {x µ, t µ }

22 6. Problemstellung und Kontext Beispiele für Klassifikationsprobleme der dem Klassifikator präsentierten Eingabe (Merkmalsvektor) eine Ausgabe, d.h. eine Klasse z K, zugeordnet wird. Der Klassifikator trifft somit eine von l möglichen Entscheidungen. Beispiele für Klassifikationsprobleme sind Spracherkennung, Schrifterkennung, Gesichtserkennung, Erstellen medizinischer Diagnosen oder die Erkennung von Objekten aus D-Bildern. Für das Problem der Objekterkennung sind die zu erkennenden Objekte durch die Menge der Merkmalsvektoren X repräsentiert.. Multiklassenprobleme binäre Klassifikationsprobleme Multiklassenprobleme Ansätze zur Lösung von Multiklassenproblemen l Klassifikatoren Unterscheidung: Klasse i vs. Klasse i Fusionsproblem imumsdetektion Probleme Ein binäres Klassifikationsproblem unterscheidet zwischen zwei Klassen. Diese Probleme wurden bereits ausführlich untersucht. In der Praxis haben jedoch Multiklassenprobleme eine weitaus größere Bedeutung, da in der Realität selten nur zwischen zwei Klassen unterschieden wird, sondern oft eine große Anzahl an Klassen betrachtet werden muß. Unter einem Multiklassenproblem versteht man ein Klassifikationsproblem mit einer großen Anzahl an Klassen. Die große Anzahl an Klassen ist oft für einen einzelnen Klassifikator schwierig zu handhaben. Es ist sehr viel einfacher, einen Klassifikator für zwei Klassen als für l > Klassen zu konstruieren. Bisher sind Multiklassenprobleme im Gegensatz zu den binären Klassifikationsproblemen in der Theorie noch nicht sehr ausführlich betrachtet worden. Zur Klassifikation bei Multiklassenproblemen gibt es unterschiedliche Ansätze [PCST] [SK], die dem obengenannten Problem Rechnung tragen. Sie werden im Folgenden kurz aufgeführt.. One-Versus-Rest Schema Bei dem One-Versus-Rest Ansatz werden bei einem l-klassenproblem l Klassifikatoren verwendet, welche jeweils ein binäres Klassifikationsproblem lösen. Für den i-ten Klassifikator werden sämtliche Datenpunkte der i-ten Klasse mit positivem Label versehen, alle restlichen Datenpunkte mit negativem Label. Der i-te Klassifikator unterscheidet somit zwischen Datenpunkten, die zur i-ten Klasse gehören (positives Label) und den Datenpunkten, die nicht zur i-ten Klasse gehören (negatives Label). Jeder Klassifikator wird bei diesem Ansatz mit der gesamten Menge der Trainingsdaten trainiert. Die l Klassifikatoren werden miteinander kombiniert, um das Gesamtklassifikationsergebnis zu erhalten. Die Frage wie die einzelnen Klassifikationsergebnisse miteinander kombiniert werden sollen, wird als Fusions- oder Kombinationsproblem bezeichnet. Eine mögliche Lösung dieses Problems stellt eine imumsdetektion dar. Die Ergebnisse der einzelnen Klassifikatoren sind bei diesem Ansatz keine Klassenzugehörigkeiten, sondern lediglich eine Entscheidung, ob ein Datenpunkt zu einer Klasse gehört oder nicht. Um als Gesamtergebnis eine Klassenzugehörigkeit zu erhalten, wird der Klassifikator mit der maximalen Aktivierung bestimmt. Daß für die einzelnen Klassifikatoren die Menge der Datenpunkte mit

23 . Objekterkennung 7 positivem Label wesentlich kleiner ist als die Menge der negativ markierten Datenpunkte, stellt hierbei ein Problem dar. Das Verhältnis der nicht zur Klasse gehörenden Datenpunkte zu den zur Klasse gehörenden Datenpunkten wird mit zunehmender Größe der Klassenmenge immer ungünstiger.. One-Versus-One Schema Bei diesem Ansatz findet ebenfalls eine Klassifikation zwischen jeweils zwei Klassen statt. Hierbei wird jedoch jedes Paar von Klassen einzeln miteinander verglichen. Bei einem l-klassenproblem werden hierzu insgesamt ( ) l ( l Klassifikatoren ) = l(l ) Klassifikatoren benötigt. Die Klassifikatoren werden hierbei nur mit einer Teilmenge der Gesamttrainingsmenge trainiert. Sie umfaßt Unterscheidung: nur Datenpunkte der beiden Klassen, die von dem jeweiligen Klassifikator Klasse i vs. Klasse j unterschieden werden sollen. Diese Zwei-Klassen-Klassifikatoren werden dann miteinander zu einem Multiklassen-Klassifikator kombiniert. Das Fusionsproblem wird bei die- Votierungsverfahren sem Ansatz durch ein Votierungsverfahren gelöst. Das Gesamtklassifikationsergebnis ergibt sich aufgrund von Votierungen der l(l ) Einzelentscheidungen. Die Ergebnisse der einzelnen Klassifikatoren sind bei diesem Verfahren Klassen. Somit kann für jede Klasse aufsummiert werden, wie häufig ein Klassifikator diese Klasse als Ergebnis geliefert hat. Das Gesamtergebnis ist dann die Klasse, welche die meisten Votierungen erhielt. Ein Problem des One-Versus-One-Ansatzes ist die große Menge der benö- Probleme tigten Klassifikatoren, die mit der Anzahl der Klassen quadratisch wächst. Ein weiterer Nachteil des Verfahrens ist, daß die einzelnen Klassifikatoren auch Datenpunkte, die nicht zu einer der beiden betrachteten Klassen gehören, trotzdem einer dieser beiden Klassen zuordnen müssen.. Hierarchiebildung Ein weiterer Ansatz zur Klassifikation bei Multiklassenproblemen ist die Zerlegung in Verwendung einer Hierarchie von Klassifikatoren, welche das Klassifikationsproblem in Teilprobleme zerlegen [Hay9]. Mit zunehmender Tiefe Spezifität der Teilprobleme der Hierarchie werden die Klassifikatoren immer spezifischer. Auf höheren Klassifikation in Ebenen der Hierarchie findet eine grobe Klassifikation zwischen Gruppen Abhängigkeit von Klassen statt. Die Gruppen werden mit zunehmender Tiefe kleiner, von der Hierarchietiefe bis auf tiefster Hierarchieebene eine Unterscheidung zwischen einzelnen Klassen stattfindet. Im Gegensatz zu den vorher vorgestellten Ansätzen kann auf dieser Ebene auch zwischen mehr als zwei Klassen unterschieden werden.. Objekterkennung Das Erkennen von dreidimensionalen Objekten anhand von zweidimensionalen Bildern dieser Objekte ist ein typisches Multiklassenproblem. Bei der Projektion der dreidimensionalen Objekte auf die zweidimensionale Probleme bei der Objekterkennung ein Klassifikator für jedes Paar von Klassen

24 8. Problemstellung und Kontext Ansätze bei der D- Objekterkennung Bildfläche ergibt sich ein Informationsverlust durch die verlorengegangene Tiefeninformation. Ebenso stellen mögliche Verdeckungen ein Problem dar. Das menschliche Gehirn ist in der Lage, nur teilweise sichtbare Objekte zu vervollständigen. Für den Rechner ist diese Rekonstruktion nicht ohne weiteres möglich. Weitere Probleme sind Empfindlichkeit gegenüber Skalierung, Rotation, Orientierung, Position und Helligkeiten. Der Mensch ist in der Lage, ein komplexes Objekt wie beispielsweise einen Stuhl auch dann noch wiederzuerkennen, wenn sein zweidimensionales Bild aus einem ungewöhnlichen Blickwinkel aufgenommen wurde. Auch haben die Beleuchtungsverhältnisse wenig Einfluß auf die menschliche Erkennungsleistung. Aber die rechnergestützte Klassifikation ist für solche Probleme sehr viel anfälliger. Die zuletzt genannten Probleme ergeben sich auch bei der Erkennung von zweidimensionalen Objekten wie z.b. Ziffern. Ein weiteres Problem bei der Objekterkennung ist die Lokalisation des zu klassifizierenden Objektes im Bild. Dieses Problem wurde im Rahmen dieser Arbeit nicht betrachtet. Es wurden nur bereits vorverarbeitete Bilder verwendet. Sie enthalten lediglich ein einziges Objekt, das sich im Zentrum des Bildes befindet. Es gibt auf dem Gebiet der D-Objekterkennung zwei unterschiedliche An- sätze [SK]: Struktur- bzw. Primitivebasierter Ansatz ( structural-based bzw. primitives-based approach ) Ansichtsbasierter Ansatz ( view-based approach ) strukturbasierter Ansaz D-Volumenelemente Anwendungsgebiete ansichtsbasierter Ansatz charakteristische Ansichten ansichtsbasierter Ansatz bei neuronalen Netzen Im folgenden werden diese beiden Ansätze kurz erläutert. Bei dem strukturbasierten Ansatz werden die D-Objekte als aus kleinen einfachen D-Volumenkörpern, wie Würfel, Kegel, Zylinder, Kugel, etc. zusammengesetzt angenommen. Für die Objekterkennung wird bei diesem Ansatz zunächst versucht, diese Elemente innerhalb des Bildes zu detektieren. Anhand dieser Volumenkörper wird entschieden, welches Objekt durch sie repräsentiert wird. Die Objekterkennung erfolgt also auf Basis der einzelnen Komponenten eines Objektes. Dieser Ansatz hat seine Stärken bei geometrischen Objekten, ist jedoch bei Objekten mit freien Formen, wie beispielsweise bei Gesichtern, weniger geeignet und wird daher vor allem bei künstlich generierten Bilder, wie z.b. Computer-Aided Design Anwendungen, verwendet. Eine andere Herangehensweise stellt der ansichtsbasierte Ansatz dar. Hierbei werden Objekte durch eine Menge von unterschiedlichen charakteristischen D- Bildern der D-Objekte repräsentiert. Die Bilder zeigen verschiedene Ansichten des Objektes, d.h. das Objekt wird aus unterschiedlichen Blickwinkeln, in unterschiedlichen Positionen, bei unterschiedlichen Lichtverhältnissen etc. aufgenommen, um eine möglichst umfassende Repräsentation des dreidimensionalen Objektes zu haben. Neuronale Objektklassifikatoren werden mit diesen Bildern trainiert. Für die Klassifikation wird dann dem neuronalen Netz ein einzelnes D-Bild des zu klassifizierenden Objektes präsentiert. Das Netz vergleicht dieses Bild mit den

25 . Objekterkennung 9 gelernten D-Repräsentationen. Für das Klassifikationsergebnis ist es wichtig, das Netz mit Bildern zu trainieren, welche die zu klassifizierenden Objekte genügend gut repräsentieren unter Beachtung der möglichen Transformationen wie Position, Blickwinkel und Größe. Da es eine Vielzahl von möglichen Ansichten eines Objektes gibt, ist es not- invariante wendig eine große Anzahl von unterschiedlichen Aufnahmen zu verwenden, um Repräsentation eine möglichst umfassende Repräsentation zu erhalten. Durch einen Klassifikator, der durch eine invariante interne Repräsentation gegenüber Änderungen in der Ansicht tolerant ist, könnte die Menge der benötigten Aufnahmen reduziert werden. Im Rahmen der vorliegenden Arbeit wurde der ansichtsbasierte Ansatz verwendet. Es wurde jedoch kein Klassifikator mit invarianter interner Repräsentation verwendet.

26 . Problemstellung und Kontext

27 Kapitel Grundlegende Verfahren In diesem Kapitel werden zunächst die verwendeten Verfahren eingeführt. Die für den später vorgestellten Lösungsansatz verwendeten neuronalen Netze werden beschrieben, und es wird aufgezeigt, welche Merkmale für die Klassifikation der dreidimensionalen Objekte verwendet wurden. Ebenso werden einige Methoden zur Datenvorverarbeitung erläutert.. Verwendete Typen neuronaler Netze Im Rahmen dieser Arbeit wurden verschiedene Arten neuronaler Netze verwendet. Diese fanden bei der Realisierung des Lösungsansatzes unterschiedliche Einsatzgebiete. Die Netze werden zur Konstruktion der Hierarchie und innerhalb der Hierarchie verwendet, um Klassifikationsaufgaben zu erfüllen. Für die Onlineeinzelnen Netze wurde jeweils ein Online-Lernverfahren verwendet. Dabei erfolgt die Adaption der Netzparameter unmittelbar nach der Präsentation eines Lernverfahren einzelnen Datenpunktes. Dieses steht im Gegensatz zum Batch- oder Offline- Lernverfahren, bei welchem dem Netz zunächst alle Datenpunkte präsentiert werden und die Veränderung der Parameter erst am Ende einer Lernepoche erfolgt. Hierarchische neuronale Netze bestehen aus einzelnen neuronalen Netzen, hierarchische die hierarchisch angeordnet sind. Ziel des Einsatzes von hierarchischen neuronalen Netzen ist es, den aufwendigen Klassifikationsprozeß in neuronale Netze Teiloperationen zu gliedern, die jeweils nur geringen Aufwand benötigen. So erhält man einen Genauigkeit der Klassifikation vs. benötigte Zeit Kompromiß zwischen Genauigkeit der Klassifikation und der für die Klassifikation benötigten Zeit. Das Ziel bei hierarchischen Netzen ist es, den Verlust an Genauigkeit möglichst gering zu halten bei gleichzeitiger Steigerung des Zeitgewinns [Hay9]. Im Folgenden sollen die für den Lösungsansatz gewählten neuronalen Netze kurz vorgestellt werden... k-means Clusteranalyse Bei dem k-means Clusterverfahren [TG79] handelt es sich um ein zweischichti- Netzwerkarchitektur ges unüberwachtes kompetitives neuronales Netz. Es besitzt n Neuronen in der

28 . Grundlegende Verfahren Eingabeschicht und k Neuronen in der Berechnungsschicht, welche den Wettbewerb realisieren. Die beiden Schichten sind vollständig miteinander verbunden. Abbildung.: k-means Netz winner-takesall-prinzip Die Neuronen der zweiten Schicht konkurrieren darum, aktiviert zu werden. Zu einem Zeitpunkt ist nach dem winner-takes-all-prinzip immer nur ein Neuron aktiv. Dessen Ausgabe ist. Die Ausgabe aller anderen Neuronen ist. Das Gewinnerneuron j ist dasjenige Neuron, dessen Gewichtsvektor c j IR n den geringsten Abstand zu dem präsentierten Datenpunkt x IR n aufweist. j = arg min x c j (.) j=,,...,k Lernverfahren Lernregel wobei die Euklidische Norm darstellt. Beim Lernen wird lediglich das Gewinnerneuron angepaßt. Alle anderen Neuronen werden nicht verändert. Die Lernregel zur Adaption der Gewichte c i,j des Gewinnerneurons lautet: c i,j = c i,j + η(x i c i,j ) (.) Terminationskriterien Initialisierung wobei η = C j + der Lernrate und C j der Anzahl der Datenpunkte entspricht, welche dem Gewinnerneuron j im Verlauf des Netzwerktrainings zugeordnet wurden. Die Gewichtsvektoren c j werden hierbei als Prototypen bzw. Zentren bezeichnet. Unter Cluster C j versteht man, die Menge der Datenpunkte, für welche das Zentrum c j das nächste ist. Der Algorithmus wird beendet, wenn sich die Zuordnung der Datenpunkte zu den Clustern über eine Lernepoche nicht mehr ändert, bzw. die prozentuale Änderung kleiner als eine vorgegebene Schwelle ist. Da k-means Netze empfindlich gegenüber der Initialisierung sind, ist auf eine geeignete Initialisierung Wert zu legen. Die Initialisierung der Clusterzentren sollte den Eingaberaum möglichst gut abdecken. Eine Möglichkeit ist, die Zentren mit zufällig ausgewählten Datenpunkten aus der Trainingsmenge zu initialisieren. Dadurch wird verhindert, das es Zentren gibt, welche durch das Lernverfahren nicht adaptiert werden, da sie nie Gewinner des Wettbewerbs werden. Dies kann leicht passieren, wenn die Datenpunkte mit zufälligen Punkten aus dem Eingaberaum initialisiert werden.

29 . Verwendete Typen neuronaler Netze Ein Verfahren, welches Datenpunkte aus der Trainingsmenge so auswählt, daß sie möglichst gut im Eingaberaum verteilt sind und gleichzeitig die Anzahl der benötigten Clusterzentren bestimmt, ist der i-algorithmus.... i-algorithmus von Batchelor und Wilkins Der i-algorithmus [BB69] ist ein einfaches heuristisches Verfahren, wel- Initialisierungsverfahren für ches als Initialisierungsverfahren für den k-means Algorithmus verwendet werden kann [TG79] [Loo97]. Dieses Verfahren bestimmt die Anzahl der benötigten den k-means- Algorithmus Zur Bestimmung der Distanzen wird die Euklidische Norm automatische Bestimmung der Zentrenzahl Zentren, wobei zunächst Zentren mit größtmöglichem Abstand zueinander bestimmt werden. verwendet. Die Zentren c i werden mit Datenpunkten x µ aus der Trainingsdatenmenge initialisiert. Das erste Zentrum c wird durch einen zufällig gewählten Datenpunkt x m initialisiert. Für die Initialisierung des zweiten Zentrums c wählt man den von c am weitesten entfernten Datenpunkt x m mit m = arg max x µ c (.) µ=,...,m;µ m Die weiteren Zentren werden wie folgt bestimmt: Für jeden bisher noch nicht zur Initialisierung eines Zentrums verwendeten Datenpunkt wird das Zentrum j bestimmt, zu welchem er den kleinsten Abstand hat: j = arg min x c j (.) j=,...,k wobei k die Zahl der bisher gefundenen Zentren darstellt. Nun wird der Datenpunkt bestimmt, der den größten Abstand zu seinem so bestimmten Zentrum hat. Diesen Abstand d maximin = max µ X\{m,m,...,m k } min j=,...,k xµ c j (.5) bezeichnet man als i-distanz. Ist die i-distanz größer als der Bestimmung der mit einer festzulegenden Konstante γ multiplizierte mittlere Zentrenabstand, id.h. Distanz d maximin > γ k j = i k c i c j (.6) k i= wird der zugehörige Punkt ein neues Zentrum, und es wird erneut ein möglicher Kandidat für ein neues Zentrum gesucht. Ist die i-distanz nicht groß genug, werden keine weiteren Zentren erzeugt. Der Algorithmus terminiert in diesem Fall. Die Anzahl der Zentren wird durch den Parameter γ [, ] beeinflußt, d.h. Auswirkung des das Einstellen des Parameters γ ersetzt die Wahl der richtigen Zentrenanzahl. Für γ = wird unabhängig von den Daten jeder der präsentierten Datenpunkte zu einem neuen Zentrum. Wird γ = gewählt, werden ebenfalls datenunabängig außer den beiden initialen Zentren keine weiteren Zentren generiert. Parameters γ auf die Anzahl der Zentren

30 . Grundlegende Verfahren.. Lernende Vektor-Quantisierung (LVQ) LVQ-Netz Netzwerkarchitektur Es gibt eine Reihe unterschiedlicher LVQ-Verfahren. Hier soll jedoch nur das LVQ-Verfahren [Koh95] betrachtet werden. Bei einem LVQ-Netz handelt es sich um ein zweischichtiges kompetitives neuronales Netz mit n Eingabeneuronen und einer zweiten Schicht aus k Neuronen, mit binärem Output. LVQ ist im Gegensatz zu k-means ein überwachtes Lernverfahren, welches zur Vektorquantisierung und zur Klassifikation verwendet wird. Abbildung.: LVQ Netz Die Gewichtsvektoren c, c,..., c k IR n der k Neuronen stellen Prototypenvektoren dar und unterteilen den Eingaberaum in k disjunkte Regionen R, R,..., R k R, mit R j = {x IR n x c j = min i=,,...,k x c i }, d.h. die Region R j umfaßt alle Datenpunkte x des Eingaberaumes, für welche der Prototyp c j der nächste Prototyp ist. Diese Zerlegung des Eingaberaums bezeichnet man als Voronoi-Zerlegung [Koh95]. Jedem Neuron bzw. Prototypen j =,,..., k wird eine Klasse y j K = {,,...l} zugeordnet. Hierbei kann es mehrere Prototypen geben, denen die gleiche Klasse zugeordnet wird. Diese Klasseninformation wird für die Adaption der Prototypen verwendet. Ziel ist es nun, die Prototypen so im Eingaberaum zu verteilen, daß die Eingabedaten möglichst gut repräsentiert werden und somit die durchschnittlich erwartete Fehlklassifikationsleistung minimiert wird. Hierzu wird das Netz mit einer genügend großen Zahl von Trainingsdaten mit bekannter Klassifikation trainiert. Die Prototypen werden während des Trainings an die Eingabe angepaßt. Bei einem LVQ-Netz erfolgt das Lernen folgendermaßen: Alle Neuronen j =,,..., k berechnen die Distanz d j = x c j zwischen dem präsentierten Eingabevektor x µ IR n und ihrem Gewichtsvektor c j IR n. Dabei steht für die Euklidische Norm. Nun wird derjenige Prototyp bestimmt, welcher die geringste Distanz d j = min j=,,...,k d j zu dem präsentierten Eingabevektor x µ aufweist, d.h. der diesem Datenpunkt am ähnlichsten ist. Das zugehörige Voronoi- Zerlegung Trainingsphase Lernverfahren LVQ, LVQ, LVQ, OLVQ

31 . Verwendete Typen neuronaler Netze 5 Neuron j = arg min j=,,...,k d j ist das Gewinnerneuron. Einzig dieses Neuron wird im nachfolgenden Adaptionsschritt angepaßt. Die Lernregel hierfür lautet: Lernregel c j = { cj + η(t)(x c j ) : Klasse(x) = Klasse(j ) c j η(t)(x c j ) : Klasse(x) Klasse(j ) (.7) d.h. falls die Klasse des Trainingsmusters mit der Klasse des Gewinnerneurons übereinstimmt, erfolgt eine Änderung des Prototypen hin zum präsentierten Datenpunkt, andernfalls eine Änderung weg von diesem Datenpunkt. Alle anderen Neuronen werden nicht modifiziert. Die Lernrate η(t) (, ) sollte so gewählt sein, daß sie mit steigender Wahl der Lernrate η Anzahl der Lernepochen t monoton abfällt. Häufig wird η(t). und mit t gegen fallen gewählt. Mögliche Wahlen von η sind: η(t) = η()t a oder η(t) = η()[ at] mit a IR +. Durch die anfänglich große Lernrate wird das Netz zunächst grob strukturiert. Die Verkleinerung der Lernrate im Verlauf des Trainings gewährleistet, daß die Änderungen der Prototypen mit zunehmender Lerndauer geringer werden. Auch die Wahl des Startwertes η() hat einen Einfluß auf das Lernverhalten des neuronalen Netzes. Wird η() zu groß gewählt, kann dies dazu führen, daß das Netz nicht zur Ruhe kommt. Wählt man hingegen η() zu klein, kann dies dazu führen, daß das Netz vorzeitig stagniert. Beim Trainieren des Netzes ist darauf zu achten, die Anzahl der Lernepochen nicht zu groß zu wählen, um ein Überlernen zu vermeiden, bei welchem die Generalisierungsleistung des Netzes abnimmt. Die Initialisierung der Prototypen sollte wie bei dem k-means-algorithmus Initialisierung der Prototypen so erfolgen, daß sie den Eingaberaum gut abdecken. Um zu verhindern, daß Prototypen verwendet werden, die so im Eingaberaum liegen, daß sie niemals den Wettbewerb gewinnen und somit auch nichts zur Klassifikation beitragen, kann man die Prototypen mit Datenpunkten initialisieren. Nach dem Training werden dem Netz Eingabevektoren präsentiert. Wie in Klassifikationsphase der Trainingsphase wird das Neuron bestimmt, welches dem jeweils präsentierten Eingabevektor am ähnlichsten ist. Das Klassifikationsergebnis für den Eingabevektor ist die Klasse des Gewinnerneurons. Vor allem bei der Klassifikation von Eingabevektoren, die dem Netz nicht Fehlklassifikation während des Trainings präsentiert wurden, kann es zu Fehlklassifikationen kommen, d.h. dem Eingabevektor wird von dem Netz die falsche Klasse zugeordnet. Sowohl beim Trainieren des Netzes als auch in der Arbeitsphase des Netzes Aufwand müssen die präsentierten Datenpunkte mit allen Prototypen verglichen werden, d.h. der Aufwand hierfür nimmt mit der Anzahl der Prototypen zu... Nächster-Nachbar-Klassifikator Ein weiteres Verfahren zur Klassifikation ist der Nächste-Nachbar-Klassifikator [DHS]. Die Klassifikation mit Hilfe eines Nächste-Nachbar-Klassifikators erfolgt durch Vergleichen der Testdaten mit sämtlichen Trainingsdaten. Dabei ist Finden des das Ziel das Finden des Trainingsdatenpunktes, welcher die geringste Distanz zu dem präsentierten Testdatenpunkt aufweist und ihm damit am ähnlichsten nächsten Nachbars

32 6. Grundlegende Verfahren Verwendung von LVQ-Netzen als Nächste- Nachbar- Klassifikatoren Bewertung ist. Dazu werden alle Trainingsmuster gespeichert. Es erfolgt keine Modifikation der Gewichte durch Lernen. Dies kann durch ein LVQ-Netzwerk realisiert werden, bei welchem die Anzahl der Prototypen entsprechend der Anzahl der Trainingsdatenpunkte gewählt wird und die Prototypen mit diesen Datenpunkten initialisiert werden. Für die Klassifikation werden die Testdaten dem Netz präsentiert, welches den nächstgelegenen Prototypen sucht. Der Vorteil hierbei ist, daß hierfür kein Lernen notwendig ist. Nachteilig ist jedoch die Größe des Netzes, da dieses bei einer großen Anzahl an Datenpunkten entsprechend groß wird. Denn zur Klassifikation muß der präsentierte Datenpunkt mit allen Prototypen verglichen werden, um den nächstgelegenen Prototypen zu ermitteln... Radiale-Basisfunktionen-Netzwerke (RBF) Den theoretischen Hintergrund der RBF Netze liefert die mathematische Approximationstheorie von Funktionen mehrerer Veränderlicher. Ziel ist es hierbei, eine Funktion f : IR n IR m möglichst genau zu approximieren. Die Menge von Eingabevektoren x µ = (x µ,..., xµ n) T IR n und der zugehörige Ausgabevektor y µ = (y µ,..., yµ m) T IR m stellen eine abgetastete Version dieser unbekannten kontinuierlichen Funktion dar. Funktionsapproximation... Netzwerkarchitektur Bei RBF-Netzen handelt es sich um dreischichtige, vorwärtsgerichtete Neuronale Netze mit n Eingabeneuronen, k Neuronen in der versteckten Schicht, und l linearen Ausgabeneuronen. Abbildung.: RBF Netz radiale Aktivierungsfunktion Die n Neuronen in der Eingabeschicht repräsentieren die Komponenten des n-dimensionalen Eingabevektors x. Die versteckte Schicht besteht aus k

33 . Verwendete Typen neuronaler Netze 7 RBF-Neuronen, welche radiale Aktivierungsfunktionen besitzen (vgl. Abschnitt...). Die Gewichte c j der Verbindung zwischen den Eingabeneuronen und dem j- Zentren der Basisfunktionen ten Neuron der verdeckten Schicht stellen hierbei einen n-dimensionalen Vektor dar, welcher das Zentrum der dem j-ten RBF-Neuron zugeordneten Basisfunktion h j definiert und somit als Prototypenvektor gesehen werden kann. Die Aktivierung u j = x c j der RBF-Neuronen wird durch die Distanz (z.b. die Euklidische Distanz) zwischen dem Eingabevektor und dem jeweiligen Prototypenvektor bestimmt. Die Ausgabe y j des j-ten RBF-Neurons ergibt sich durch Anwendung der zugehörigen Aktivierungsfunktion auf diese Aktivierung: y j = h j (u j ). Die Weite der Basisfunktion h j wird durch den Parameter σ j bestimmt. Die Weite der Basisfunktionen Wahl dieses Parameters hat einen großen Einfluß auf die Klassifikations- bzw. Approximationsleistung des Netzes. Wird σ zu groß gewählt, neigt das Netz zu einer zu starken Verallgemeinerung. Wird σ jedoch zu klein gewählt, besteht die Gefahr des Überlernens, d.h. die Generalisierungsleistung des Netzes sinkt. Der Parameter σ kann unterschiedlich gewählt werden. Er kann reellwertig oder vektorwertig gewählt werden. Er kann beispielsweise für alle Neuronen der versteckten Schicht gleich gewählt werden: σ j = σ R für alle j {,,..., k}. σ kann jedoch auch für jedes Neuron unterschiedlich gewählt werden: σ j R für alle j {,,..., k}. Wird σ vektorwertig σ j IR n gewählt, führt dies zu nichtradialen Basisfunktionen, sogenannten Hyperbasisfunktionen. Diese können beispielsweise ellipsoid sein. Die Achsen dieser Hyperbasisfunktionen sind jedoch parallel zu den Achsen des Merkmalsraums. Eine Drehung der Basisfunktionen ist ebenfalls möglich durch Multiplikation des Parameters σ j mit einer positiv definiten, nicht diagonalen Matrix. Im Rahmen dieser Arbeit wurden nichtgedrehte Hyperbasisfunktionen verwendet. Da die Wahl des Parameters σ einen entscheidenden Einfluß auf die Lei- Methoden zur stungsfähigkeit des RBF-Netzes hat, ist eine gute Initialisierung von σ von Abschätzung Vorteil. Die Abschätzung von σ kann anhand einer Clusterung der Daten erfolgen, bei welcher auch die Zentren der radialen Basisfunktionen bestimmt von σ werden. Die Clusterung liefert Prototypen sowie eine Verteilung der Daten auf die Prototypen. Zur Initialisierung der RBF-Zentren werden nun diese Prototypen verwendet. Für die Abschätzung von σ kann nun für jeden Prototypen die Standardabweichung über die ihm zugeordneten Datenpunkte bestimmt werden. Dies geschieht für alle Dimensionen der Daten. Dem zugehörigen σ wird dann diese Standardabweichung zugeordnet. Eine weitere Möglichkeit zu Bestimmung eines Initialwertes für σ ist, für jeden Prototypen den mittleren Abstand zu den k nächsten Prototypen zu bestimmen und diesen Wert für σ zu wählen. Dies geschieht ebenfalls für jede Dimension separat. Die linearen Neuronen der Ausgabeschicht bilden jeweils eine gewichtete Höhe der Summe z m = k Basisfunktionen j= w j,my j (mit m =,,..., l) der Ausgabe y j der versteckten Schicht, d.h. es werden Linearkombinationen der Basisfunktionen gebildet. Die Gewichte zwischen der versteckten Schicht und der Ausgabeschicht definieren somit die Höhe der Basisfunktion.

34 8. Grundlegende Verfahren... Radiale Basisfunktionen Radiale Basisfunktionen Es gibt verschiedenste radiale Basisfunktionen [Bis96]. RBF Formel Linear h(u) = u Cubic h(u) = u Surface h(u) = u n, n IN Thin Plate Spline h(u) = u n ln(u), n IN Shifted Surface h(u) = (u + a ) n, n IN, a IR Shifted Thin Plate h(u) = (u + a ) n log(r + a ), n IN, a IR Shifted Logarithm h(u) = log(u + a ), a IR h(u) = (u + a ) α, < α <, a IR Cauchy h(u) = +u Multiquadric Inverse Multiquadric Gaussian h(u) = (u + a ), a IR h(u) = (u + c ) β, a IR, β > h(u) = (u + a ), a IR h(u) = (u + a ) β, a IR h(u) = e u a, a IR + Tabelle.: Beispiele radialer Basisfunktionen Im Rahmen dieser Arbeit wurden die Gauß sche Funktion sowie die inverse multiquadratische Funktion h(u) = e u σ (.8) h(u) = (.9) u + a σ Invers multiquadratische Funktion, Gauß-Funktion lokal begrenzte Funktionen Vergleich der beiden Funktionen als radiale Basisfunktionen verwendet. Abbildung. zeigt diese beiden Funktionen. Beide Funktionen sind lokal begrenzt, d.h. die größte Antwort ergibt sich im Zentrum der Funktion. Mit zunehmendem Abstand vom Zentrum wird diese kleiner. In beiden Fällen gilt: lim u h(u) =. Dies führt dazu, daß die Neuro- nen der versteckten Schicht nur Eingaben eines begrenzten Bereiches gegenüber empfindlich sind. Daher kann vor allem bei großen Netzen beim Hinzukommen von neuen Datenpunkten auf erneutes Training, welches dann recht aufwendig wäre, verzichtet werden. Der Vorteil der invers multiquadratischen Funktion gegenüber der Gaußfunktion liegt vor allem darin, daß sie langsamer gegen strebt (vgl. Abbildung.). Dies ist bei RBF-Netzen wichtig, denn falls die Ausgabe h(u) der RBF-Schicht ist, findet kein Lernen statt, da die Ausgabe der RBF-Schicht multiplikativ in die Formeln zur Berechnung der Parameteränderungen eingeht (vgl. Abschnitt...).

35 . Verwendete Typen neuronaler Netze 9 Abbildung.: Vergleich Gaußfunktion und invers multiquadratische Funktion, σ =, a =... Lernverfahren Für das Trainieren der RBF-Netze werden überwachte Lernverfahren eingesetzt. Im Gegensatz zu Multi-Layer-Perzeptron Netzen (MLP), welche typischerweise mit dem Backpropagation Lernalgorithmus oder ähnlichen Optimierungsverfahren trainiert werden, können RBF-Netze auf unterschiedliche Weise trainiert werden [SKP]. Im Folgenden sollen einige dieser Lernalgorithmen vorgestellt werden. Der Fehler E der Netzausgabe eines RBF-Netzes berechnet sich aus der Fehlerfunktion Differenz der Ausgabe der linearen Ausgabeschicht und des Lehrersignals. Für einen Datenpunkt ergibt sich er Fehler wie folgt: E µ = t µ z µ = l (t µ m z m) µ (.) mit z µ m = k j= h(xµ c j )w j,m, m =,,..., l. Die Lernalgorithmen für RBF-Netze minimieren diese Fehlerfunktion. Die dabei verwendeten Lernregeln für die einzelnen Parameter des RBF-Netzes ergeben sich durch die Ableitung dieser Fehlerfunktion nach dem jeweiligen Parameter. Diese kann berechnet werden, da die verwendeten Basisfunktionen differenzierbar sind. Die Fehlerfunktion E ist konvex quadratisch bezüglich der Parameter w k. Somit existiert genau ein lokales imum, welches dann das globale imum ist. Bezüglich der Zentren c j und der Skalierungsparameter σ j der Basisfunktionen ist sie nicht konvex. Dies bedeutet, daß für die Parameter c j und σ j möglicherweise nur ein lokales Optimum statt des globalen gefunden werden kann. Für die Gewichte w k der Ausgabeschicht hingegen besteht diese Gefahr nicht, da bei einem konvexen Optimierungsproblem das imum stets gefunden wird. Da die Übertragungsfunktionen der versteckten Schicht nicht-linear sind und die der Ausgabeschicht linear, arbeiten die beiden Schichten eines RBF-Netzes m=

36 . Grundlegende Verfahren auf unterschiedliche Weise. Die Ausgabeschicht kann schnell durch lineare Optimierung adaptiert werden, wohingegen die verdeckte Schicht durch nicht-lineare Optimierung langsamer adaptiert wird. Dies spricht dafür, daß eine getrennte Optimierung der beiden Schichten mit unterschiedlichen Verfahren sinnvoll ist. Im Folgenden werden Lernverfahren für RBF-Netze vorgestellt, welche dieses Prinzip berücksichtigen. Lernen der Ausgabegewichte Anpassung der Höhe der Basisfunktionen... -Phasen-Lernen Beim -Phasen-Lernen werden die Zentren c j mit Datenpunkten aus dem Trainingsdatensatz initialisiert und die Weite der Basisfunktionen auf einen konstanten reellwertigen Wert σ gesetzt. Lediglich die Gewichte w k der Ausgabeschicht werden durch ein überwachtes Lernverfahren, z.b. imierung des quadratischen Fehlers der Ausgabeschicht adaptiert. Das Lernen der Gewichte der Ausgabeschicht kann auch durch Berechnung der Pseudoinversen geschehen. Beim -Phasen-Lernen bleiben also die Weiten der Basisfunktionen konstant. Die Basisfunktionen werden durch das Lernen nicht im Eingaberaum bewegt, sondern das Lernen findet lediglich durch die Anpassung der Höhe der Basisfunktionen statt. Support-Vektor-Lernen ist ein spezielles -Phasen-Lernen, bei welchem die Zentren der Basisfunktionen Datenpunkte sind, der Skalierungsparameter σ konstant gewählt wird und lediglich die Gewichte der Ausgabeschicht durch Lernen angepaßt werden. Support-Vektor- Lernen... -Phasen-Lernen Beim -Phasen-Lernen werden die beiden Schichten des RBF Netzes getrennt trainiert. Zunächst werden die RBF Zentren c j und die Skalierungsparameter σ j bestimmt und anschließend werden die Gewichte der Ausgabeschicht durch ein überwachtes Optimierungsverfahren, wie ein Gradientenabstiegsverfahren oder durch die Berechnung der Pseudoinversen, Lernregel für die angepaßt. Die Lernregel hierfür lautet: Gewichte der Ausgabeschicht w j,m = w j,m + η h j (u j )δ m (.) Initialisierung der Netzparameter wobei δ m = (t m y m ) den Fehler der Ausgabeschicht darstellt. Zur Bestimmung der RBF Zentren wird beispielsweise ein LVQ Netz oder ein anderes kompetitives neuronales Netz verwendet, welches mit den selben Daten trainiert wird. Als RBF-Zentren wählt man dann die sich dabei ergebenden Prototypen. Die Skalenparameter werden beispielsweise durch den mittleren Abstand der n nächsten Prototypen oder durch die Varianz der zum jeweiligen Prototypen zugeordneten Datenpunkten bestimmt. Aber auch andere Clusterungs- oder Vektorquantisierungsverfahren können für die Initialisierung der RBF-Zentren verwendet werden. Der Vorteil ist, daß auch ein unüberwachtes Lernverfahren wie beispielsweise das k-means Verfahren hierfür verwendet werden kann. Die Gewichte der Ausgabeschicht werden mit zufällig gewählten Werten aus einem vorgegebenen Intervall initialisiert.... -Phasen-Lernen Beim -Phasen-Lernen schließt sich an das - Phasen-Lernen eine weitere Lernphase an. In dieser werden alle drei Parameter

37 . Verwendete Typen neuronaler Netze des RBF Netzes c i,j, σ i,j und w j,m durch ein Fehler-Rückvermittlungs-Verfahren adaptiert: Das bereits trainierte Netz wird mit Hilfe dieses Lernverfahrens nachtrainiert, um die Klassifikationsleistung zu verbessern. Für die RBF-Zentren ergeben sich abhängig von der verwendeten Aktivie- Lernregel für rungsfunktion der Neuronen der versteckten Schicht folgende Lernregeln: die Gewichte der versteckten mit exponentieller Aktivierungsfunktion Schicht c i,j = c i,j + η (x i c i,j ) σ i,j h j (u j ) l w j,m (t m z m ) (.) m= mit invers multiquadratischer Aktivierungsfunktion c i,j = c i,j + η (x i c i,j ) σ i,j h j (u j ) l w j,m (t m z m ) (.) m= Folgende Lernregeln ergeben sich für die Skalenparameter: mit exponentieller Aktivierungsfunktion Lernregel für die Skalenparameter (x i c i,j ) σ i,j = σ i,j + η h j (u j ) σ i,j l w j,m (t m z m ) (.) m= mit invers multiquadratischer Aktivierungsfunktion (x i c i,j ) σ i,j = σ i,j η h j (u j ) σ i,j... Klassifikation mit RBF-Netzen l w j,m (t m z m ) (.5) Obwohl radiale Basisfunktionen eigentlich für die Approximation und Interpolation multivariater Funktionen entwickelt wurden, können sie auch zur Klassifikation verwendet werden. Bei Klassifikationsszenarien entspricht die Anzahl der Ausgabeneuronen der Anzahl der Klassen, zwischen denen unterschieden werden soll. Die Klassenzu- -aus-l gehörigkeit wird durch eine -aus-l Kodierung ausgedrückt, wobei l die Anzahl Kodierung der Klassen ist. Die Ausgabeschicht enthält dabei l Neuronen, und die Netzausgabe ist ein l-dimensionaler binärer Vektor z {, } l. Die Klasse k wird durch die Ausgabe z = (z,..., z k,..., z l ) = (,...,,..., ) repräsentiert, wobei z k = und z k =, k k. Um diese Kodierung zu erhalten, wird das Neuron k der Ausgabeschicht bestimmt, welches die maximale Ausgabe liefert k = arg max l k=,...,l k= w j,kh( x c j ). Die Ausgabe dieses Neurons wird auf gesetzt, die Ausgabe der restlichen Neuronen auf. Es ist auch möglich die Klasseninformation k {,..., l} durch andere Kodierungen zu realisieren wie beispielsweise durch verteilte k-aus-n Codevektoren. Um bei den Klassifikationsergebnissen eine gewisse Sicherheit zu haben, Schwellwert m=

38 . Grundlegende Verfahren kann noch gefordert werden, daß die Aktivierung des Gewinnerneurons eine bestimmte Schwelle überschreitet und einen destabstand zu der Aktivierung des zweitbesten Neurons hat. Dies ist vor allem bei sicherheitskritschen Anwendungen wie beispielsweise Zugangskontrollen relevant.. Verwendete Merkmale Die Merkmalsgewinnung war nicht Teil dieser Arbeit. Dennoch soll hier kurz geschildert werden, wie die verwendeten Merkmale aus D-Bildern gewonnen werden. Im Rahmen dieser Arbeit wurden zwei unterschiedliche Merkmale verwendet: Orientierungshistogramme [KSB + 99] und Wavelets... Orientierungshistogramme Aufteilung des Bildes in disjunkte Teilbilder Berechnung von Gradientenbetrag und -richtung Bei Orientierungshistogramme werden die Häufigkeit von Orientierungen über die vorkommenden Orientierungen aufgetragen. Orientierungshistogramme machen somit eine Aussage über die Häufigkeit des Vorkommens einzelner Orientierungen. Für die Erstellung der im Rahmen dieser Arbeit verwendeten Orientierungshistogrammen werden die Bilder zunächst mit einem Gaußfilter geglättet. Anschließend wird das Eingabebild in n n nicht überlappende Teilbilder geteilt. Für jedes dieser Teilbilder wird dann das Orientierungshistogramm für m Orientierungen im Bereich von bis π in Schritten von π m mit Hilfe der Gradientenrichtung berechnet, wobei im Rahmen dieser Arbeit m = 8 gewählt wurde. Dazu werden mit einem Sobeloperator Gradientenbetrag und -richtung bestimmt [Jäh97]. Mit Hilfe des Sobeloperators wird hierbei die dazu benötigten Ableitung berechnet. Es werden zwei Sobeloperatoren verwendet: zur Berechnung der Ableitung in horizontaler und in vertikaler Richtung. Anhand dieser beiden Ableitungen können der Gradientenbetrag und die Gradientenrichtung wie folgt berechnet werden: Der Gradientenvektor g wird aus den räumlichen Ableitungen in den verschiedenen Koordinatenrichtungen gebildet. Er zeigt in die Richtung des stärksten Anstiegs. Für den zweidimensionalen Fall ergibt sich der folgende Gradientenvektor: g(x, y) = (g x (x, y), g y (x, y)) T (.6) wobei g x (x, y) die Ableitung von g(x, y) in x-richtung und g y (x, y) die Ableitung in y-richtung darstellt. Der Gradientenbetrag ergibt sich durch: g(x, y) = g x (x, y) + g y (x, y) (.7) Die Gradientenrichtung wird wie folgt berechnet: Θ = arctan( g y(x, y) g x (x, y) ) (.8) Berechnung der Orientierungshistogramme Es wird eine Normierung des Gradientenbetrags durchgeführt. Dann wer-

39 . Verwendete Merkmale den für die Teilbilder Orientierungshistogramme berechnet, indem für jeden der m Gradientenwinkelbereiche die zugehörigen Gradientenbeträge aufsummiert werden. Durch diese Vorgehensweise werden Orte mit hohem Gradienten, wie Kanten, stärker berücksichtigt als Orte mit niedrigem Gradienten. Die Orientierungshistogramme aller Teilbilder werden konkateniert und bilden zusammen einen m n -dimensionalen Merkmalsvektor. [KSB + 99] Abbildung.5 zeigt ein Bild und die daraus generierten Orientierungshistogramme. Abbildung.5: Erstellen der Orientierungshistogramme.. Wavelets Im Folgenden wird die Wavelet-Transformation und deren Anwendung bei der Bildverarbeitung kurz dargestellt [BBSS99] [Ber]. Bei der Wavelet-Transformation handelt es sich um eine Signaltransformati- Signaltransformation on ähnlich der Fourier-Transformation. Im Gegensatz zu der Fourier-Transformation, bei der das Signal in Anteile exakter Frequenzen zerlegt wird, zerlegt die Wavelet-Transformation das Signal in Anteile von Frequenzbereichen. Für die Wavelet-Transformation werden kompakte Schwingungen, sogenannte Wavelets, verwendet, um das zu transformierende Signal aus gedehnten, gestauchten und verschobenen Varianten eines sogenannten Mutterwavelets zusammenzusetzen. Die einfachste Wavelet-Funktionsbasis ist die Haar-Basis, wobei man unter Wavelet-Basis einer Basis einen Satz von Funktionen versteht, aus welchen andere Funktionen zusammengesetzt werden können. Die Haar-Funktion f kann durch verkleinerte Kopien ihrer selbst beschrieben werden. Das zugehörige Wavelet g wird aus den selben Basisfunktionen konstruiert. Abbildung.6 stellt diesen Zusammenhang dar. Die 989 von Stéphane Mallat [Mal89b] [Mal89a] und Yves Meyer [Mey9] schnelle entwickelte schnelle Wavelet-Transformation verwendet spezielle, rekursiv aufgebaute Wavelets, sogenannte dyadische Wavelets. Ziel hierbei ist es, ein Signal Transformation Waveletdurch sukzessive Anwendung eines Hoch- und Tiefpaßfilters in unterschiedliche Frequenzanteile zu zerlegen. Dabei werden die Daten nach Größe der vorhandenen Struktur und nach deren Ausrichtung sortiert. Hierbei wird sichergestellt,

40 . Grundlegende Verfahren Abbildung.6: Haar-Funktion f, das zugehörige Wavelet g und deren Zusammensetzung. Die Haar-Funktion läßt sich aus zwei gestauchten Kopien ihrer selbst zusammensetzen. Aus diesen beiden Kopien vonf wird das zugehörige Wavelet konstruiert. Multiskalenanalyse daß keine Information verloren geht und keine redundante Information generiert wird. Dieses Verfahren wird auch Multiskalenanalyse genannt [LMR9]. Es kann auch in der Bildverarbeitung eingesetzt werden. Der Aufwand hierfür ist proportional zur Anzahl der Pixel des zu transformierenden Bildes. Dyadische Wavelets können aus verkleinerten Kopien ihrer selbst konstru- iert werden, wobei in jedem Konstruktionsschritt ein Wavelet entsteht, welches gegenüber vorhergehenden um den Faktor zwei gedehnt ist. Konstruiert man Hoch- und Tiefpaßfilter unter Verwendung von dyadischen Wavelets, erhält man Filteroperationen auf dyadischen Skalen, d.h. jede Skala ist genau doppelt so groß wie die nächst kleinere Skala. Eine Eigenschaft dieser Filter ist daher, daß sie die Datenmenge exakt halbieren. Auf die Bilddaten wird eine Filterung mit einem aus einem Tiefpaßfilter, einem sogenannten Glättungsfilter, und einem Hochpaßfilter, einem sogenannten Differenzenfilter, bestehenden Filterpaares zuerst vertikal, d.h. zeilenweise, dann horizontal, d.h. spaltenweise, angewendet. Dadurch wird das Bild in zwei Frequenzbereiche zerlegt. Die Tiefpaßfilterung bewirkt eine Glättung des Bildes. Die Hochpaßfilterung berechnet verlorengegangene Details. Die Anwendung eines solchen Filterpaares auf ein Signal zerlegt dieses Signal in zwei Signale halber Länge: einen Tiefpaß- und einen Hochpaßanteil. Es entsteht ein geglättetes Signal mit niedrigen Frequenzanteilen und ein komplementäres Signal mit hohen Frequenzanteilen. Es entsteht hierbei also keine Redundanz. Die Zeilentransformation liefert ein horizontal geglättetes und gestauchtes Bild der halben Größe sowie ein Differenzbild, welches ebenfalls nur noch halb so breit ist wie das Ausgangsbild. Die für die Zeilentransformation verwendeten Filter werden nun auf die beiden entstandenen Teilbilder angewendet. Hierdurch werden die beiden Teilbilder nun ihrerseits jeweils in zwei Teilbilder halber Größe zerlegt, so daß insgesamt vier Teilbilder entstehen, welche jeweils unterschiedliche Bildanteile enthalten. Abbildung.7 zeigt diesen Vorgang. Das Teilbild, welches durch zweifache Hochpaßfilterung entstanden ist, ist im wesentlichen eine verkleinerte, geglättete Kopie des Ausgangsbildes. Auf diesem Bild wird die Zerlegung rekursiv fortgeführt. Die anderen Teilbilder enthalten Strukturinformationen unterschiedlicher Richtungen. Sie enthalten jeweils Strukturen horizontaler, vertikaler bzw. diagonaler Ausrichtung. Sie bestehen dyadische Wavelets Filterung mit Filterpaar (Tiefund Hochpaß) Zeilen- und Spaltentransformation

41 . Verwendete Merkmale 5 Abbildung.7: Wavelet-Transformation: Zeilen- und Spaltentransformation. Zunächst wird auf das Originalbild eine horizontale Filterung (Zeilentransformation) angewendet. Dabei entstehen zwei Halbbilder. Auf diese wird dann eine vertikale Filterung (Spaltentransformation) angewendet. Das Ergebnis sind vier Teilbilder, welche jeweils nur ein Viertel der Größe des Originalbildes haben. pixelweise aus Wavelet-Koeffizienten. Abbildung.8 zeigt diese Zerlegung in Teilbilder. Abbildung.8: Wavelet-Transformation: Zerlegung in Teilbilder. Durch die sukzessive Anwendung eines Filterpaares wird das Bild in unterschiedliche Frequenzbereiche zerlegt. Durch den rekursiven Aufbau der dyadischen Wavelets können die Filter- rekursive operationen für die nächst gröbere Skala auf den Ergebnissen der vorangegangenen Tiefpaßfilterung ausgeführt werden. Die Filteroperationen können somit Filteroperatio- Anwendung der rekursiv durchgeführt werden. Die Geschwindigkeit der Filterung wird daher nen mit jedem Schritt verdoppelt. Das Ergebnis der Transformation ist eine Repräsentation, welche nach Auflösung und innerhalb jeder Skala nach Kantenorientierung sortierte Bilder enthält. Ein Vorteil dieses Verfahrens ist, daß verschiedene Auflösungstufen des Originalbildes erzeugt werden. Ein weiterer Vorteil ist, daß eine räumliche Zuordnung der Frequenzbereiche räumliche möglich ist, da einem einzelnen Koeffizienten eine Position im Bild zugeordnet Zuordnung der werden kann. Frequenzbereiche Im Rahmen der vorliegenden Arbeit wurde zur Merkmalsgewinnung eine Verwendung im schnelle Wavelet-Transformation unter Verwendung des Haar-Wavelets auf die verwendeten Bilddaten angewendet. Hierzu wird die Wavelet-Transformation solange durchgeführt bis hin zu Teilbilder der Größe 6 6 Pixel. Nun werden beginnend bei der kleinsten Stufe auf jeder Stufe jeweils die beiden Teilbilder, Rahmen dieser Arbeit

42 6. Grundlegende Verfahren welche die horizontale und vertikale Strukturinformation enthalten, ausgewählt. Diese werden in n n Bereiche unterteilt. In diesen Bereichen wird dann der der Wavelet-Koeffizienten berechnet. Diese e der beiden verwendeten Teilbilder werden dann zu einem n großem Merkmalsvektor kombiniert. Abbildung.9 verdeutlicht dies. Abbildung.9: Extraktion der Merkmale aus den Wavelettransformierten Bildern. Vorverarbeitung der Daten Um bessere Klassifikationsergebnisse zu erzielen, ist eine Vorverarbeitung der Daten, welche dem Neuronalen Netz präsentiert werden, nötig. Reduktion der Eingabedimension.. Merkmalsreduktion Da eine hohe Dimensionalität der Eingabedaten die Komplexität der Neuronalen Netze erhöht und beispielsweise bei RBF-Netzen hierdurch die Klassifikationsleistung gemindert wird, ist es hilfreich, eine Reduktion der Dimensionalität der Eingabedaten vorzunehmen. Neben der in dieser Arbeit verwendeten Hauptachsentransformation gibt es noch weitere lineare und nicht-lineare Verfahren zur Merkmalsreduktion wie beispielsweise die Independent Component Analysis (ICA).... Hauptachsentransformation (HAT) Ziel: Dimensionsreduktion mit möglichst geringem Informationsverlust Berechnung der Transformation mittelwertbereinigte Daten Bei der Hauptachsentransformation handelt es sich um eine lineare Transformation. Ziel der Hauptachsentransformation ist es, eine Transformation der Daten durchzuführen, so daß eine Dimensionsreduktion auf den transformierten Daten zu einem geringeren Informationsverlust führt, als eine Dimensionsreduktion auf den nicht transformierten Daten. Bei der Hauptachsentransformation oder Karhunen-Loeve-Transformation handelt es sich um eine Methode zur Dimensionsreduktion in der explorativen Datenanalyse. Dazu werden die Eigenwerte und Eigenvektoren der Kovarianzmatrix der zu transformierenden Daten berechnet. Die Daten wurden zuvor

43 . Vorverarbeitung der Daten 7 mittelwertbereinigt, d.h. der der Daten wird von allen Daten abgezogen, so daß der nach dieser Operation ist. Die Eigenwerte werden der Größe nach sortiert. Die zugehörigen Eigenwerte werden in die gleiche Reihenfolge gebracht. Der zum größten Eigenwert gehörige Eigenvektor zeigt in Richtung der größten Varianz der Daten. Durch Transformation der Daten mit den sortierten Eigenvektoren erhält man Daten, deren Dimensionen entsprechend der Größe der zugehörigen Varianz sortiert sind. Die Dimensionalität kann nun durch Weglassen der höheren Dimensionen reduziert werden. Da diese die geringste Information beinhalten, entsteht hierdurch nur ein geringer Informationsverlust. Um die Eigenwerte und Eigenvektoren zu erhalten, kann auch eine Sin- Singulärwertzerlegung gulärwertzerlegung (SWZ) durchgeführt werden [PTVF9]. Zwischen der Hauptachsentransformation und der Singulärwertzerlegung besteht folgender Zusammenhang: Für mittelwertbereinigte Daten A berechnet sich die Kovarianzmatrix als Zusammenhang K = A T A, wobei es sich bei A um eine m n Matrix handelt. Das Ergebnis HAT und SWZ der Hauptachsentransformation sind die Eigenvektoren Ṽ und die Eigenwerte S der Kovarianzmatrix K. Die Singulärwertzerlegung der Matrix A liefert die Eigenvektoren U der Matrix AA T, die Singulärwerte S - das sind die Eigenwerte der Matrix A T A - sowie die Eigenvektoren V der Matrix A T A. U ist eine m n Matrix, S eine n n Diagonalmatrix und V eine m n Matrix. Es gilt: A = USV T (.9) A T A = V S T U T USV T (.) A T A = Ṽ AṼ T (.) Somit ist V = Ṽ und ST U T US = S. Die Eigenwerte s i der Kovarianzmatrix erhält man durch Quadrieren der Singulärwerte s i. Da die Singulärwerte stets positiv sind, ist das Quadrieren in diesem Fall eine ordnungserhaltende Relation. Daher ist es nicht nötig die Eigenwerte s i zu berechnen, da diese bei der Hauptachsentransformation lediglich für das Sortieren der Eigenvektoren verwendet werden. s i = s i.. Transformation Da Radiale Basisfunktionen bei großen Eingabewerten Ausgaben nahe bei liefern, was jedoch wie in Abschnitt... bereits erwähnt, nicht erwünscht ist, ist es sinnvoll, die Eingabedaten zu transformieren. Im Rahmen dieser Arbeit wurden die lineare sowie die z-transformation verwendet. Die Transformationen werden für jede Dimension der Daten getrennt durchgeführt.... Lineare Transformation Mit Hilfe der linearen Transformation werden die Daten so skaliert, daß sie im Intervall [, ]

44 8. Grundlegende Verfahren Intervall [, ] liegen. Dies geschieht durch Anwendung der folgenden Transformationsvorschrift: x norm i = x i min i max i min i (.) wobei min i jeweils den kleinsten Wert x i und max i den größten Wert von x i über alle Datenpunkte darstellt.... z-transformation x =, σ = Bei der z-transformation handelt es sich ebenfalls um eine lineare Transformation. Das Ergebnis der z-transformation sind mittelwertbereinigte Daten, d.h. der x über alle Punkte ist, mit Standardabweichung σ [Bis96]. Dies wird dadurch erreicht, daß man von den Daten den abzieht und sie durch die Standardabweichung teilt. x norm i = x i x i σ i (.) wobei x i = M M µ= (xµ i ) den der i-ten Dimension der Daten und σ i die Standardabweichung der i-ten Dimension der Daten darstellen.

45 Teil II Lösungsansatz 9

46

47 Kapitel Hierarchische Objektklassifikation unter Verwendung von Graphenstruktur und Merkmalskombinationen In diesem Kapitel wird der entwickelte Lösungsansatz zur hierarchischen Objektklassifikation dargestellt. Die dem Ansatz zugrundeliegende Idee ist eine verbesserte Klassifikationsleistung bei gleichzeitigem Zeitgewinn zu erzielen, indem das schwierige Multiklassenproblem in mehrere, für die Klassifikatoren leichter zu handhabende Teilprobleme zerlegt wird. Der Gesamtansatz ist dabei in die Phasen Hierarchiebildung, Training und Klassifikation zerlegt worden.. Grundidee Im Rahmen dieser Arbeit wurde ein hierarchischer neuronaler Objektklassifika- hierarchischer tor zur Lösung von l-klassenproblemen entwickelt. Klassifikator Ziel hierbei war es, einen Klassifikator zu entwickeln, welcher durch Hierarchiebildung eine Aufteilung der l Klassen vornimmt, so daß den einzelnen Klassifikatoren innerhalb dieser Hierarchie jeweils nur eine Teilklassifikationaufgabe zufällt. Die Teilklassifikationsaufgaben werden so gewählt, daß sie einfachere Probleme als das Gesamtproblem darstellen. Dies wird dadurch erreicht, daß die einzelnen Klassen zu Klassengruppen zusammengefaßt werden. Die Klassifikatoren unterscheiden nur zwischen diesen Gruppen. Dadurch wird die Anzahl der zu differenzierenden Klassen für die einzelnen Klassifikatoren drastisch reduziert. Der Klassifikator besteht aus einer Menge von einzelnen Klassifikatoren, die zusammen- in einer Graphenstruktur angeordnet sind. Im allgemeinsten Fall handelt es sich hierbei um einen zusammenhängenden, gerichteten, azyklischen Graphen mit einer Wurzel. Abbildung. zeigt einen solchen Graphen. hängender, gerichteter, azyklischer Graph mit Wurzel

48 . Hierarchische Objektklassifikation Abbildung.: Zusammenhängender gerichteter azyklischer Graph mit Wurzelknoten: Ein Knoten kann mehr als eine Vorgängerknoten besitzen. Im Rahmen dieser Arbeit wurde die Konstruktion der Hierarchie jedoch auf Bäume beschränkt, d.h. jeder Knoten hat höchstens einen Vorgängerknoten. In Abbildung. wird eine spezielle Variante eines Baumes, ein sogenannter Binärbaum dargestellt. Abbildung.: Binärbaum: Jeder Knoten besitzt höchstens einen Vorgängerknoten und höchstens zwei Nachfolgerknoten. Phasen des Hierarchischen Klassifikators Es ist jedoch möglich, allgemeinere Hierarchien vorzugeben, die beispielsweise Knoten mit mehr als einem Vorgängerknoten erlauben. Bei den Knoten handelt es sich um neuronale Klassifikatoren, die auf einer Teilmenge der gesamten Klassenmenge arbeiten. Die Endknoten sind keine Klassifikatoren mehr, sondern repräsentieren einzelne Klassen und stellen somit die Ausgabe des hierarchischen Klassifikators dar. Der im Rahmen dieser Arbeit entwickelte Lösungungsansatz umfaßt mehrere Phasen:. Trainingsphase: In der Trainingsphase wird die neuronale Architektur mit Hilfe einer Trainingsdatenmenge trainiert, um so an die gegebene Aufgabenstellung angepaßt zu werden. Bei einem hierarchischen Klassifikator umfaßt die Trainingsphase zwei Schritte: (a) Konstruktion der Hierarchie: Anhand der Trainingsdaten werden in dieser Phase sukzessive die einzelnen Knoten innerhalb der Hierarchie und deren Anordnung innerhalb einer Graphenstruktur konstruiert (siehe Abschnitt.). (b) Klassifikatortraining: In dieser Phase werden die einzelnen neuronalen Netze innerhalb der Hierarchie trainiert. Den einzelnen Knoten werden hierbei neuronale

49 . Generierung der Hierarchie Netze zugeordnet, welche unabhängig voneinander mit den in der Konstruktionsphase bestimmten Teilmengen der Gesamtdatenmenge trainiert werden (siehe Abschnitt... Klassifikationsphase: Die Klassifikationsphase ist die eigentliche Arbeitsphase des Klassifikators. In dieser Phase werden dem Klassifikator Testdaten präsentiert, welche er anhand der in der Trainingsphase gelernten Hierarchie und Entscheidungsfunktionen klassifizieren soll (siehe Abschnitt.). Abbildung. zeigt diese Zusammenhänge. Abbildung.: Ablauf Im Folgenden werden diese Phasen und deren Realisierung näher erläutert.. Generierung der Hierarchie Die Generierungsphase umfaßt die Konstruktion der Knoten der Hierarchie und deren Beziehungen zueinander. Dabei wird festgelegt, welche Klassen in den einzelnen Knoten verarbeitet werden sollen, und welche Merkmale verwendet werden sollen. Dadurch wird die Datenmenge, die in dem jeweiligen Knoten verarbeitet werden soll, spezifiziert. Der Wurzelknoten verarbeitet hierbei alle Klassen und somit auch alle Datenpunkte, jedoch nicht zwangsläufig auch alle Merkmale. Um die Hierarchie aufzubauen, wird beginnend bei dem Wurzelknoten eine Aufspaltung der einzelnen Knoten in ihre Nachfolgerknoten vorgenommen. Zur Berechnung der Nachfolger wurde ein Clusterungsansatz gewählt. Die- Clusterung ser wird im folgenden Abschnitt erläutert. Weiterhin wird eine Funktion zur

50 . Hierarchische Objektklassifikation Bewertung dieser Clusterung dargestellt, und es wird geschildert, wie die Verwendung unterschiedlicher Merkmale realisiert wurde. Für die Clusterung wird ein unüberwachtes neuronales Lernverfahren verwendet, welches anhand der Trainingsdaten eine Hierarchie generiert. Es wäre auch möglich, hierfür ein überwachtes Lernverfahren zu verwenden. Der folgende Algorithmus soll das Verfahren zur Konstruktion der Hierarchie kurz erläutern. Algorithmus Generierung der Hierarchie generiereknoten(k,m) P M = generieremerkmalskombinationen(m); for i = to P M do for j = to AnzahlKMeansLäufe do trainierekmeans(p M i,k) = C i,j = bewertecluster(); end for end for C,P M = bestimmebestescluster(c); setzemerkmalskombination(p M ); AK = bestimmeklassenaufteilung(c ); generierenachfolgerknoten() for i = to AK do if ( AK i > ) AND ( AK i < K ) then generiereknoten(ak i,m); end if end for.. Clusterung Um die Hierarchie zu generieren, werden sukzessive Clusterungen mit Hilfe eines neuronalen Netzes durchgeführt. Hierzu wurde das k-means Clusterver- fahren verwendet. Es können jedoch auch andere Verfahren zur Clusterung wie LVQ-Netze verwendet werden. Mit Hilfe der Clusterung wird die Menge der verwendeten Klassen sukzessive in immer kleiner werdende Teilmengen aufgeteilt. Die Generierung der Hierarchie beginnt bei dem Wurzelknoten. Zunächst wird eine Clusterung unter Verwendung aller Datenpunkte der l Klassen durchgeführt. Das Ergebnis dieser Clusterung ist die Zuordnung der Datenpunkte zu den Clusterzentren. Die Anzahl der Clusterzentren ist dabei deutlich geringer als die Anzahl der zu klassifizierenden Klassen. Anhand des Clusterungsergebnisses soll eine Aufteilung der gerade präsentierten Klassen stattfinden. Dazu wird ausgewertet, wieviele Datenpunkte von welcher Klasse welchem Zentrum zugeordnet wurden. Jedes der Clusterzentren repräsentiert einen neuen Knoten der Hierarchie, der nun ebenfalls eine Clusterung durchführt, jedoch nicht mit allen l Klassen, sondern nur mit einer Teilmenge der Klassenmenge. Für jede Klasse wird das Cluster bestimmt, dem die Mehrheit, der zu dieser Klasse gehörenden Datenpunkte, zugeordnet wur- k-means Clusterung

51 . Generierung der Hierarchie 5 de. Dadurch ergeben sich für jedes Cluster eine Menge von Klassen, welche eine Teilmenge der Gesamtklassenmenge darstellt. Dazu wird nun für jedes Cluster eine Verteilung über die Klassen ermittelt. Die Menge der Datenpunkte, die einem Cluster zugeordnet wurden, ist wie folgt definiert: C j = R j {x µ : µ =,..., M} (.) wobei R j = {x IR n : j = arg min i x c i } die zum Cluster j gehörige Voronoi-Zelle darstellt. c i ist das zugehörige Clusterzentrum. Der relative Anteil der Klasse i in Cluster j ergibt sich als p i,j = X i C j C j (.) wobei X i = {x µ : µ =,..., M; t µ = i} X die Menge der Daten dargestellt, die zur Klasse i gehören. X IR n ist hierbei die Gesamtmenge der Daten und t µ ist das zu dem Eingabevektor x µ gehörige Lehrersignal. Die Aufteilung der Aufteilung der Klassen in Teilmengen K j erfolgt nun durch eine imumsdetektion. Klassenmenge in Untermengen K j = {i K : j = arg max{p i,, p i,,..., p i,k }} (.) wobei k die Anzahl der verwendeten Prototypen ist und K =,,..., l die Menge aller Klassen. D.h. eine Klasse i wird der Klassenmenge K j zugewiesen, falls dem zugehörigen Cluster j im Verlauf des Lernverfahrens die Mehrheit der Datenpunkte der Klasse i zugeordnet wurden. Es wird nun sukzessive für jeden Knoten durch Clusterung die Aufteilung der Klassen auf seine Nachfolgerknoten bestimmt. So wird die Menge der pro Terminationskriterien Knoten betrachteten Klassen mit zunehmender Tiefe der Hierarchie immer weiter reduziert, bis im Idealfall nur noch eine Klassifikation zwischen jeweils zwei Klassen durchgeführt wird bzw. bei einer ungünstigen Lage der Datenpunkte im Eingaberaum keine weitere Reduktion der Klassen mehr vorgenommen werden kann. Die zugehörigen neuronalen Netze werden aufgrund der sukzessiven Reduktion der Klassenmengen mit immer weniger Datenpunkten trainiert, da für das Training nur die Datenpunkte der durch den Vorgängerknoten bestimmten Teilklassenmenge verwendet werden. Abbildung. zeigt eine mögliche Hierarchie, die sich bei einem 8-Klassen- Beispielhierarchie problem ergeben kann. Die Klassenmengen neben den einzelnen Knoten definieren die Klassifikationsaufgabe, die in dem jeweiligen Knoten durchgeführt werden soll. Dem Wurzelknoten ist die Menge {,,,,, 5, 6, 7} zugeordnet. Er führt daher eine Klassifikation über alle acht Klassen durch und somit über alle Datenpunkte. Für die Klassifikation werden jedoch nicht die tatsächlichen Klassenzugehörigkeiten verwendet, sondern entsprechend der Verteilung der Klassen auf die Nachfolgerknoten werden die Klassen in s Gruppen geteilt, wobei s für die Anzahl der Nachfolgerknoten steht. Die Klassifikation erfolgt also lediglich über s Klassen. Die dem Wurzelknoten zugeordnete Datenmenge wird bei einem binären Graphen (s = ) in zwei disjunkte Untermengen unterteilt. Diese Untermengen, in diesem Fall die Mengen {,,, } und {, 5, 6, 7}, werden dann den beiden Nachfolgerknoten des Wurzelknotens zugeordnet. Diese klassifizieren dann nur über die Datenpunkte der ihnen zugeordneten Klassen. Für

52 6. Hierarchische Objektklassifikation Abbildung.: Binärer hierarchischer Klassifikator. Die Mengen neben den Knoten stellen hierbei die in dem jeweiligen Knoten betrachteten Klassenmengen dar. Die den Endknoten zugeordneten M einelementigen Mengen repräsentieren das Klassifikationsergebnis. diese beiden Knoten wird dann jeweils wieder eine Teilung der Klassenmenge vorgenommen. Entstehen hierbei einelementige Unterklassen, werden diese Unterklassen zu Blattknoten der Hierarchie. Bei dem betrachteten Beispiel erhält mal die Mengen {}, {}, }, {}, {}, {5}, 6} und {7}. Ihnen wird jedoch kein Klassifikator zugeordnet. Diese einelementigen Unterklassen repräsentieren das Endergebnis der Gesamtklassifikation. Eine allgemeinere Hierarchie zeigt Abbildung.5. Abbildung.5: Klassifikator mit einer allgemeineren Hierarchie zusätzliche Maßnahmen bei der Hierarchiebildung Bei dieser Hierarchie gibt es Knoten mit mehr als einem Vorgängerknoten. Die Aufteilung der Klassen erfolgt nicht notwendigerweise in disjunkte Unterklassen. Bei der Hierarchiebildung werden mehrere Clusterungsdurchläufe mit un- terschiedlichen Initialisierungen der neuronalen Netze gemacht. Ebenso wird eine Clusterung mit mehr Prototypen als Nachfolgerknoten durchgeführt und anschließend die günstigste Verteilung der Cluster auf die Nachfolgerknoten bestimmt (siehe Abschnitt...). Weiterhin wird nicht nur ein einziges Merkmal verwendet, sondern es werden verschiedene Merkmale und alle möglichen Kom-

53 . Generierung der Hierarchie 7 binationen dieser Merkmale verwendet (siehe Abschnitt...). Hierbei soll die Tatsache, daß Daten von bestimmten Klassen unter Umständen in einem anderen Merkmalsraum leichter zu klassifizieren sind, ausgenutzt werden. Dabei wird für jeden Knoten versucht, die Kombination von Merkmalen zu finden, welche die günstigste Hierarchiebildung liefert. Da für neuronale Netze hohe Eingabedimensionen oft ein Problem darstellen, wird vor jeder Clusterung eine Dimensionsreduktion mit Hilfe der Hauptachsentransformation durchgeführt. Ebenfalls wird eine lineare Transformation durchgeführt, um die Daten in ein für die verwendeten neuronalen Netze geeignetes Intervall zu transformieren.... Bewertung der Clusterung Zur Bewertung der verschiedenen Clusterungen, die sich aus der Verwendung unterschiedlicher Merkmalsvektoren bzw. unterschiedlicher Initialisierungen der k-means Netze ergeben, wurde eine Funktion verwendet, die günstige Hierarchien und Eindeutigkeit bei der Klassenzuordnung bevorzugt. Als eine günstige Hierarchie wird eine Hierarchie angesehen, die einen möglichst balancierten Graphen liefert, d.h. an einem Knoten sollen die Klassen möglichst gleichmäßig auf seine Nachfolgerknoten verteilt werden. Eine Klassenaufteilung ist eindeutig, wenn eine signifikante Mehrheit der Daten einer Klasse im Verlauf der Clusterung einem Clusterzentrum zugeordnet wurde. Im Idealfall werden alle Datenpunkte einer Klasse einem einzigen Clusterzentrum zugeordnet. Die Bewertungsfunktion bevorzugt daher Aufteilungen, bei denen die Verteilung der Datenpunkte pro Cluster möglichst eindeutig ist, d.h. eine signifikante Mehrheit bzw. am besten die gesamte Menge der zu einer Klasse gehörenden Datenpunkte einem Cluster zugeordnet werden. Gleichzeitig sollen die Datenpunkte möglichst gleichmäßig auf die Cluster verteilt sein, so daß den Clustern ungefähr die gleiche Anzahl an Klassen zugeordnet wird. Im Rahmen dieser Arbeit wurde eine Funktion zur Bewertung der Clusterung entwickelt, welche den Entropie- bzw. den Giniindex verwendet. Bei der Hierarchiebildung wird diejenige Clusterung ausgewählt, die den Funktionswert optimiert. Im Folgenden werden diese Funktion und ihre Bestandteile näher erklärt. Um den beiden obengenannten unterschiedlichen Anforderungen gerecht zu Bewertungs- werden, wurde die Funktion aus zwei verschiedenen Termen zusammengesetzt. Der Einfluß der beiden Terme kann durch einen Skalierungsparameter λ reguliert werden. B(p) = B (p) + λb (p) min (.) funktion B Der Parameter p repräsentiert hierbei die Verteilung der einzelnen Datenpunkte pro Klasse auf die Cluster. Es wird dann diejenige Verteilung p gewählt, welche den geringsten Wert von B liefert. Um die Eindeutigkeit bei der Klasseneinteilung zu bewerten, wurde eine Funktion gesucht, die Gleichverteilungen bestraft und eine Verteilung bevorzugt, bei der es eine eindeutige Mehrheit gibt. Homogenitätsmaße sind geeignet, Homogenitätsmaße um diese Eigenschaften von Verteilungen zu messen. Ein mögliches Homogenitätsmaß ist der Entropieindex. Mit Hilfe der Entro- Entropieindex

54 8. Hierarchische Objektklassifikation pie I wird der Informationsgehalt eines Wahrscheinlichkeitsvektors p bestimmt. Sie wird mit Hilfe der folgenden Formel berechnet [Rip96]. I(p) = n p i log (p i ) (.5) i= Giniindex mit log () = und p = (p, p,..., p i,..., p n ), wobei n i= p i = und p i [, ]. Falls der n-dimensionale Wahrscheinlichkeitsvektor p ein Einheitsvektor ist, d.h. p j = und p i =, i =,..., n für alle i j, nimmt die Entropie von p den minimalen Wert an. Haben alle Komponenten von p den Wert n wird die Entropie maximal. Sie nimmt dann den Wert log n an. Auch der Giniindex kann zur Berechnung der Homogenität verwendet werden. Der Giniindex wird wie folgt berechnet [Rip96]. n G(p) = p i = i= n n p i p j (.6) i= j=;i j Bewertung der Verteilung der Datenpunkte auf die Cluster Der Giniindex wird ebenfalls maximal, falls alle Komponenten von p den selben Wert haben, nämlich n. Er hat dann den Wert n. Den minimalen Wert nimmt auch er an, wenn nur eine Komponente des Wahrscheinlichkeitsvektors p den Wert hat und alle anderen Komponenten den Wert haben. Um die Verteilung der Datenpunkte auf die einzelnen Cluster zu bewerten, werden für jedes Cluster die Anteile der Datenpunkte, die zu einer Klasse gehören aufsummiert und die Differenz zu dem Wert gebildet, der sich bei einer Gleichverteilung ergeben würde. Für eine optimale Verteilung, also eine Gleichverteilung, ergibt sich hierbei der Wert. Es wurden zwei unterschiedliche Versionen der Funktion. betrachtet, welche sich durch Verwendung des Entropie- bzw. Giniindex für den Term B unterscheiden. Um diese Funktion anwenden zu können, wird zunächst die Verteilung der Datenpunkte pro Cluster und Klasse bestimmt, d.h. für jede Klasse i =,..., n wird bestimmt, welche Anteile p l i dieser Klasse den einzelnen Clustern l =,..., s im Laufe der Clusterung zugeordnet wurden. Auf diese Verteilungen wird nun die entwickelte Funktion. angewendet. Dabei wird B = k log (s) k I(p i, p i,..., p s i ) (.7) i= bzw. und gewählt. B = B = k log (s) k (s ) k G(p i, p i,..., p s i ) (.8) i= s l= k p l i k s (.9) i=

55 . Generierung der Hierarchie 9 Bei Verwendung des Entropieindex ergibt sich also folgende Formel: B I (p, p,..., p s ) = k log (s) k I(p i, p i,..., p s i ) + λ k (s ) i= s Wird der Giniindex verwendet, erhält man die nachstehende Formel: l= k p l i k s i= (.) B G (p, p,..., p s ) = mit k log (s) k G(p i, p i,..., p s i ) + λ k (s ) i= s l= k p l i k s i= (.) λ > s Anzahl der Unterklassen (Anzahl der Kinder) / Cluster k Anzahl der Klassen p l i = hl i K i [, ] Anteil der Datenpunkte der Klasse i, welche dem Cluster l zugeordnet wurden, wobei s l= pl i = K i Mächtigkeit der Klasse i h l i Anzahl der Datenpunkte der Klasse i, welche dem Prototypen l zugeordnet wurden B [, λ + ] B [, ], B [, ] Der erste, durch die Entropie bzw. den Giniindex bestimmte Term B von B wird minimal, falls für alle Klassen alle Datenpunkte einer Klassen jeweils nur einem Prototypen zugeordnet werden. Er wird maximal, falls die Datenpunkte einer Klasse gleichmäßig auf alle Prototypen verteilt sind. Der zweite Term B, wird minimal, falls jeder Unterklasse die gleiche Anzahl an Datenpunkten zugeordnet wird. Mit Hilfe des Parameters λ kann der Einfluß des zweiten Terms reguliert werden. Die beiden Terme B und B wurden normiert, so daß sie nur Werte im Bereich [, ] liefern. Der Wertebereich der Gesamtfunktion liegt hiermit im Intervall [, λ + ]. Um eine bessere Balanciertheit der zu generierenden Hierarchie zu erreichen, Partitionierung wird die k-means Clusterung mit mehr Prototypen durchgeführt, als Unterklassen (Nachfolgerknoten) erzeugt werden sollen. Dann werden alle möglichen Verteilungen der n Prototypen auf die k Unterklassen betrachtet und mit der oben stehenden Formel. bzw.. bewertet. Es wird die Verteilung gewählt, welche hierbei den kleinsten Wert liefert. Hierzu werden aus der n-elementigen Menge M aller Prototypen alle k- Partitionen berechnet, wobei eine Partition P = {A,..., A k } eine k-partition der Menge M ist, genau dann wenn P = k und alle A i und M = k A i. i=

56 . Hierarchische Objektklassifikation Algorithmus Rekursiver Algorithmus zur Berechnung aller k-partitionen einer n-elementigen Menge Menge von Partitionen generatepartition(menge M, int k) int n:= M ; if k = return {{M}}; if k = n {{Mengen der Elemente von M}}; Element l = letztes Element von M; Menge von Partitionen P := generatepartition(m l, k ); füge das letzte Element als k-te Partition zu P hinzu; Menge von Partitionen P := generatepartition(m l, k); füge in allen Partitionen von P l zu jeder Teilmenge hinzu; return P P ; Anzahl der möglichen k-partitionen Die Partitionen werden mit Hilfe des folgenden rekursiven Algorithmus berechnet [And89]. Die Anzahl der möglichen k-partitionen einer n-elementigen Menge berechnet sich mit Hilfe der Stirlingzahlen zweiter Art wie folgt: S n,k = k! k ( ) k ( ) j (k j) n (.) j j= alternative Verfahren für große Werte von k und n mit k n (vgl. [Jac8]). Da für große Werte von k bzw. n die Anzahl der Partitionen sehr stark wächst, ist der oben aufgeführte Algorithmus in diesem Fall nicht geeignet, da die Berechnung sämtlicher Partitionen zu viel Zeit in Anspruch nehmen würde. Im Rahmen dieser Arbeit wurde daher mit kleinen Werten für k und n gearbeitet. Die für n gewählten Werte liegen im Bereich...5. Für k wurden Werte im Bereich... gewählt. Will man jedoch mit größeren Werten arbeiten, sollte man die Verwendung von Verfahren, welche nicht sämtliche Partitionen berechnen, sondern eine Optimierung durchführen wie z.b. genetische Algorithmen oder dynamische Programmierung, in Erwägung ziehen. Die Vorteile sind hierbei, daß nicht alle Partitionen betrachtet werden müssen. Ein Nachteil ist jedoch, daß eventuell nicht das globale Optimum gefunden wird, sondern lediglich ein lokales Optimum.... Auswahl der Merkmale Werden zur Generierung mehrere Merkmale verwendet, besteht die Trainingsmenge aus k > M-elementigen Mengen X m = {x µ m X m µ =,,..., M}, mit m =,..., k von n m -dimensionalen Merkmalsvektoren und M zugehörigen Lehrersignalen T = {t µ K µ =,,..., M}. X m stellen hierbei k unterschiedliche Merkmalsräume dar. In diesem Fall werden in jedem Knoten bei der Berechnung der Hierarchie zunächst sämtliche Kombinationen, d.h. die Potenzmenge (jedoch ohne die leere

57 . Trainieren der Hierarchie Menge), der eingelesenen Merkmalsvektoren gebildet, um herauszufinden, welches Merkmal oder welche Merkmalskombination am günstigsten ist. Für jede dieser Kombinationen werden die beteiligten Merkmalsvektoren konkateniert. Für jede Merkmalskombination wird so ein Merkmalsvektor konstruiert. Mit diesen konkatenierten Merkmalsvektoren wird eine Clusterung durchgeführt. Die Clusterungen werden mit der oben aufgeführten Formel. bzw.. bewertet. Anschließend wird diejenige bei der Clusterung verwendet Kombination gewählt, welche die Bewertungsfunktion minimiert. Es ist auch möglich nur eine spezielle Teilmenge der Merkmalskombinationen zu verwenden. Man kann die Merkmale unkombiniert verwenden oder die Kombination bestehend aus allen Merkmalsvektoren. Am Ende der Generierungsphase wird der entstandene Graph gespeichert. Speicherung der Für jeden Knoten werden die verwendeten Merkmale und die zugeordneten Ergebnisse Klassen, zwischen denen das zugehörige neuronale Netz klassifizieren soll, abgespeichert. Ebenso werden die Arbeitswerte, der für die Vorverarbeitung verwendeten Transformationen, gespeichert. So werden beispielsweise die zuvor berechneten Eigenvektoren der Hauptachsentransformation oder die imalund imalwerte für die lineare Transformation der Eingabedaten gespeichert.. Trainieren der Hierarchie Den einzelnen Knoten der generierten Hierarchie werden nun neuronale Klassifikatoren zu gewiesen. Im Rahmen dieser Arbeit wurden RBF-Netze, LVQ-Netze und Nächste-Nachbar-Klassifikatoren verwendet. Für die RBF-Netze kann zwischen zwei Lernverfahren gewählt werden: dem -Phasen-Lernen und dem - Phasen-Lernen. Der hierarchische Klassifikator wird trainiert, indem sämtliche Teilklassifikatoren nacheinander trainiert werden. Die Reihenfolge ist hierbei egal, insbesondere wäre es auch möglich, die einzelnen Netze parallel zu trainieren. Für das Training werden dieselben Daten verwendet wie zur Generierung der Hierarchie. Hierzu werden den einzelnen Klassifikatoren nur die Datenpunkte der ihnen zugeordneten Klassen präsentiert. Entsprechend der bei der Generierung der Hierarchie bestimmten Merkmalskombinationen werden aus den einzelnen Merkmalsvektoren die Eingabevektoren für die neuronalen Netze analog zu der Konkatenierung bei der Hierarchiegenerierung zusammengesetzt. Ebenfalls wird die bei der Konstruktion der Hierarchie verwendete Transformation und Dimensionsreduktion angewandt. Dies geschieht in jedem Knoten. Die einzelnen Klassifikatoren werden nur mit den Daten trainiert, die zu den diesem Knoten zugeordneten Klassen gehören. Da die einzelnen Klassifikatoren nur zwischen s Klassen, die eine Klassenmenge darstellen, klassifizieren, erhalten die Daten neue Klassenlabels,,..., s, welche sie den s Klassenmengen zuordnen. Es besteht die Möglichkeit, bei Bedarf einzelne Knoten innerhalb der Hierarchie unabhängig von den anderen Knoten nachzutrainieren. Dies sollte beispielsweise dann geschehen, wenn die Klassifikationsleistung eines Knotens noch ungenügend ist. Die sich durch das Training ergebenden Gewichte werden ebenso wie die

58 . Hierarchische Objektklassifikation Netzwerkparameter gespeichert.. Klassifikation In der eigentlichen Arbeitsphase werden dem Klassifikator Daten präsentiert, die im Normalfall nicht mit den Trainingsdaten übereinstimmen bzw. sogar zu diesen disjunkt sind. Dazu werden zunächst die gespeicherte Graphenstruktur und die gespeicherten Gewichte, der innerhalb der Hierarchie verwendeten neuronalen Netze, geladen und daraus ein Klassifikator konstruiert. Die Eingabevektoren werden wieder wie bereits in den vorigen Phasen aus den entsprechenden einzelnen Merkmalsvektoren zusammengesetzt. Die Daten werden analog zur Trainingsphase transformiert, d.h. es werden die Transformationen verwendet, die für die Trainingsdaten errechnet wurden. Da unter Umständen für jeden Knoten eine andere Merkmalskombination verwendet wurde, wird für jeden Knoten der Hierarchie, welcher den Eingabevektor präsentiert bekommt, dieser Eingabevektor erneut zusammen gesetzt. Ebenso werden für jeden Knoten die Transformationen erneut durchgeführt. Beginnend mit dem Wurzelknoten wird der zu klassifizierende Merkmalsvektor den einzelnen Netzen der Hierarchie präsentiert. Diese führen jeweils eine Klassifikation durch. Anhand dieses Klassifikationsergebnisses wird entschieden, welches der nächste Knoten ist, der den Merkmalsvektor klassifiziert. Dies wird solange fortgesetzt, bis ein Blattknoten erreicht, d.h. eine Klasse identifiziert wird.

59 Kapitel 5 Ergebnisse Dieses Kapitel stellt die mit dem vorgestellten hierarchischen Klassifikator erzielten Ergebnisse und die dazu verwendeten Daten und durchgeführten Experimente vor. Es wurden hauptsächlich Versuche durchgeführt, um die Qualität der Hierarchiebildung und die Klassifikationsleistung zu beurteilen. Hierfür wurden Kreuzvalidierungsexperimente eingesetzt. Da die Ergebnisse der Versuchsreihen von den verwendeten Daten abhängen, werden diese kurz vorgestellt. 5. Verwendete Daten Im Rahmen dieser Arbeit wurden keine künstlich generierten Daten verwen- Bilder von D-Objekten det, sondern Bilder von realen dreidimensionalen Objekten. Die Lokalisation der Objekte in den Bildern war nicht Teil dieser Arbeit. Bei den verwendeten Bildern ist das Objekt bereits hinreichend genau ausgeschnitten. Es wurden drei unterschiedliche Datensätze verwendet. Die zwei Datensätze der Columbia Object Image Library (COIL- und COIL-) wurden an der Columbia University aufgenommen. Der dritte Datensatz (ORL-Faces) wurde in den AT&T Laboratories Cambridge erstellt. 5.. Columbia Object Image Library (COIL) Bei der Columbia Object Image Library handelt es sich um eine Datenbank bestehend aus Bildern von verschiedenartigen Objekten, welche sich in Aussehen, Form und Reflexionseigenschaften stark unterscheiden. [NNM96b] [NNM96a] Die Objekte wurden vor einem schwarzen Hintergrund aus unterschiedlichen Aufnahmebedingungen Orientierungen aufgenommen. Hierzu wurden die Objekte auf einen Drehteller platziert und von einer fest installierten Kamera in Intervallen von jeweils fünf Grad aufgenommen. Dies führt zu 7 Orientierungen pro Bild. Für die Aufnahme der Bilder wurde lediglich fluoreszierende Raumbeleuchtung verwendet, um starken Schattenwurf zu vermeiden. Die Bilder der Größe 6 8 Pixel, welche sowohl den Hintergrund als Skalierung der auch die Objekte enthielten, wurden auf die Größe 8 8 Pixel normalisiert. Dies geschah indem die Objekte mittels eines quadratischen Fensters, Bilder welches gerade noch das Objekt enthält, ausgeschnitten wurden und anschlie-

60 5. Ergebnisse Abbildung 5.: Bilder der Objekte der COIL- Abbildung 5.: Bilder der Objekte der COIL- Datenbank ßend auf diese Größe gebracht wurden. Um Aliasing zu vermeiden, wurden hierzu Interpolations-Decimation Filter verwendet. Abbildung 5. zeigt einige Beispielbilder, die dies verdeutlichen. Weiterhin wurde zur Kontrastverbesserung auf die Bilder eine Histogrammstreckung angewandt. Dazu wurde der Intensität des hellsten Pixels der Wert 55 bei Grauwertbildern sowie 6555 bei Farbbildern zugewiesen. Die Intensitäten der übrigen Pixel wurden entsprechend skaliert. Es gibt zwei unterschiedliche Datensätze: COIL- und COIL-. COIL- enthält Grauwertbilder von Objekten. Abbildung 5. zeigt Bilder dieser Objekte. Die Bilder wurden dem Datensatz entnommen. COIL- enthält 7 Farbbilder von Objekten. In Abbildung 5. sind die verwendeten Objekte zu sehen. Nachbearbeitung 5.. ORL Faces Aufnahmebedingungen Diese Datenbank enthält je Bilder von Gesichtern von insgesamt Personen, welche im Zeitraum von zwei Jahren aufgenommen wurden. Die Bilder sind 9x Pixel groß und haben 56 Graustufen pro Pixel. Die Bilder wurden vor einem homogenen schwarzen Hintergrund aufgenommen, wobei die Personen sich in aufrechter, frontaler Position befanden, jedoch

61 5. Experimente 5 Abbildung 5.: Bilder der ORL Faces Datenbank die Möglichkeit zu Seitwärtsbewegungen hatten. Sie wurden zu unterschiedlichen Zeiten, bei unterschiedlichen Lichtverhältnissen, mit unterschiedlichen Gesichtsausdrücken (Augen offen bzw. geschlossen, lachend bzw. nicht lachend, etc.) sowie mit und ohne Brille aufgenommen. 5. Experimente Der im Rahmen dieser Arbeit entwickelte hierarchische Klassifikator wurde so entwickelt, daß möglichst viele Parameter einstellbar sind. Der Einfluß dieser Parameter auf die Hierarchiebildung und die Klassifikationsleistung wurde untersucht. Bei der Bewertungsfunktion (vgl. Abschnitt...) kann entweder der Entro-

Thema 3: Radiale Basisfunktionen und RBF- Netze

Thema 3: Radiale Basisfunktionen und RBF- Netze Proseminar: Machine Learning 10 Juli 2006 Thema 3: Radiale Basisfunktionen und RBF- Netze Barbara Rakitsch Zusammenfassung: Aufgabe dieses Vortrags war es, die Grundlagen der RBF-Netze darzustellen 1 Einführung

Mehr

Hannah Wester Juan Jose Gonzalez

Hannah Wester Juan Jose Gonzalez Neuronale Netze Supervised Learning Proseminar Kognitive Robotik (SS12) Hannah Wester Juan Jose Gonzalez Kurze Einführung Warum braucht man Neuronale Netze und insbesondere Supervised Learning? Das Perzeptron

Mehr

Künstliche neuronale Netze

Künstliche neuronale Netze Künstliche neuronale Netze Eigenschaften neuronaler Netze: hohe Arbeitsgeschwindigkeit durch Parallelität, Funktionsfähigkeit auch nach Ausfall von Teilen des Netzes, Lernfähigkeit, Möglichkeit zur Generalisierung

Mehr

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

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

Mehr

5. Lernregeln für neuronale Netze

5. Lernregeln für neuronale Netze 5. Lernregeln für neuronale Netze 1. Allgemeine Lokale Lernregeln 2. Lernregeln aus Zielfunktionen: Optimierung durch Gradientenverfahren 3. Beispiel: Überwachtes Lernen im Einschicht-Netz Schwenker NI1

Mehr

Neuronale Netze mit mehreren Schichten

Neuronale Netze mit mehreren Schichten Neuronale Netze mit mehreren Schichten Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Neuronale Netze mit mehreren

Mehr

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

Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 2016 Fakultät für Informatik Übung zu Kognitive Systeme Sommersemester 1 M. Sperber (matthias.sperber@kit.edu) S. Nguyen (thai.nguyen@kit.edu) Übungsblatt 3 Maschinelles Lernen und Klassifikation Abgabe online

Mehr

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

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20 Gliederung / Künstliche Neuronale Netze Perzeptron Einschränkungen Netze von Perzeptonen Perzeptron-Lernen Perzeptron Künstliche Neuronale Netze Perzeptron 3 / Der Psychologe und Informatiker Frank Rosenblatt

Mehr

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

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform. kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation Aufgaben der letzten Stunde Übersicht Neuronale Netze Motivation Perzeptron Multilayer

Mehr

Principal Component Analysis (PCA)

Principal Component Analysis (PCA) Principal Component Analysis (PCA) Motivation: Klassifikation mit der PCA Berechnung der Hauptkomponenten Theoretische Hintergründe Anwendungsbeispiel: Klassifikation von Gesichtern Weiterführende Bemerkungen

Mehr

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

weitere Modelle und Methoden

weitere Modelle und Methoden weitere Modelle und Methoden LVQ-Netze, competetive learning, counterpropagation, motorische karten, adaptive resonance theory LVQ Struktur Lernende Vektor-Quantisierung Input-Raum mit Distanz-Funktion

Mehr

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse Vorbemerkungen. 5. Clusteranalyse. Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Vorbemerkungen 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer

Mehr

Neuronale Netze. Anna Wallner. 15. Mai 2007

Neuronale Netze. Anna Wallner. 15. Mai 2007 5. Mai 2007 Inhalt : Motivation Grundlagen Beispiel: XOR Netze mit einer verdeckten Schicht Anpassung des Netzes mit Backpropagation Probleme Beispiel: Klassifikation handgeschriebener Ziffern Rekurrente

Mehr

Praktische Optimierung

Praktische Optimierung Wintersemester 27/8 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Metamodellierung Inhalt Multilayer-Perceptron (MLP) Radiale Basisfunktionsnetze

Mehr

Methoden zur Cluster - Analyse

Methoden zur Cluster - Analyse Kapitel 4 Spezialvorlesung Modul 10-202-2206 (Fortgeschrittene Methoden in der Bioinformatik) Jana Hertel Professur für Bioinformatik Institut für Informatik Universität Leipzig Machine learning in bioinformatics

Mehr

Klassifikation von Daten Einleitung

Klassifikation von Daten Einleitung Klassifikation von Daten Einleitung Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Klassifikation von Daten Einleitung

Mehr

Kohonennetze Selbstorganisierende Karten

Kohonennetze Selbstorganisierende Karten Kohonennetze Selbstorganisierende Karten Julian Rith, Simon Regnet, Falk Kniffka Seminar: Umgebungsexploration und Wegeplanung mit Robotern Kohonennetze: Neuronale Netze In Dendriten werden die ankommenden

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn Adrian Neumann 16. Januar 2014 Übersicht Biologische Inspiration Stand der Kunst in Objekterkennung auf Bildern Künstliche Neuronale

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Seminar zum Thema Künstliche Intelligenz:

Seminar zum Thema Künstliche Intelligenz: Wolfgang Ginolas Seminar zum Thema Künstliche Intelligenz: Clusteranalyse Wolfgang Ginolas 11.5.2005 Wolfgang Ginolas 1 Beispiel Was ist eine Clusteranalyse Ein einfacher Algorithmus 2 bei verschieden

Mehr

Schriftlicher Test Teilklausur 2

Schriftlicher Test Teilklausur 2 Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Künstliche Intelligenz: Grundlagen und Anwendungen Wintersemester 2009 / 2010 Albayrak, Fricke (AOT) Opper, Ruttor (KI) Schriftlicher

Mehr

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

Neuronale Netze (Konnektionismus) Einführung in die KI. Beispiel-Aufgabe: Schrifterkennung. Biologisches Vorbild. Neuronale Netze. Einführung in die KI Prof. Dr. sc. Hans-Dieter Burkhard Vorlesung (Konnektionismus) sind biologisch motiviert können diskrete, reell-wertige und Vektor-wertige Funktionen berechnen Informationsspeicherung

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Vorlesung Maschinelles Lernen II Dr. Theo Lettmann Oliver Kramer 22. Mai 2006 Überblick Grundlagen SOMs Anwendungen 2D-SOMs Neuronales Gas 2 Grundlagen der Neuronalen Informationsverarbeitung

Mehr

Einführung in neuronale Netze

Einführung in neuronale Netze Einführung in neuronale Netze Florian Wenzel Neurorobotik Institut für Informatik Humboldt-Universität zu Berlin 1. Mai 2012 1 / 20 Überblick 1 Motivation 2 Das Neuron 3 Aufbau des Netzes 4 Neuronale Netze

Mehr

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg

Andreas Scherer. Neuronale Netze. Grundlagen und Anwendungen. vieweg Andreas Scherer Neuronale Netze Grundlagen und Anwendungen vieweg Inhaltsverzeichnis Vorwort 1 1 Einführung 3 1.1 Was ist ein neuronales Netz? 3 1.2 Eigenschaften neuronaler Netze 5 1.2.1 Allgemeine Merkmale

Mehr

Clusteranalyse: Gauß sche Mischmodelle

Clusteranalyse: Gauß sche Mischmodelle Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse: Gauß sche Mischmodelle iels Landwehr Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Computational Intelligence I Künstliche Neuronale Netze

Computational Intelligence I Künstliche Neuronale Netze Computational Intelligence I Künstliche Neuronale Nete Universität Dortmund, Informatik I Otto-Hahn-Str. 6, 44227 Dortmund lars.hildebrand@uni-dortmund.de Inhalt der Vorlesung 0. Organisatorisches & Vorbemerkungen.

Mehr

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

Neuronale Netze. Gehirn: ca Neuronen. stark vernetzt. Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor) 29 Neuronale Netze Gehirn: ca. 10 11 Neuronen stark vernetzt Schaltzeit ca. 1 ms (relativ langsam, vgl. Prozessor) Mustererkennung in 0.1s 100 Schritte Regel 30 Was ist ein künstl. neuronales Netz? Ein

Mehr

Überblick. Überblick. Bayessche Entscheidungsregel. A-posteriori-Wahrscheinlichkeit (Beispiel) Wiederholung: Bayes-Klassifikator

Überblick. Überblick. Bayessche Entscheidungsregel. A-posteriori-Wahrscheinlichkeit (Beispiel) Wiederholung: Bayes-Klassifikator Überblick Grundlagen Einführung in die automatische Mustererkennung Grundlagen der Wahrscheinlichkeitsrechnung Klassifikation bei bekannter Wahrscheinlichkeitsverteilung Entscheidungstheorie Bayes-Klassifikator

Mehr

Einführung in Support Vector Machines (SVMs)

Einführung in Support Vector Machines (SVMs) Einführung in (SVM) Januar 31, 2011 Einführung in (SVMs) Table of contents Motivation Einführung in (SVMs) Outline Motivation Vektorrepräsentation Klassifikation Motivation Einführung in (SVMs) Vektorrepräsentation

Mehr

Nichtlineare Gleichungssysteme

Nichtlineare Gleichungssysteme Kapitel 5 Nichtlineare Gleichungssysteme 51 Einführung Wir betrachten in diesem Kapitel Verfahren zur Lösung von nichtlinearen Gleichungssystemen Nichtlineares Gleichungssystem: Gesucht ist eine Lösung

Mehr

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden 1. März 2005 Neurosymbolische Integration versucht künstliche neuronale Netze und Logikprogrammierung zu vereinen

Mehr

3 Matrizenrechnung. 3. November

3 Matrizenrechnung. 3. November 3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige

Mehr

Grundlagen Neuronaler Netze

Grundlagen Neuronaler Netze Grundlagen Neuronaler Netze Neuronen, Aktivierung, Output, Netzstruktur, Lernziele, Training, Grundstruktur Der Begriff neuronales Netz(-werk) steht immer für künstliche neuronale Netzwerke, wenn nicht

Mehr

Datenorientierte SA. Aufbau und Grundlagen. Aufbau und Grundlagen. Aufbau und Grundlagen. Was sind neuronale Netze?

Datenorientierte SA. Aufbau und Grundlagen. Aufbau und Grundlagen. Aufbau und Grundlagen. Was sind neuronale Netze? Datenorientierte SA Was sind neuronale Netze? Neuronale Netze: Grundlagen und Anwendungen Neuronale Netze bilden die Struktur eines Gehirns oder eines Nervensystems ab Andreas Rauscher 0651993 Damir Dudakovic

Mehr

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

Proseminar Machine Learning. Neuronale Netze: mehrschichtige Perzeptrone. Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger Proseminar Machine Learning Neuronale Netze: mehrschichtige Perzeptrone Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger 27.Mai 2006 Inhaltsverzeichnis 1 Biologische Motivation 2 2 Neuronale

Mehr

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

(hoffentlich kurze) Einführung: Neuronale Netze. Dipl.-Inform. Martin Lösch. (0721) Dipl.-Inform. (hoffentlich kurze) Einführung: martin.loesch@kit.edu (0721) 608 45944 Überblick Einführung Perzeptron Multi-layer Feedforward Neural Network MLNN in der Anwendung 2 EINFÜHRUNG 3 Gehirn des Menschen Vorbild

Mehr

Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert

Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert Beispiel für Konfidenzintervall Im Prinzip haben wir

Mehr

Ein selbstmodellierendes System für die Wasserwirtschaft

Ein selbstmodellierendes System für die Wasserwirtschaft Ein selbstmodellierendes System für die Wasserwirtschaft Dipl.-Ing. Dr. ANDRADE-LEAL Wien, im Juli 2001 1 Einleitung, Motivation und Voraussetzungen Künstliche Intelligenz Neuronale Netze Experte Systeme

Mehr

Statistik Testverfahren. Heinz Holling Günther Gediga. Bachelorstudium Psychologie. hogrefe.de

Statistik Testverfahren. Heinz Holling Günther Gediga. Bachelorstudium Psychologie. hogrefe.de rbu leh ch s plu psych Heinz Holling Günther Gediga hogrefe.de Bachelorstudium Psychologie Statistik Testverfahren 18 Kapitel 2 i.i.d.-annahme dem unabhängig. Es gilt also die i.i.d.-annahme (i.i.d = independent

Mehr

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

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron Neuronale Netzwerke Gliederung Biologische Motivation Künstliche neuronale Netzwerke Das Perzeptron Aufbau Lernen und Verallgemeinern Anwendung Testergebnis Anwendungsbeispiele Zusammenfassung Biologische

Mehr

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Softcomputing Biologische Prinzipien in der Informatik Neuronale Netze Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Überblick Motivation Biologische Grundlagen und ihre Umsetzung

Mehr

Einführung. Ablesen von einander zugeordneten Werten

Einführung. Ablesen von einander zugeordneten Werten Einführung Zusammenhänge zwischen Größen wie Temperatur, Geschwindigkeit, Lautstärke, Fahrstrecke, Preis, Einkommen, Steuer etc. werden mit beschrieben. Eine Zuordnung f, die jedem x A genau ein y B zuweist,

Mehr

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen Algebra und Algebra 2. Dezember 2011 Übersicht Algebra und Algebra I Gruppen & Körper Vektorräume, Basis & Dimension Algebra Norm & Metrik Abbildung & Algebra I Eigenwerte, Eigenwertzerlegung Singulärwertzerlegung

Mehr

1 Fraktale Eigenschaften der Koch-Kurve

1 Fraktale Eigenschaften der Koch-Kurve Anhang Inhaltsverzeichnis Fraktale Eigenschaften der Koch-Kurve iii. Einführung.................................. iii.2 Defintion.................................... iii.3 Gesamtlänge der Koch-Kurve........................

Mehr

Allgemeine (Künstliche) Neuronale Netze. Rudolf Kruse Neuronale Netze 40

Allgemeine (Künstliche) Neuronale Netze. Rudolf Kruse Neuronale Netze 40 Allgemeine (Künstliche) Neuronale Netze Rudolf Kruse Neuronale Netze 40 Allgemeine Neuronale Netze Graphentheoretische Grundlagen Ein (gerichteter) Graph ist ein Tupel G = (V, E), bestehend aus einer (endlichen)

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

Maschinelles Lernen: Symbolische Ansätze

Maschinelles Lernen: Symbolische Ansätze Maschinelles Lernen: Symbolische Ansätze Wintersemester 2008/2009 Musterlösung für das 5. Übungsblatt Aufgabe 1: Covering-Algorithmus und Coverage-Space Visualisieren Sie den Ablauf des Covering-Algorithmus

Mehr

Überbestimmte Gleichungssysteme

Überbestimmte Gleichungssysteme Siebente Vorlesung, 8. Mai 2008, Inhalt Überbestimmte Gleichungssysteme Kleinste Quadrate: einfaches Beispiel, elementare Herleitung Normalengleichungen Transformation mit QR-Zerlegung und SVD Nichtlineare

Mehr

1 Singulärwertzerlegung und Pseudoinverse

1 Singulärwertzerlegung und Pseudoinverse Singulärwertzerlegung und Pseudoinverse Singulärwertzerlegung A sei eine Matrix mit n Spalten und m Zeilen. Zunächst sei n m. Bilde B = A A. Dies ist eine n n-matrix. Berechne die Eigenwerte von B. Diese

Mehr

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen

x 2 x 1 x 3 5.1 Lernen mit Entscheidungsbäumen 5.1 Lernen mit Entscheidungsbäumen Falls zum Beispiel A = {gelb, rot, blau} R 2 und B = {0, 1}, so definiert der folgende Entscheidungsbaum eine Hypothese H : A B (wobei der Attributvektor aus A mit x

Mehr

Reinforcement Learning

Reinforcement Learning Reinforcement Learning 1. Allgemein Reinforcement Learning 2. Neuronales Netz als Bewertungsfunktion 3. Neuronales Netz als Reinforcement Learning Nils-Olaf Bösch 1 Allgemein Reinforcement Learning Unterschied

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Mathematische Grundlagen III

Mathematische Grundlagen III Mathematische Grundlagen III Maschinelles Lernen III: Clustering Vera Demberg Universität des Saarlandes 7. Juli 202 Vera Demberg (UdS) Mathe III 7. Juli 202 / 35 Clustering vs. Klassifikation In den letzten

Mehr

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

Perzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg Perzeptronen Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Perzeptronen 1 / 22 Gliederung 1 Schwellwert-Logik (MCCULLOCH-PITTS-Neuron)

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10

Computer Vision: AdaBoost. D. Schlesinger () Computer Vision: AdaBoost 1 / 10 Computer Vision: AdaBoost D. Schlesinger () Computer Vision: AdaBoost 1 / 10 Idee Gegeben sei eine Menge schwacher (einfacher, schlechter) Klassifikatoren Man bilde einen guten durch eine geschickte Kombination

Mehr

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren Mathematik II Frühlingsemester 215 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren www.math.ethz.ch/education/bachelor/lectures/fs215/other/mathematik2 biol Prof. Dr. Erich Walter Farkas http://www.math.ethz.ch/

Mehr

Lineare Algebra: Determinanten und Eigenwerte

Lineare Algebra: Determinanten und Eigenwerte : und Eigenwerte 16. Dezember 2011 der Ordnung 2 I Im Folgenden: quadratische Matrizen Sei ( a b A = c d eine 2 2-Matrix. Die Determinante D(A (bzw. det(a oder Det(A von A ist gleich ad bc. Det(A = a b

Mehr

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren 1 Minimierung ohne Nebenbedingung Ein Optimierungsproblem besteht aus einer zulässigen Menge und einer Zielfunktion Minimum

Mehr

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

Adaptive Systeme. Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Adaptive Systeme Unüberwachtes Lernen: Adaptive Vektor Quantisierung und Kohonen Netze Prof. Dr.-Ing. Heinz-Georg Fehn Prof. Dr. rer. nat. Nikolaus Wulff Überwachtes Lernen Alle bis lang betrachteten Netzwerke

Mehr

Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell

Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell Textmining Klassifikation von Texten Teil 2: Im Vektorraummodell Dept. Informatik 8 (Künstliche Intelligenz) Friedrich-Alexander-Universität Erlangen-Nürnberg (Informatik 8) Klassifikation von Texten Teil

Mehr

Modellbildung und Simulation

Modellbildung und Simulation Modellbildung und Simulation 6. Vorlesung Wintersemester 2007/2008 Klaus Kasper Value at Risk (VaR) Gaußdichte Gaußdichte der Normalverteilung: f ( x) = 1 2π σ x e 2 2 x ( x µ ) / 2σ x Gaußdichte der Standardnormalverteilung:

Mehr

Zur Konstruktion künstlicher Gehirne

Zur Konstruktion künstlicher Gehirne Ulrich Ramacher Christoph von der Malsburg (Hrsg.) Zur Konstruktion künstlicher Gehirne 4y Springer Inhaltsverzeichnis Vorwort 1 0.1 Hauptergebnisse 2 0.2 Vorgeschichte 6 0.3 Danksagung 8 Problematik der

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

Neuronale Netze (I) Biologisches Neuronales Netz

Neuronale Netze (I) Biologisches Neuronales Netz Neuronale Netze (I) Biologisches Neuronales Netz Im menschlichen Gehirn ist ein Neuron mit bis zu 20.000 anderen Neuronen verbunden. Milliarden von Neuronen beteiligen sich simultan an der Verarbeitung

Mehr

Kapitel 6. Neuronale Netze. 6.1 Verwendeter Netztyp

Kapitel 6. Neuronale Netze. 6.1 Verwendeter Netztyp Kapitel 6 Neuronale Netze Ein wesentlicher Teil der in dieser Arbeit entwickelten Methoden zur lokalen Kompositions- und Dickenbestimmung verwendet neuronale Netze zur Unterdrückung von Störeinflüssen.

Mehr

Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten

Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten Bachelorarbeit Entwicklung eines Konzeptes zur angemessenen Beschriftung von Informationsobjekten Institut für Informatik Rostock 1 Inhaltsübersicht 1. Einleitung und Begriffsbildung 2. Bestehende geeignete

Mehr

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

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform. kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation Neuronale Netze Motivation Perzeptron Übersicht Multilayer Neural Networks Grundlagen

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 5: Differentialrechnung im R n Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 17. Juni 2009 1 / 31 5.1 Erinnerung Kapitel

Mehr

Einführung in die Theorie der Markov-Ketten. Jens Schomaker

Einführung in die Theorie der Markov-Ketten. Jens Schomaker Einführung in die Theorie der Markov-Ketten Jens Schomaker Markov-Ketten Zur Motivation der Einführung von Markov-Ketten betrachte folgendes Beispiel: 1.1 Beispiel Wir wollen die folgende Situation mathematisch

Mehr

5 Lineare Algebra (Teil 3): Skalarprodukt

5 Lineare Algebra (Teil 3): Skalarprodukt 5 Lineare Algebra (Teil 3): Skalarprodukt Der Begriff der linearen Abhängigkeit ermöglicht die Definition, wann zwei Vektoren parallel sind und wann drei Vektoren in einer Ebene liegen. Daß aber reale

Mehr

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung Kapitel 3 Lineare Abbildungen Lineare Abbildungen sind eine natürliche Klasse von Abbildungen zwischen zwei Vektorräumen, denn sie vertragen sich per definitionem mit der Struktur linearer Räume Viele

Mehr

Statistische Tests. Kapitel Grundbegriffe. Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe

Statistische Tests. Kapitel Grundbegriffe. Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe Kapitel 4 Statistische Tests 4.1 Grundbegriffe Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe X 1,..., X n. Wir wollen nun die Beobachtung der X 1,...,

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J} 9 Der Satz über implizite Funktionen 41 9 Der Satz über implizite Funktionen Wir haben bisher Funktionen g( von einer reellen Variablen immer durch Formelausdrücke g( dargestellt Der Zusammenhang zwischen

Mehr

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart

Reranking. Parse Reranking. Helmut Schmid. Institut für maschinelle Sprachverarbeitung Universität Stuttgart Institut für maschinelle Sprachverarbeitung Universität Stuttgart schmid@ims.uni-stuttgart.de Die Folien basieren teilweise auf Folien von Mark Johnson. Koordinationen Problem: PCFGs können nicht alle

Mehr

2.2 Kollineare und koplanare Vektoren

2.2 Kollineare und koplanare Vektoren . Kollineare und koplanare Vektoren Wie wir schon gelernt haben, können wir einen Vektor durch Multiplikation mit einem Skalar verlängern oder verkürzen. In Abbildung 9 haben u und v die gleiche Richtung,

Mehr

Überblick. Einführung in die automatische Mustererkennung Grundlagen der Wahrscheinlichkeitsrechnung

Überblick. Einführung in die automatische Mustererkennung Grundlagen der Wahrscheinlichkeitsrechnung Grundlagen Überblick Einführung in die automatische Mustererkennung Grundlagen der Wahrscheinlichkeitsrechnung Klassifikation bei bekannter Wahrscheinlichkeitsverteilung Entscheidungstheorie Bayes- Entscheidungsfunktionen

Mehr

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth Lineare Algebra Mathematik II für Chemiker Daniel Gerth Überblick Lineare Algebra Dieses Kapitel erklärt: Was man unter Vektoren versteht Wie man einfache geometrische Sachverhalte beschreibt Was man unter

Mehr

WS 2014/15 Diskrete Strukturen Kapitel 3: Kombinatorik (2)

WS 2014/15 Diskrete Strukturen Kapitel 3: Kombinatorik (2) WS 2014/15 Diskrete Strukturen Kapitel 3: Kombinatorik (2) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

Lösungen zu den Hausaufgaben zur Analysis II

Lösungen zu den Hausaufgaben zur Analysis II Christian Fenske Lösungen zu den Hausaufgaben zur Analysis II Blatt 6 1. Seien 0 < b < a und (a) M = {(x, y, z) R 3 x 2 + y 4 + z 4 = 1}. (b) M = {(x, y, z) R 3 x 3 + y 3 + z 3 = 3}. (c) M = {((a+b sin

Mehr

Übungen zu Splines Lösungen zu Übung 20

Übungen zu Splines Lösungen zu Übung 20 Übungen zu Splines Lösungen zu Übung 20 20.1 Gegeben seien in der (x, y)-ebene die 1 Punkte: x i 6 5 4 2 1 0 1 2 4 5 6 y i 1 1 1 1 1 + 5 1 + 8 4 1 + 8 1 + 5 1 1 1 1 (a) Skizzieren Sie diese Punkte. (b)

Mehr

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

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform. kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation Übersicht Neuronale Netze Motivation Perzeptron Grundlagen für praktische Übungen

Mehr

Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens

Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens Seminar Künstliche Intelligenz WS 2013/14 Grundlagen des Maschinellen Lernens Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 19.12.2013 Allgemeine Problemstellung

Mehr

Aufgabe 1 Probabilistische Inferenz

Aufgabe 1 Probabilistische Inferenz Seite 1 von 9 Aufgabe 1 Probabilistische Inferenz (30 Punkte) In einer medizinischen Studie wurden die Auswirkungen von Metastasen bildenden Karzinomen untersucht. Dabei wurde folgendes festgestellt: Bei

Mehr

Übersicht der Vorlesung

Übersicht der Vorlesung Übersicht der Vorlesung. Einführung. Bildverarbeitung. Morphologische Operationen 4. Bildsegmentierung 5. Merkmale von Objekten 6. Klassifikation 7. Dreidimensionale Bildinterpretation 8. Bewegungsanalyse

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB. Objekterkennung

INTELLIGENTE DATENANALYSE IN MATLAB. Objekterkennung INTELLIGENTE DATENANALYSE IN MATLAB Objekterkennung Objekterkennung Problemstellung Gegeben: Ein Bild. Fragestellungen: Klassifikationsproblem Ist ein bestimmtes Objekt (z.b. Flugzeug) auf dem Bild? Welches

Mehr

Numerische Ableitung

Numerische Ableitung Numerische Ableitung Die Ableitung kann angenähert werden durch den Differentenquotient: f (x) f(x + h) f(x) h oder f(x + h) f(x h) 2h für h > 0, aber h 0. Beim numerischen Rechnen ist folgendes zu beachten:

Mehr

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen Geometrische Objekte im -dimensionalen affinen Raum Bekanntlich versteht man unter geometrischen Objekten Punktmengen, auf die man die üblichen Mengenoperationen wie z.b.: Schnittmenge bilden: - aussagenlogisch:

Mehr

Mathe - Lernzettel: Nullstellen, Monotonie und Ableitungen

Mathe - Lernzettel: Nullstellen, Monotonie und Ableitungen Mathe - Lernzettel: Nullstellen, Monotonie und Ableitungen Leun4m 29. April 2015 Version: 0 Ich kann nicht für Richtigkeit garantieren! Inhaltsverzeichnis 1 Themenübersicht 1 2 Funktionen und Graphen 2

Mehr

Ein Vergleich von Methoden für Multi-klassen Support Vector Maschinen

Ein Vergleich von Methoden für Multi-klassen Support Vector Maschinen Ein Vergleich von Methoden für Multi-klassen Support Vector Maschinen Einführung Auf binären Klassifikatoren beruhende Methoden One-Against-All One-Against-One DAGSVM Methoden die alle Daten zugleich betrachten

Mehr

Was sind Neuronale Netze?

Was sind Neuronale Netze? Neuronale Netze Universität zu Köln SS 2010 Seminar: Künstliche Intelligenz II Dozent: Stephan Schwiebert Referenten: Aida Moradi, Anne Fleischer Datum: 23. 06. 2010 Was sind Neuronale Netze? ein Netzwerk

Mehr

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten 15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten Autoren Rene Beier, MPI Saarbrücken Berthold Vöcking, RWTH Aachen In zwei Monaten startet die nächste Rakete

Mehr

4 Lineare Abbildungen und Matrizen

4 Lineare Abbildungen und Matrizen Mathematik I für inf/swt, Wintersemester /, Seite 8 4 Lineare Abbildungen und Matrizen 4 Kern und Injektivität 4 Definition: Sei : V W linear Kern : {v V : v } ist linearer eilraum von V Ü68 und heißt

Mehr

Kapitel 2: Mathematische Grundlagen

Kapitel 2: Mathematische Grundlagen [ Computeranimation ] Kapitel 2: Mathematische Grundlagen Prof. Dr. Stefan M. Grünvogel stefan.gruenvogel@fh-koeln.de Institut für Medien- und Phototechnik Fachhochschule Köln 2. Mathematische Grundlagen

Mehr

3. Das Reinforcement Lernproblem

3. Das Reinforcement Lernproblem 3. Das Reinforcement Lernproblem 1. Agierender Agent in der Umgebung 2. Discounted Rewards 3. Markov Eigenschaft des Zustandssignals 4. Markov sche Entscheidung 5. Werte-Funktionen und Bellman sche Optimalität

Mehr