Computational-Intelligence

News-Archiv

Seminar Classification Algorithms

Wintersemester 2015/2016

Übersicht

Allgemeines

Auf dieser Seite finden Sie verschiedene Informationen zum Seminar "Classification Algorithms", das im Wintersemester 2015/2016 von Christian Braune und Pascal Held an der Otto-von-Guericke-Universität Magdeburg gehalten wird. Diese Seite wird im Laufe des Semesters aktualisiert.

Inhalte des Seminars

Klassifikation ist ein Teilbereich der intelligenten Datenanalyse, bei dem das Ziel ist, anhand von Trainingsbeispielen ein Modell zu erlernen. Solch ein Modell soll dann in der Lage sein, neue und unbekannte Objekte korrekt in die bekannten Klassen einzuordnen. Hierfür existieren viele verschiedene Verfahren, die Strukturinformationen aus den vorhandenen Daten unterschiedlich ausnutzen, um zu einem Ergebnis zu kommen.

In diesem Seminar sollen in der Gruppe verschiedene Klassifikationsalgorithmen erarbeitet und beschrieben werden, sowie anhand von Beispielen Stärken und Schwächen der Algorithmen aufgezeigt werden. Dabei werden wir versuchen sowohl auf verschiedene Arten von Daten (statische, dynamische, ... ) einzugehen sowie verschiedene Klassen (überwacht, teilüberwacht, ...) von Klassifikationsgorithmen vorzustellen.

Voraussetzungen

Grundlagen der Informatik / Algorithmen und Datenstrukturen Kenntnisse in Vektorrechnung und Grundlagen der Stochastik sind sicherlich von Vorteil, aber nicht zwingend notwendig.

Teilnehmerkreis

Etwa 15-20 Studenten der Informatik und interessierte Studierende anderer Fachrichtungen.

Alle Teilnehmer werden gebeten sich über den FIN Registration Service zu anzumelden.

Organisatorische Regelungen für den Teilnahmeschein

Die Veranstaltung kann als wissenschaftliches Seminar im Bachelor (3 CP) oder Master (6 CP) angerechnet werden. Außerdem ist eine Anrechnung als FIN-SMK (5 CP) möglich. Für 3 CP wird eine regelmäßige Teilname an den Seminarterminen sowie aktive Mitarbeit während des Seminars erwartet (Die Mitarbeit wird bewertet. Das Seminar ist recht lese-intensiv!). Für 5 oder 6 CP ist zusätzlich ein Programmierprojekt (plus Vorstellung) und das halten eines Vortrags zu einem der unten genannten Themen nötig.

Termine und Räume


WochentagZeitRaumBeginnDozent
SeminarDonnerstag13:00-15:00G29-E03615.10.2015Christian Braune / Pascal Held
zurück zum Seitenanfang

Weitere Termine/Vorträge:

ThemaTerminVortragende 
Einführung, kNN15.10.2015Christian Braune, Pascal Held
Feature Selection29.10.2015Fabian Witt, Steven Brandt
Decision Trees05.11.2015David M. Henriques, Florian Bannier
Bayes Classifier12.11.2015Christian Harnisch, Stephan Besecke
LDA / QDA19.11.2015Stephan Fensky 
LLM / SVM26.11.2015Pascal Krenckel, Sebastian Streuber 
Label Propagation03.12.2015Chris Long, Jan Schumacher 
S3VM10.12.2015Joel Dierkes, Julian Lamprecht 
Active Learning17.12.2015Johannes Gätjen, Viola Hauffe 
Ensemble Methods07.01.2015Arne Schneck, Tom Wunderling 
Finale14.01.2016alle 
Projektvorstellung 121.01.2016  
Projektvorstellung 228.02.2016  
zurück zum Seitenanfang

Gruppeneinteilung für Programmierprojekte

idThema#1#2
1Random ForestSteven BrandtFabian Witt
2Kernel Density EstimationJohannes GätjenTom Wunderling
3???Jan SchumacherChris Long

Zusätzliche Unterlagen

Api-Programmierprojekt

Ihr könnt euer Programmierprojekt entweder als Python Funktion oder als ausführbares Konsolenprogramm implementieren.

Python-Funktion
def einfaches_klassifizieren_training(data, label, arg1, arg2, ...):
    foo()
    bar()
    dark_magic()
    generiere_modell()
    return modell()

def einfaches_klassifizieren(modell, daten, arg1, arg2, ...):
    label = model.predict(daten)
    return label()

data ist dabei eine übergebene numpy-Matrix, wobei jede Spalte einem Attribut und jede Zeile einem Datum entspricht. Mit data[0,0] kann darauf zugegriffen werden. Alle weiteren Parameter könnt ihr beliebig wählen und uns dann entsprechend mitteilen, so dass wir die zugehörigen Eingaben im System hinterlegen können.

Wenn ihr eine Visualisierung anbieten wollt, könnt ihr diese in Grafikdateien (vorzugsweise PNG) in den temporären Ordner schreiben und die Pfade zu den Bildern als String-Liste mit zurückgeben.

Kommandozeilentool
Aufruf:
[euer Programmaufruf] [ARFF-File] [Arg1] [Arg2] ...

Den gewünschten Programmaufruf könnt ihr uns mitteilen. Die Argumente brauchen wir natürlich auch, damit wir die Oberfläche entsprechen konfigurieren können.

ARFF-Files sind CSV-Dateien mit ein paar Header Informationen. Eine Beispieldatei stellen wir gerne zur Verfügung.

Da in der letzten Spalte die Ground-Truth-Label stehen, dürft ihr diese Spalte in eurem Algorithmus natürlich nicht benutzen. ;)

erwartete Programmausgaben
  • Liste der Labelzuordnung (ein Label, dann neue Zeile, dann nächstes Label ...)
  • eventuell erzeugte Bilder mit: # Image: [Pfad]

Beispiel:

1
1
2
2
3
3
3
# Image: /tmp/foo/bar.png

Themen

zurück zum Seitenanfang

Verweise auf andere Webseiten

zurück zum Seitenanfang
en lang icon de lang icon Printable View - Recent Changes
Page last modified on December 18, 2015, at 11:12 AM by braune