Grundlagen der Statistik enthält Materialien verschiedener Vorlesungen und Kurse von H. Lohninger zur Statistik, Datenanalyse und Chemometrie .....mehr dazu.


Allgemeine Fragen über ANNs

Author: 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.

  • Wenn es nicht möglich ist, mehr Daten zu bekommen, sollte man mit kleineren Modellen mit weniger Freiheitsgraden arbeiten (z.B. nur eine geringe Zahl von Neuronen pro Schicht verwenden, damit die Anzahl an Verbindungen klein bleibt).
  • Bei neuronalen Netzen sollte immer eine n-fache Kreuzvalidierung durchgeführt werden.
  • Eventuell kann man auch Rauschen addieren, um die Zuverlässigkeit eines trainierten Netzwerks zu testen.


Ist die Anzahl an Beispielen pro Gruppe wichtig?

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.


Was ist mit Spezialfällen im Trainingsdatensatz?

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:

  • Sammeln Sie viele Beispiele dieser Art. Wenn Sie viele ähnliche Beispiele von Spezialfällen verwenden, lernt das Netzwerk mit ihnen umzugehen.
  • Verwenden Sie ein neuronales Netzwerkmodell, das mit Spezialfällen umzugehen weiß.
  • Verwenden Sie "case-based reasoning".
  • Behandeln Sie die Spezialfälle gesondert.


Können ANNs mit neuen Beispielen erneut trainiert werden?

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.




Last Update: 2012-10-14