| Neuronale Netze: Daten | |||||||||||||
3. DatenDatenerhebung, Datenkontrolle und Datenkodierung sind wichtige Aspekte bei der Simulation mit neuronalen Netzen. Insbesondere muß die Quantität und die Qualität der Daten überprüft werden.
3.1 EinführungDie typische Aufgabe eines neuronalen Netzes besteht darin, aus einer Reihe von Eingabedaten gesuchte Ausgabedaten zu produzieren. Neuronale Netze können sehr verschiedene Formen von Daten verarbeiten, sofern diese in einer geeigneten Form vorliegen. Das bedeutet, daß die Daten in der Regel kodiert werden müssen. Die Kodierung wird hauptsächlich von der Problemstellung bestimmt. Die Problemstellung gibt vor, in welcher Form die Eingabedaten vorliegen können und welche Ausgabedaten gesucht sind. Sofern die Daten nicht schon mit der gegebenen Fragestellung vorliegen, ist es sinnvoll, Kodierungsschemata vor der Datenbeschaffung zu entwerfen. Erst das Kodierungsschema legt fest, welche Eingabedaten wirklich benötigt werden. Oft ist gerade die Datenbeschaffung kostenintensiv, so daß es sinnvoll ist, in der Kodierung nicht benötigte Daten auch nicht zu erheben. Ein typisches Beispiel für eine Kodierung von Daten ist die Reskalierung, kompliziertere Beispiele sind die Fouriertransformation einer Zeitreihe oder die Kodierung mehrerer Rohdaten in einer Variable. In dem später beschriebenen Beispiel (siehe Abschnitt Anwendung) werden wir eine solche kompliziertere Kodierung verwenden.
Ein zweiter Aspekt betrifft Qualität und Quantität der Daten. Liegen genügend Daten vor, um das neuronale Netz zu trainieren? Liegen genügend Daten vor, um die Fragestellung mit einem neuronalen Netz beantworten zu können? Mit welchen Fehlern sind die Rohdaten behaftet? Diese Fragen müssen geklärt werden, bevor langwierige Trainingszyklen mit einem neuronalen Netz vorgenommen werden.
In diesem Abschnitt wird diskutiert, wie die Kodierung vorgenommen werden kann, welche Bedingungen dabei zu beachten sind, welche Auswirkungen das auf die Beschaffung der Daten hat und wie am Ende die Ausgabedaten rekodiert werden. Es wird ferner diskutiert, wie man Qualität und Quantität der Daten beurteilen kann.
3.2 DatenkodierungRohdaten können aus einer kontinuierlichen Datenmenge stammen oder aus einer diskreten Datenmenge. Sie können zudem in bestimmten Einheiten vorliegen und unterschiedlich skaliert sein. Ein erster Schritt besteht darin, für die Daten einfache statistische Größen wie den Mittelwert und die Standardabweichung zu bestimmen, bei diskreten Daten die Häufigkeitsverteilung. Oft ist es sinnvoll, die Rohdaten zu reskalieren, was mit Hilfe dieser Informationen möglich ist. Zum anderen können diese Informationen dazu dienen, statistische Ausreißer in den Rohdaten für Trainingszwecke zu eliminieren. Kommt es bei der Fragestellung dagegen gerade auf die statistischen Ausreißer an, so sind diese in geeigneter Weise (oft auch wieder durch Umskalierung) hervorzuheben. Das ist z.B. möglich, indem man nichtlineare Skalenfunktionen benutzt oder indem man unterschiedliche Bereiche in unterschiedlicher Weise skaliert. Fertige Programmpakete zur Simulation neuronaler Netze bieten verschiedene Skalenfunktionen an, die sich in der Praxis mehr oder weniger bewährt haben.
Das neuronale Netz lernt eine Funktion, die die Eingabedaten auf die Ausgabedaten abbildet. Das Lernverhalten des Netzes hängt entscheidend von der Krümmung dieser Funktion ab: Führen kleine Änderungen in den Eingabedaten in einem bestimmten Bereich zu großen Änderungen in den Ausgabedaten, dann wird dieser Bereich eventuell schlechter gelernt und man benötigt dort eine höhere Dichte von Datensätzen. Eine geeignete nicht-lineare Reskalierung der Daten kann das Verhalten des Netzes in solchen Bereichen verbessern.
Das neuronale Netz liefert Ausgabedaten in der Form, wie sie durch die Kodierung der Trainings- und Testdaten vorgegeben wurde. Beispielsweise kann das Ausgabedatum ein relativer Zahlenwert zwischen 0 und 1 sein, der anschließend reskaliert wird. Es ist aber auch möglich, die Kodierung so vorzunehmen, daß das Ausgabedatum direkt verwendet werden kann.
3.3 Qualität und QuantitätDie Qualität der Daten hängt in entscheidender Weise davon ab, wie die Daten erhoben wurden. Zum einen spielen systematische und statistische Fehler eine Rolle, zum anderen können Daten zum Teil redundant sein. Beide Probleme können durch eine sorgfältige Planung vor der Erhebung der Daten reduziert werden. Oft lassen sich diese Schwierigkeiten aber nicht ganz vermeiden. Statistische Test können hilfreich sein, wenn die Qualität der Daten sichergestellt sein soll.
Eine andere Frage ist, wieviele Daten für eine Untersuchung erhoben werden müssen. Je komplexer ein neuronales Netz ist, desto mehr Daten werden für das Training benötigt. Oft ist es günstig, ein Netz mit einem oder wenigen Ausgabedaten zu benutzen. Es kann auch sinnvoll sein, die Anzahl der Eingabedaten zu reduzieren, um so die Komplexität des Netzes zu begrenzen. Beides kann sinnvoll sein, da die Zahl der benötigten Daten und damit der Aufwand bei der Erhebung der Daten exponentiell mit der Komplexität des Netzes wächst.
In diesem Zusammenhang ist es wichtig, sich klar zu machen, daß man keine neue Information mit Hilfe eines neuronalen Netzes erzeugen kann. Die gesuchte Information muß schon (in einer nicht erkennbaren Weise) in den Eingabedaten enthalten sein. Es ist also beispielsweise nicht möglich, aus wenigen Eingabedaten mehr unabhängige Ausgabedaten zu erzeugen. Ebenso ist es nicht möglich, mit einer geringen Anzahl von Datensätzen ein neuronales Netz zu trainieren.
|
|
|
Copyright (c) Andreas Mielke 1999-2010. Letzte Änderung: 04.03.2011. info@andreas-mielke.de |