Grundlagen der Statistik enthält Materialien verschiedener Vorlesungen und Kurse von H. Lohninger zur Statistik, Datenanalyse und Chemometrie .....mehr dazu. |
Home Multivariate Daten Modellbildung Neuronale Netze Allgemeine Fragen über ANNs | |
Siehe auch: ANN - Einführung | |
Search the VIAS Library | Index | |
Allgemeine Fragen über ANNsAuthor: Hans Lohninger
Im Folgenden finden Sie eine kurze Zusammenstellung der am häufigsten gestellten Fragen bezüglich ANNs. Wann sollte man neuronale Netzwerke einsetzen? Um zu vermeiden,
dass einfache Aufgaben mit komplexen Modellen gelöst werden, sollten zuerst
traditionelle lineare Modelle genutzt werden. Zur Überprüfung ob nicht
lineare Methoden bessere Ergebnisse erzielen und mehr Information enthüllen
können, sollten Experimente mit simplen Standardversionen von neuronalen
Netzwerken durchgeführt werden. Später kann das Modell dann durch Hinzufügen von
mehreren Schichten, Einheiten oder Feedbackschleifen verbessert
werden.
Was ist mit der Vorverarbeitung der Daten?
Unerfahrene Benutzer von neuronalen Netzwerken neigen
dazu, die Fähigkeiten der ANNs zu überschätzen. Tatsächlich ist die
Vorverarbeitung der Daten sehr wichtig und kann der Schlüssel zum Erfolg sein
(siehe auch Transformation des
Datenraums). Ist es wahr, dass man mit neuronalen Netzwerken beinahe jede Funktion annähern kann? Auch wenn
bewiesen werden kann, dass sich bestimmte Arten von Modellen fast jeder
gegebenen Funktion annähern können, bedeutet das nicht immer, dass das
betreffende neuronale Netzwerk passend trainiert werden kann. Typischerweise
bleiben neuronale Netzwerke während des Trainingsprozesses in lokalen Minima
hängen. Also erzeugen sie möglicherweise nicht die gewünschten
Abbildungsfunktionen. Wie viele Datenpunkte sind notwendig, um ein neuronales Netzwerk zu trainieren? Da neuronale Netze ja anhand von Beispielen trainiert werden, sind große Datensätze notwendig. Bevor man mit den Experimenten anfängt, sollte man versuchen, so viele Beispiele wie möglich zu sammeln. Besonders Methoden mit vielen Freiheitsgraden (z.B. viele Verbindungen im Netzwerk) verlangen eine große Anzahl an Trainingsdaten. Es gibt Erfahrungen und Berichte zur maximal möglichen Zahl an Freiheitsgraden für eine gegebene Zahl von Beispielen oder die minimal notwendige Zahl von Beispielen für eine gegebene Zahl von Freiheitsgraden. Allerdings werden in der Praxis diese Kriterien fast nie erreicht und man sollte sich bewusst sein, dass in diesem Fall die Ergebnisse unzuverlässig sein können.
Die relative Zahl an Beispielen pro Gruppe beeinflusst das resultierende Netzwerk. Je öfter ein Muster präsentiert wird, desto besser wird es gelernt. Um alle Gruppen gleich gut zu lernen sollte pro Gruppe die gleiche Anzahl von Beispielen verwendet werden, wobei es nicht um einzelne Beispiele geht, sondern um etwa +/- 20 %. Achtung: Wenn man die Zahl der Beispiele pro Gruppe verändert, so ist der neue Trainingsdatensatz keine repräsentative Stichprobe der Originalverhältnisse mehr, was zu Problemen bei der Modellierung führen kann. Das traininerte Netz sollte immer in der Praxis eingehend getestet werden.
Normalerweise lernt das neuronale Netzwerk nicht, Spezialfälle richtig zu behandeln, weil sie dem Netzwerk nicht oft genug präsentiert werden. Das neuronale Netzwerk berücksichtigt die statistische Verteilung der Daten und tendiert dazu, Ausreißer zu vernachlässigen. Hier ein paar Hinweise, wie man mit Spezialfällen umgeht:
Dies hängt vom
Typ des neuronalen Netzes ab. So ist z.B. das mehrschichtige Perzeptron
nicht sehr gut geeignet, mit weiteren Beispielen (nach)trainiert zu werden.
Nochmals von vorne zu starten, ist normalerweise schneller und ergibt bessere
Resultate. Andere Modelle sind möglicherweise für die Einbindung von
zusätzlichen Beispielen besser geeignet. Kann ein neuronales Netzwerk mehrere Aufgaben auf einmal erfüllen? Ob das vernünftig
ist, hängt von den Aufgaben ab. Wenn die Aufgaben nahe verwandt sind, kann das
die Performance verbessern, weil die Gewichte, die zu den verdeckten Einheiten
führen, die Aufgabe geeignet vorstrukturieren. Sind
die Aufgaben jedoch zu unterschiedlich, behindern sie sich
normalerweise und führen zu schlechteren Ergebnissen. Im Allgemeinen sollte
man separate neuronale Netzwerke mit einzelnen Ausgangseinheiten für jede
Aufgabe benutzen. Das ergibt einen besseren Überblick und erlaubt es, kleinere
Netzwerke zu verwenden. Wie viele verdeckte Einheiten sollten verwendet werden? Die verdeckten
Einheiten strukturieren die Eingangssignale, so dass die Signale leichter für
die gestellte Aufgabe verwendet werden können. Man sollte versuchen,
so wenig verdeckte Einheiten wie möglich zu verwenden. Sind viele verdeckte
Einheiten vorhanden, tendiert das Netzwerk dazu, sich zu gut an den
Trainingssatz anzupassen, worunter die Verallgemeinerungsfähigkeit des Netzes
leidet. Das Entfernen einer einzelnen verdeckten Einheit verringert die
Größe des Netzwerks beträchtlich (und damit die Zahl der Freiheitsgrade), weil
eine einzelne verdeckte Einheit ja mit allen Eingangs- und Ausgangseinheiten
verbunden ist.
|
|
Home Multivariate Daten Modellbildung Neuronale Netze Allgemeine Fragen über ANNs |