08.10.2013 Aufrufe

Aufgaben

Aufgaben

Aufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Neuronale Netze und Fuzzy-Logik Fachhochschule Konstanz<br />

SS 2007 Praktische Arbeiten Prof. Dr. Oliver Bittel<br />

Auswahl der <strong>Aufgaben</strong><br />

Von jedem Teilnehmer ist genau eine der folgenden <strong>Aufgaben</strong> zu bearbeiten und eine schriftliche<br />

Ausarbeitung abzugeben.<br />

Die Aufgabe 1, 2, 3 und 4 sind jeweils von einer Person zu bearbeiten. Die restlichen <strong>Aufgaben</strong><br />

können zu zweit bearbeitet werden. Die <strong>Aufgaben</strong> 5, 6 und 7 sind anspruchsvoller als die <strong>Aufgaben</strong><br />

1, 2, 3 und 4.<br />

Ausarbeitung<br />

Die Ausarbeitung sollte ca. 10 Seiten pro Person (ohne Anhang) umfassen und sollte beispielsweise<br />

folgendes enthalten:<br />

1. Beschreibung der Aufgabe<br />

2. Lösungsansatz:<br />

• Aufbereitung der Daten<br />

• Einteilung in Trainings- und Testdaten (evtl. auch Validierungsdaten)<br />

• Auswahl eines geeigneten neuronalen Netzes (Netzarchitektur, Aktivierungsfunktion, etc.)<br />

• Trainingsverfahren und -parameter<br />

• ...<br />

3. Darstellung der Ergebnisse:<br />

• Darstellung des Netzfehlers (z.B. SSE) evtl. in Abhängigkeit von unterschiedlichen Entwurfsentscheidungen.<br />

Da der Netzfehler vom Umfang und von der Skalierung der Daten abhängt,<br />

muss immer klar ersichtlich sein, auf welche Daten sich der angegebene Fehler bezieht.<br />

• Bei Klassifizierungsaufgaben ist außerdem der Klassifizierungsfehler (in Prozent) anzugeben.<br />

• Bei einer Vorhersage-Aufgabe ist außerdem die Netz-Performance durch eine der folgenden<br />

Fehlerformeln zu beschreiben:<br />

1<br />

NMSE = 2<br />

σ N<br />

N<br />

∑<br />

k = 1<br />

( x<br />

k<br />

− xˆ<br />

)<br />

k<br />

2<br />

1/4<br />

Normalized Mean Squared Error<br />

N 1<br />

MAE = ∑ xk<br />

− xˆ<br />

k<br />

Mean Absolute Error<br />

N k = 1<br />

Dabei sind xk die tatsächlichen und xˆ k die vorhergesagten Datenwerte. σ ist die Standardabweichung<br />

und N die Anzahl der Daten. MAE ist auf Basis der nicht-normierten Daten anzugeben.<br />

• Führen Sie mehrere Trainingsversuche durch und ermitteln Sie dabei Mittelwerte, Streuung<br />

und beste Ergebnisse.


• Die Darstellung des Generalisierungsverhaltens ist besonders wichtig.<br />

• Graphische bzw. tabellarische Darstellungen sind hilfreich.<br />

4. Matlab-Programm (im Anhang)<br />

5. Quellenverzeichnis (im Anhang). Geben Sie die verwendete Literatur, Internet-Adressen, etc. an.<br />

Abgabetermin<br />

Die schriftliche Ausarbeitung ist bis spätestens 13.7.2007 bei mir oder im FB-Sekretariat abzugeben.<br />

Aufgabe 1 Schilddrüsenfunktion (1 Person)<br />

Realisieren Sie ein Netz, das auf der Grundlage von 21 Attributwerten entscheidet, ob bei einem<br />

Patienten eine Schilddrüsenfehlfunktion - d.h. eine Schilddrüsenunterfunktion bzw. -überfunktion -<br />

vorliegt. In der Datei thyroid.dat befinden sich die Daten von 7200 Patienten. 92% Prozent der Patienten<br />

haben keine Fehlfunktion. Ein guter Klassifikator muss daher signifikant besser sein als<br />

92%.<br />

Aufgabe 2 Brustkrebs (1 Person)<br />

Realisieren Sie ein Netz, das auf der Grundlage von 9 Attributwerten entscheidet, ob eine Patientin<br />

Brustkrebs hat. In der Datei cancer.dat befinden sich die Daten von ca. 700 Patienten. Ein Attributwert<br />

fehlt bei einigen Datensätzen.<br />

Aufgabe 3 Zeichenerkennung (1 Person)<br />

Für die maschinelle Verarbeitung von Gleitkommazahlen ist ein neuronales Netz zu entwickeln, das<br />

in der Lage ist, Ziffern, Vorzeichen, Fließpunkt und Exponent (E) zu erkennen. Zur Vereinfachung<br />

der Aufgabe können Sie davon ausgehen, dass jedes Zeichen auf Einheitsgröße normiert als binäre<br />

Matrix („Bitmap“) beispielsweise der Größe 5*7 vorliegt. Geeignete Trainings- und Testdaten sind<br />

selber zu erstellen.<br />

Aufgabe 4 Vorhersage der Sonnenflecken (1 Person)<br />

