Ihre Zielsetzung
Sie haben sich ein Thema ausgesucht. Sinnvoll ist,
zu Beginn folgende Fragestellungen zu klären:
-
Worauf möchten Sie den Schwerpunkt legen?
Auf eine tolle Animation und grafische Darstellung eines bekannten
Verfahrens? Auf möglichst adäquate Behandlung eines
Datensatzes/eines Problems mit unterschiedlichen bzw. für diese
Daten optimierten Verfahren? Das Entwickeln neuer Verfahren bzw. Erweitern bestehender
Algorithmen? Das systematische Austesten bestehender Algorithmen?
-
Welche Algorithmen verwenden Sie? Was wollen Sie selber
programmieren, was benutzen? Wie ist das mit
Datenschnittstellen? Achten Sie
darauf, daß die Programmkomplexität nur
sukzessive wächst und die einfachen Teile einzeln
testbar sind.
Wenn Sie sich die Programmierarbeit aufteilen, wer macht welche Teile?
Können Sie evtl. Teile anderer Gruppen integrieren?
-
Welche Programmiersprache benutzen Sie?
Selber programmieren macht natürlich Spaß - und kostet Zeit.
Simulatoren bieten sich an, wenn Sie Daten-getrieben arbeiten wollen und
der Algorithmus selbst nicht im Mittelpunkt steht, Sie also mit Standardalgorithmen
auskommen.
Dabei bietet sich der in der Neuro-Vorlesung benutzte SNNS für
Clustering-Algorithmen nicht an. Sie müßten sich also
in eine neue Umgebung einarbeiten.
Ein schönes universelles Tool, das das Einbinden eigenen C-Codes
gestattet, ist der in der Gruppe
von Helge Ritter entwickelte Simulator
NEO.
Sehr gute spezielle Tools gibt es für
SVM und
LVQ/SOM.
-
Welche Daten benutzen Sie?
Machen Sie sich auch Gedanken, mit welchen einfachen, von Ihnen
künstlich erzeugten Daten
Sie Ihre Algorithmen zunächst testen können.
Fangen Sie bei einfachem Clustering mit einigen wenigen Clustern im zweidimensionalen
an, wo Sie bereits wissen, was herauskommen sollte. Bei SOMs
können Sie gleichmäßig über die Ebene verteilte
Punkte testen.
Realistische Daten sind meist aufwendig bereitzustellen, eine Adaptation
des Dateiformats ist erforderlich.
Selten werden zudem die Algorithmen mit den
direkten Daten glücklich werden, zumeist ist eine Skalierung
oder Extraktion geeigneter Merkmale erforderlich.
-
Wie ist die prinzipielle Algorithmik? Im Zweifel nochmal
die Literatur bemühen oder nachfragen!
Stellt die Algorithmik spezielle Anforderungen an die Datenvorverarbeitung?
-
Um den Aufwand einigermaßen zu verteilen und eine Aufteilung
unter mehreren Programmierern zu ermöglichen, ist
ein grober Arbeitsplan ganz nützlich.
Sie sollten die Zielsetzung, Programmaufteilung, Verfahren, Daten, erwartete Ergebnisse
möglichst früh, evtl. informell, aber schriftlich fixieren!
back