1 Einleitung. 2 Clustering

Ähnliche Dokumente
Kohonennetze Selbstorganisierende Karten

weitere Modelle und Methoden

Einführung in neuronale Netze

Seminar zum Thema Künstliche Intelligenz:

Simulation neuronaler Netzwerke mit TIKAPP

Growing neural Gas Strukturen lernen. Torsten Siedel

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

Zeichnen von Graphen. graph drawing

Kapitel ML: I. I. Einführung. Beispiele für Lernaufgaben Spezifikation von Lernproblemen

Visualisierung hochdimensionaler Daten. Hauptseminar SS11 Michael Kircher

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

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Exploration und Klassifikation von BigData

PROSEMINAR ONLINE ALGORITHMEN

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

Neuronale Netze mit mehreren Schichten

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

PROCMON. Performance und Condition Monitoring komplexer verfahrenstechnischer Prozesse. Christian W. Frey.

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

Computational Intelligence I Künstliche Neuronale Netze

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Übersicht. 20. Verstärkungslernen

Produktentwicklung damit sollten Sie rechnen

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

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

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

Neuronale Netze (Konnektionismus)

Klassifizieren und Visualisieren von Daten mit Selbstorganisierenden Karten

2.5.2 Selbstorganisierte Karten: das Modell von Kohonen. Weil es beim Perzeptron keine Wechselwirkung in der Verarbeitungsschicht

Termin3 Klassifikation multispektraler Daten unüberwachte Verfahren

GeoGebra Quickstart Eine Kurzanleitung für GeoGebra

Nichtlineare Optimierung ohne Nebenbedingungen

TEILWEISE ASYNCHRONE ALGORITHMEN

Proseminar - Data Mining

Teil II. Nichtlineare Optimierung

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Vorlesung. Funktionen/Abbildungen 1

Erkennung von automatisierten Zugriffen auf Webseiten unter Verwendung von Selbstorganisierenden Karten

Machine Learning - Maschinen besser als das menschliche Gehirn?

Kapitel LF: IV. IV. Neuronale Netze

Arbeiten mit Excel. 1. Allgemeine Hinweise

x 2 x 1 x Lernen mit Entscheidungsbäumen

Data Mining - Wiederholung

Proseminar - Data Mining

1. Allgemeine Hinweise

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Programm 4: Arbeiten mit thematischen Karten

Pfinder: Real-Time Tracking of the Human Body

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

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

FORD ST _ST_Range_V2_ MY.indd FC1-FC3 27/06/ :24:01

Sortierverfahren für Felder (Listen)

Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert

Simulation neuronaler Netze

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

Künstliche Intelligenz Maschinelles Lernen

Data Mining und Knowledge Discovery in Databases

Scheinaufgabe im Fach Web Engineering

1. Grundlegende Konzepte der Informatik

Nutzerhilfe Excel-Produkte

Mortalitätsschätzungen in ungleichaltrigen Fichtenwäldern mit Hilfe Neuronaler Netze

Bestimmung einer ersten

Informatik II Greedy-Algorithmen

Adaptive Behavior from Fixed Weight Networks

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

CLINICAL DECISION SUPPORT SYSTEMS

Tag 9: Datenstrukturen

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

Buddy - Algorithmus Handbuch für Endnutzer Stand

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Eine Einführung in C-Funktionen

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Übungen zur Vorlesung Grundlagen der Bilderzeugung und Bildanalyse (Mustererkennung) WS 04/05. Musterlösung 9

Informationstheorethisches Theorem nach Shannon

Arbeitsgruppe Neuroinformatik

Seminar Textmining SS 2015 Grundlagen des Maschinellen Lernens

Künstliche neuronale Netze

Monte-Carlo-Simulation

Moderne Methoden der KI: Maschinelles Lernen

DPF Dynamic Partial distance Function

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, am:

Clusteranalyse und Genetische Algorithmen

OPERATIONS-RESEARCH (OR)

Maschinelles Lernen und Data Mining: Methoden und Anwendungen

Künstliche Neuronale Netze und Data Mining


Clustering Seminar für Statistik

Ein (7,4)-Code-Beispiel

Netzeffekte. Seminar im WS 10/11. Kapitel 17 aus: Netzeffekte Mathias Rhiel 1

Übung - Arbeiten mit Android

Scope-Camp Hamburg 27. Mai learning to change changing to learn

Kompetitive Analysen von Online-Algorithmen

Clustering von Dokumenten (k-means, HCL)