Realisieren Sie ein Netz, das in der Lage ist aufgrund der Häufigkeit der Sonnenflecken der vergangenen<br />

Jahre die Häufigkeit der Sonnenflecken des nächsten Jahres vorherzusagen. In sunspot.dat<br />

finden Sie die Häufigkeit der Sonnenflecken der Jahre 1700 bis 2004. Verwenden Sie die Daten der<br />

Periode 1700 bis 1940 als Trainingsdaten. Die Perioden 1941-1975 und 1976-2004 sollen als zwei<br />

Testmengen dienen.<br />

Falls Sie mehr über Sonnenflecken und ihre Zählung wissen wollen, dann finden Sie interessante<br />

Informationen unter http://de.wikipedia.org/wiki/Sonnenfleck.<br />

2/4


Aufgabe 5 Klassifikation von Zeitreihen (2 Personen)<br />

Realisieren Sie ein Netz, das eine Zeitreihe eine der folgenden 6 Klassen (siehe auch folgende Abbildung)<br />

zuordnet:<br />

• Normal<br />

• Zyklisch<br />

• Aufwärtstrend<br />

• Abwärtstrend<br />

• Aufwärtsverschiebung<br />

• Abwärtsverschiebung<br />

Zum Trainieren und Testen liegt eine Datei mit 600 Zeitreihen vor, die jeweils 60 Werte enthalten.<br />

Für jede der 6 Klassen gibt es genau 100 Zeitreihen.<br />

Hinweis: Glätten der Zeitreihen kann sehr hilfreich sein.<br />

Abbildung: Dargestellt sind für jede Klasse 10 Beispiele. (A) Abwärtstrend, (B) Zyklisch, (C) Normal,<br />

(D) Aufwärtsverschiebung, (E) Aufwärtstrend, (F) Abwärtsverschiebung.<br />

Aufgabe 6 Vorhersage von Energieverbrauch (2 Personen)<br />

Realisieren Sie ein Netz, das den stündlichen Verbrauch von elektrischer Energie und von Kalt- und<br />

Warmwasser für ein Gebäude vorhersagt. Die Vorhersage soll basieren auf Datum (Tag, Monat,<br />

Jahr), Uhrzeit, Außentemperatur, Luftfeuchtigkeit, Sonneneinstrahlung und Windgeschwindigkeit.<br />

3/4<br />

F


Hierzu wurden in den USA Daten über einen Zeitraum von 6 Monaten aufgenommen (siehe Datei<br />

building.dat). Die folgenden zwei <strong>Aufgaben</strong> sind zu lösen:<br />

a) Interpolationsproblem: Verwenden Sie (nicht notwendigerweise alle) Daten aus dem gesamten<br />

Zeitraum zum Trainieren.<br />

b) Extrapolationsproblem: Verwenden Sie die Daten der ersten 4 Monate zum Trainieren und die<br />

letzten zwei Monate zum Testen.<br />

Hinweis: Es ist vorteilhaft, eine andere Darstellung für Datum und Uhrzeit zu wählen.<br />

Aufgabe 7 Zeitreihenvorhersage (2 Personen)<br />

Eine Zeitreihe ist eine Folge:<br />

x(t) mit t = 1, 2, 3, ...<br />

Ziel ist die Vorhersage des Wertes x(t) aufgrund der letzten realen (nicht vorhergesagten) k Werte<br />

x(t-k), x(t-k+1), ..., x(t-1); k heiße Zeitfenster. Statt x(t) kann auch eine Prognose für x(t+h) erstellt<br />

werden, wobei h auch Zeithorizont genannt wird.<br />

Als Beispiel soll die zwar periodisch aber im Detail ziemlich zufällig und unvorhersehbar erscheinende<br />

Glass-Mackey-Zeitreihe (siehe Abbildung) betrachtet werden.<br />

1.6<br />

1.4<br />

1.2<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0 200 400 600 800 1000 1200<br />

Für t = 0,1,2,..,1200 stehen die Werte x(t) in einer Datei im Matlab-Verzeichnis zur Verfügung:<br />

~\toolbox\fuzzy\fuzdemos\mgdata.dat<br />

a) Erzeugen Sie aus den ersten 200 Zeitreihenwerten geeignete Trainingsdaten. Das Zeitfenster<br />

sollte nicht zu groß gewählt werden. Als Horizont h wählen Sie die Werte 1, 3 bzw. 6. Testen Sie<br />

Ihr Netz für alle 1200 Zeitreihenwerte.<br />

b) Wie könnte eine einfache Vorhersage (ohne neuronales Netz) für h = 1 erreicht werden? Ermitteln<br />

Sie den Vorhersagefehler.<br />

c) Zeigen Sie, wie sich mit einem neuronalen Netz für h = 1 durch wiederholtes Anwenden des<br />

Netzes mehrere Werte (d.h. x(t), x(t+1), x(t+2), ...) vorhersagen lassen. Ermitteln Sie für Ihr<br />

Netz den Vorhersagefehler, wenn aus x(0), x(1), ..., x(400) die Werte x(401), x(401), ..., x(1200)<br />

vorhergesagt werden. Verwenden Sie Netze mit einem möglichst kleinen Fehler.<br />

4/4

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!