Frage


Ich bin mit einem Feed-foward neuronale Netz in Python mit der pybrain Implementierung. Für die Ausbildung, werde ich die Backpropagation-Algorithmus verwendet werden. Ich weiß, dass mit den neuronalen Netzen, wir genau die richtige Menge von Daten haben, um brauchen nicht unter / das Netzwerk über trainieren. Ich konnte über 1200 verschiedene Vorlagen erhalten Daten für die Datensätze zu trainieren.
Also hier ist die Frage:
Wie berechne ich die optimale Menge an Daten für meine Ausbildung?
Da ich mit 500 Stück im Datensatz versucht habe und es dauerte viele Stunden Converge, würde ich es vorziehen, nicht zu viele Größen zu haben, um zu versuchen. Die Ergebnisse sind wir recht gut mit dieser letzten Größe, aber ich mag die optimale Menge zu finden. Das neuronale Netz weist etwa 7 Eingänge, 3 verborgene Knoten und einen Ausgang.

War es hilfreich?

Lösung

  

Wie berechne ich die optimale Menge   von Daten für meine Ausbildung?

Es ist völlig lösungsabhängig. Es gibt auch ein bisschen Kunst mit der Wissenschaft. Der einzige Weg, zu wissen, wenn Sie in ein Gebiet ist regelmäßig Überanpassung Ihr Netzwerk vor einer Reihe von Validierungsdaten Testen werden (die Daten, die Sie tun nicht Zug mit). Wenn Leistung auf diesem Satz von Daten zu fallen beginnt, haben Sie wahrscheinlich zu weit trainiert -. Rolle zurück zur letzten Iteration

  

Die Ergebnisse waren ziemlich gut mit diesem   letzte Größe, aber ich finden möchte   optimale Menge.

"Optimal" ist nicht unbedingt möglich; es hängt auch von Ihrer Definition. Was sind Sie in der Regel suchen, ist ein hohes Maß an Vertrauen, dass eine gegebene Menge von Gewichten wird „gut“ auf unsichtbaren Daten durchführen. Das ist die Idee hinter einem Validierungssatz.

Andere Tipps

Die Vielfalt des Datensatzes ist viel wichtiger als die Menge an Proben, die Sie an das Netz einspeisen.

Sie sollten Ihre Datenmenge anpassen aufzunehmen und zu verstärken die Daten, die Sie das Netzwerk lernen wollen.

Nachdem Sie diese benutzerdefinierten Daten-Set gefertigt hat, müssen Sie mit der Menge an Proben anfangen zu spielen, da es völlig abhängig von Ihrem Problem.

Zum Beispiel: Wenn Sie ein neuronales Netz bauen die Spitzen eines bestimmten Signals zu erfassen, wäre es völlig nutzlos Ihr Netzwerk mit zig Proben von Signalen zu trainieren, die Spitzen nicht haben. Dort liegt die Bedeutung Ihrer Trainingsdaten, egal von Customizing, wie viele Beispiele, die Sie haben.

Aus technischen Sicht im allgemeinen Fall gesprochen, und vorausgesetzt, alle Beispiele korrekt sind, dann weitere Beispiele sind immer besser. Die Frage ist wirklich, was ist die marginale Verbesserung (erste Ableitung der Antwort-Qualität)?

Sie können dies testen, indem sie sie mit 10 Beispielen Ausbildung, Prüfung Qualität (95% sagen), dann 20, und so weiter, einen Tisch zu bekommen wie:

10 95%
20 96%
30 96.5%
40 96.55%
50 96.56%

Sie können dann deutlich sehen Ihre marginale Gewinne und Ihre Entscheidung entsprechend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top