4 Produktspezifische Ausfallwahrscheinlichkeit und Ausbeute

Musterlösung Tutorium 3 zur Vorlesung

2 Darstellung von Zahlen und Zeichen

Was genau ist eigentlich Coaching:

Wiederholung: Informationssicherheit Ziele

Schätzen der Fehlerzahl. in Software-Dokumenten. Dr. Frank Padberg Universität Karlsruhe Mai 2003

Transkript:

Lernende Vektorquantisierung (LVQ) und K-Means-Clustering David Bouchain Proseminar Neuronale Netze Kurs-Nr.: CS4400 ISI WS 2004/05 david@bouchain.de 1 Einleitung Im Folgenden soll zum einen ein Überblick über das Clustering gegeben werden. Darunter versteht man die Aufteilung der Eingabemuster nach bestimmten Merkmalen in Gruppen, den Clustern, die, räumlich gesehen, je nach Ähnlichkeit mehr oder weniger weit auseinander liegen. Zudem wird auf den K-Means-Algorithmus eingegangen, der den Clustern einen oder mehrere Prototypen, oder Referenzvektoren, zuordnet. Zum anderen soll die lernende Vektorquantisierung vorgestellt, erläutert und veranschaulicht werden. Hierbei handelt es sich um ein überwachtes Lernverfahren. Basierend auf der zur jeweiligen Eingabe gegebenen Klasseninformation wird der dem Eingabevektor nächste Gewichtsvektor ersterem entweder angenähert oder von ihm entfernt (Quantisierung). So soll der Eingaberaum iterativ immer besser abgedeckt werden. Es werden vier verschiedene Methoden der lernenden Vektorquantisierung dargelegt, die sich in Stabilität und Effizienz (Lernrate) unterscheiden. Die lernende Vektorquantisierung ist zwar ein überwachtes Lernverfahren, allerdings bildet es im Zusammenhang mit dem Clustering die Grundlage für ein wichtiges unüberwachtes Lernverfahren, nämlich die Self Organizing Feature Maps (selbstorganisierende Karten). Diese werden allerdings in einem separaten Vortrag behandelt. 2 Clustering Unter dem so genannten Clustering versteht man das Sortieren der Elemente des Eingaberaums zu verschiedenen Gruppen, den Clustern. Das Clustering stellt die Klasseninformation für die Eingaben bereit, die für das Training benötigt werden. Clustering spielt bei unüberwachten Lernverfahren (unsupervised learning) eine besondere Rolle, da es eine Möglichkeit bietet, die Eingaben auch ohne Klasseninformation zu ordnen. Das Clustering in Verbindung mit dem K-Means-Algorithmus ist eng verwandt mit den selbstorganisierenden Karten, lediglich die Nachbarschaftsbeziehung zwischen den Neuronen ist hier nicht vorhanden. 1

Der geclusterte Eingaberaum sollte folgende Eigenschaften aufweisen [1]: 1. Die Eingaben in einem Cluster sollten in mindestens einer Eigenschaft ähnlich sein 2. Ähnliche Cluster sollten dicht beieinander liegen Eine Eingabe X wird einem Cluster dann zugeordnet, wenn sie dicht an einem Prototypen desselben Clusters liegt. Der Abstand d lässt sich dabei durch die quadratische euklidische Norm berechnen, allerdings können auch andere Normen verwendet werden [1]. Gegeben sei ein Cluster j. Dann ist der Vektor p j ein Prototyp des Clusters wenn er in der Nähe des geometrischen Mittelpunktes des Clusters liegt. Ein Clustering- Algorithmus ordnet die Elemente des Eingaberaums den Clustern zu. Dies kann erreicht werden, indem zu Beginn des Trainings die Prototypen in ihrer Eigenschaft festgelegt werden. Anschließend werden alle Eingabevektoren demjenigen Prototypen zugewiesen, dem sie am ähnlichsten sind. Um den Cluster zu repräsentieren wird der Prototyp auf das geometrische Mittel aller ihm zugewiesenen Eingaben gesetzt [1]. 3 K-Means Der K-Means-Clustering-Algorithmus dient dem Platzieren der Prototypen auf den geclusterten Eingaberaum. Für eine gegebene Datenmenge muss bekannt sein, wieviele Cluster gebildet werden sollen. Diese Anzahl der Cluster sei K. Nachdem die Prototypen {p 1,..., p K } zufällig im Raum verteilt wurden, beinhaltet der K-Means-Algorithmus folgende Schritte [3]: 1. Jeden Eingabevektor dem Prototypen mit dem geringsten Abstand zuweisen 2. Alle Prototypen in ihr jeweiliges neues Zentrum verschieben 3. Schritt 1 und 2 wiederholen, bis die Cluster stabil sind Ein Problem dieses spezifischen Algorithmus ist, dass das Ergebnis stark von K abhängt und es keine Möglichkeit gibt, den Wert für eine gegebene Datenmenge optimal zu bestimmen. Allerdings gibt es auch Ansätze die versuchen, die Cluster-Anzahl zu schätzen und anzupassen. 2

