Vorlesung Maschinelles Lernen
Veranstaltung |
Wochentag |
Termin |
Ort |
42273 (Vorlesung) |
Dienstag |
10:15 - 12:00 (2 SWS) |
GB IV / R. 318 |
42274 (Übung) |
Dienstag |
14:15 - 16:00 (2 SWS) |
GB IV / R. 318 |
Voraussetzung
Wahlpflichtvorlesung "Darstellung, Erwerb und Verarbeitung von Wissen", Grundbegriffe von Logik und Wahrscheinlichkeitstheorie (Statistik)
Schwerpunktgebiet
Intelligente Systeme
Inhalt
Kaum ein Teilgebiet der Künstlichen Intelligenz hat sich so rasant entwickelt wie das maschinelle Lernen, dessen internationale Tagungen von jeweils mehr als 300 Interessierten besucht werden, dessen Methoden in vielen erfolgreichen Programmen (z.B. Google, Amazon) integriert sind und dessen Ergebnisse für viele Anwendungen (z.B. Marketing, Medizin) erfolgreich genutzt werden. Dabei ist das Gebiet theoretisch wohl fundiert mit Bezug auf Statistik und Logik.
Die Vorlesung behandelt die Lernaufgaben
- Klassifikation
- Subgruppenentdeckung
- Merkmalsauswahl und -extraktion
- Clustering
Dabei werden verschiedene Methoden (Klassen von Algorithmen) mit ihrem jeweiligen theoretischen Hintergrund vorgestellt:
- Lernen von Entscheidungsbäumen
- Induktiv logische Programmierung
- Entdeckung häufiger Mengen (frequent set mining)
- Stützvektormethode (support vector machines)
- Genetische Programmierung, Evolutionsstrategie
- kMeans clustering
- verteiltes clustering
In den Übungen werden zum einen für ein besseres Verständnis Algorithmen nachimplementiert, zum anderen gegebene Algorithmen auf Datensätze angewandt und die Ergebnisse evaluiert.
Hinweise zu den in den Übungen nachzuimplementierenden Algorithmen
In die zu erstellenden Klassen sollten importiert werden:
- edu.udo.cs.yale.example.Example
Die Klasse Example stellt ein Beispiel mit seinen Attributen und Werten
dar, so dass man z.B. Comparator<Example>, PriorityQueue<Example>,
Iterator<Example> schreiben kann.
- folgende Methode der Klasse edu.udo.cs.yale.example.Example :
- getAttribute(i) gibt das i-te Attribut des Beispiels
- getValue(i) gibt den Wert des i-ten Attributs
- folgende Methoden der Klasse edu.udo.cs.yale.example.Attribute :
- getValueType gibt den Wertebereich des Attributs
- edu.udo.cs.yale.tools.Ontology
Die Klasse Ontology hat Wertebereiche als Eigenschaft, z.B. NOMINAL
- edu.udo.cs.yale.operator.exercise.KNearestNeighborPredictor
Das Interface kann man unter dem Punkt Material herunterladen
Folien
Zur Vorlesung sind folgende Folien verfügbar:
- Einführung, kNN, ID3, Gütekriterien [.ppt]
- Häufige Mengen finden [.ppt]
- Clustering, Qualitätsfunktion, k-Means [.ppt]
- Zur SVM: Teil 1 (SVM) [.ppt] und Teil 2 (Kernfunktion) [.ppt]
- Induktive Logische Programmierung, Generalisierungen, Regellernen, Sorten [.ppt]
Material
- Ein für die Übungen relevantes Interface zum Nachimplementieren der vorgestellten Algorithmen [.java]
- Javadoc zur Klasse edu.udo.cs.yale.example.Example [.pdf]
- Ein für die Übungen notwendiges YALE Plugin (erweiterte Version zur Lösung der nächsten Aufgabe) [.jar]
yale-exercise-3.4.jar wird nur benötigt, wenn eine eigene Installation von YALE verwendet werden soll. In diesem Fall muss die Datei unter ".../yale-3.4/lib/plugins" gespeichert werden.
- Quellcode zu fpGrowth [.zip]
- Material zur Übungsaufgabe 8 : Programm: imuato [.zip] ; Dokumentation: javadoc [.zip]
Aufgaben
Literatur
Stefan Wrobel, Katharina Morik, Thorsten Joachims (2000) "Maschinelles Lernen und Data Mining" in: Görz, Rollinger, Schneeberger (Hg.) "Handbuch der Künstlichen Intelligenz", Oldenburg, 3. erw. Auflage
Tom Mitchell (1997) "Machine Learning", McGraw-Hill
Christopher Burges (1998)"A Tutorial on Support Vector Machines for Pattern Recognition" in: Data Mining and Knowledge Discovery Journal, Vol 2, S. 121 - 167, Kluwer
John Platt (1999) "Fast Training of Support Vector Machines using Sequential Minimal Optimization" in: Schölkopf, Burges, Smola (eds) "Advances in Kernel Methods - Support Vector Learning", S. 185 - 208, MIT Press
Weitere Literatur wird in der Vorlesung angegeben.