4 Lernende Vektorquantisierung (LVQ) Die lernende Vektorquantisierung ist ein überwachtes Verfahrung zum Training einschichtiger neuronaler Netze [2], die Klasse des Eingabevektors muss also bekannt sein. Die Gewichtsvektoren {W 1,...,W j } des neuronalen Netzes werden dabei schrittweise soweit optimiert, bis sie die Eingabevektoren {X 1,...,X p } bestmöglich abdecken. Die Adaptation der Gewichtsvektoren erfolgt durch das schrittweise Annähern bzw. Entfernen des gewählten Vektors zum bzw. vom jeweiligen Eingabevektor, wobei der gewählte Vektor W c der Gewichtsvektor ist, der dem Eingabevektor am ähnlichsten ist. Vorgestellt werden vier verschiedene Varianten der lernenden Vektorquantisierung, mämlich LVQ1, LVQ2.1, LVQ3 und OLVQ1. Diese unterscheiden sich in der Methode der Vektorenmodifikation (Quantisierung) und damit in der Effizienz und Stabilität. 4.1 LVQ1 Zu Beginn jeder Iteration muss bei LVQ1 (learning vector quantization 1) der Gewichtsvektor gefunden werden, der dem Eingabevektor X am ähnlichsten ist. Hierzu bietet sich die Minimierung der euklidischen Norm an, aber auch die Maximierung des Skalarproduktes kann verwendet werden [2]. Gleichung 1 zeigt formal die Mimimierung des Skalarproduktes [2]: X W c = min j { X W j } (1) Die Modifikation des gewählten Gewichtsvektors geschieht durch die Annäherung um einen Bruchteil α(t) des Differenzvektors X(t) W c (t) an den Eingabevektor X(t) wenn der Gewichtsvektor W c (t) in derselben Klasse liegt wie der Eingabevektor. Liegt W c (t) nicht in der Klasse des Eingabevektors, wird W c um denselben Wert von X(t) entfernt. α(t), mit 0 < α(t) < 1, ist dabei die Lernkonstante, die entweder konstant oder abhängig von der Iteration t monoton fallend ist [2]. In Abbildung 1 wird der Trainings-Prozess, das Verschieben des Vektors W c, veranschaulicht. Gleichung 2 zeigt diese Lernregel formal: { Wc (t) + α(t)[x(t) W W c (t + 1) = c (t)],kls(w c ) = Kls(X) W c (t) α(t)[x(t) W c (t)],kls(w c ) Kls(X) Alle anderen Gewichtsvektoren bleiben unverändert. Es ergibt sich also: (2) W j (t + 1) = W j (t) j c (3) 3

Abbildung 1: Adaptation des Gewichtsvektors W c bei LVQ1 4.2 LVQ2.1 LVQ2.1 verwendet im Gegensatz zu LVQ1 die beiden nächsten Gewichtsvektoren W i und W j. Eine Modifikation findet unter folgenden Voraussetzungen statt [2]: 1. Die Klassen der beiden Gewichtsvektoren W i und W j sind unterschiedlich 2. X gehört einer der beiden Klassen W i oder W j an 3. X liegt in einem Fenster entlang der Mittelsenkrechten zwischen beiden Klassen. Um herauszufinden, ob X entlang der Mittelsenkrechten zwischen beiden Klassen liegt, wird folgender Ausdruck verwendet, v sollte dabei zwischen 0.2 und 0.3 betragen [2]: { di min, d } j > s,wobei s = 1 v (4) d j d i 1 + v Falls X und W i zur gleichen Klasse gehören (und W j damit laut Voraussetzung nicht in dieser Klasse liegt), gilt folgende Lernregel [2]: W i (t + 1) = W i (t) + α(t)[x(t) W i (t)] W j (t + 1) = W j (t) α(t)[x(t) W j (t)] In Abbildung 2 wird Trainings-Prozess von LVQ2.1 veranschaulicht. Dieses Verfahren modifiziert die den Voraussetzungen entsprechenden Gewichtsvektoren und verschiebt dadurch die Klassengrenzen. (5) 4

Abbildung 2: Adaptation bei LVQ2.1 4.3 LVQ3 LVQ2.1 verändert die Verteilung der Gewichtsvektoren an sich nicht. Daher wurde LVQ3 als Weiterentwicklung von LVQ2.1 entworfen [2], um die Gleichverteilung innerhalb der Klassen und damit eine bestmögliche Abdeckung des Eingaberaums zu gewährleisten. LVQ3 unterscheidet sich in dem Fall von LVQ2.1, in dem die Gewichtsvektoren W i und W j der Klasse des Eingabevektors X angehören. Für die Gleichverteilung sorgt dabei die Konstante e, die nach [2] zwischen 0.1 und 0.5 liegen sollte. e als Koeffizient der Lernkonstante α(t) verhindert eine zu große Modifikation der Gewichtsvektoren und damit Oszillation und Instabilität. Die Lernregel für diesen Fall lautet dann formal [2]: W i (t + 1) = W i (t) + eα(t)[x(t) W i (t)] W j (t + 1) = W j (t) + eα(t)[x(t) W j (t)] Zusätzlich zu den Klassengrenzen verändert LVQ3 also auch die Verteilung der Gewichtsvektoren innerhalb der Klassen. 4.4 OLVQ1 OLVQ1(Optimized Learning Vector Quantization 1) erweitert LVQ1 so, dass jeder Gewichtsvektor eine eigene Lernrate erhält. Dies führt zu folgender Lernregel [2]: (6) { Wc (t) + α W c (t + 1) = c (t)[x(t) W c (t)],kls(w c ) = Kls(X) W c (t) α c (t)[x(t) W c (t)],kls(w c ) Kls(X) α c (t) ergibt sich dabei aus folgender Gleichung [2]: (7) 5

α c (t 1) α c (t) = 1 + s(t)α c (t 1) (8) Dabei ist s(t) = 1, wenn W c in der gleichen Klasse wie X, und s(t) = 1, wenn W c außerhalb der Klasse von X liegt. Es ist unbedingt wichtig, α c (t) nicht größer als 1 werden zu lassen, da sonst der Gewichtsvektor W c am Eingabevektor X vorbei gezogen wird und das neuronale Netz dadurch instabil werden kann. Durch die Zustandsabhängigkeit der Lernkonstante α c vom zugehörigen Gewichtsvektor kann der Startwert α c (0) deutlich größer gewählt werden als bei LVQ1, z. B. 0.3 ([2]), so ein anfänglich schnelleres Training und folglich ein generell schneller konvergierendes Netz erzielt werden. Bei der OLVQ1 wird also jedem Gewichtsvektor eine eigene Lernrate zugewiesen, was ein schnelleres Lernen und damit ein effizienteres Netz zur Folge hat. 5 Zusammenfassung Zunächst wurde ein Überblick über das Clustering, also das Zusammenfassen der Daten des Eingaberaums zu Gruppen bzw. Clustern, und seine Bedeutung gegeben. Zudem wurde mittels des Clustering und dem dazu gehörigen K-Means-Algorithmus die Grundlage für das Verständnis unüberwachter Lernverfahren vermittelt. Daran anschließend wurde das überwachte Lernverfahren lernende Vektorquantisierung mit den dazugehörigen Algorithmen vorgestellt. LVQ1 modifiziert den Gewichtsvektor, der der Eingabe am ähnlichsten ist, entsprechend der Klassenzugehörigkeit. Die zweite Variante, LVQ2.1, verschiebt die Klassengrenzen. LVQ3 sorgt als Erweiterung der LVQ2.1 zusätzlich für eine Gleichverteilung der Gewichtsvektoren in den Klassen. Die optimierte Fassung der LVQ1, OLVQ1, weist jedem Gewichtsvektor eine eigene Lernrate zu, wodurch ein effizienteres Training erzielt werden kann. Literatur [1] R. Callan. The essence of Neural Networks. Prentice Hall 1999. Kap. 3.1 Clustering Patterns - Basic Ideas, pp. 59-62 [2] A. Zell. Simulation Neuronaler Netze. Addison-Wesley 1996. Kap. 14 Lernende Vektorquantisierung, pp. 171-178 [3] B. T. Luke. K-Means Clustering. (http://fconyx.ncifcrf.gov/ lukeb/kmeans.html; Download: 20. 2. 2005) 6