Ich suche nach relativ einfachen Datensätzen zum Testen und Vergleichen verschiedener Trainingsmethoden für künstliche neuronale Netzwerke. Ich möchte, dass Daten, die nicht zu viel Vorverarbeitung benötigen, in ein Eingabeformat einer Liste von Ein- und Ausgängen umgewandelt werden (normalisiert auf 0-1). Alle Links werden geschätzt.
Warum nicht einfach etwas wie die Sünde als Trainingsdaten versuchen? Da Sie die Trainingsmethoden vergleichen und sich nicht wirklich darum kümmern, wofür Sie das Netzwerk trainieren, sollte es funktionieren und die Trainingsdaten einfach zu generieren sein.
Trainieren Sie das Netzwerk mit sin (x), wobei x die Eingabe und die Ausgabe der Wert der Funktion ist. Ein zusätzlicher Vorteil in Ihrem Fall ist, dass der absolute Wert des Ergebnisses bereits im Bereich 0-1 liegt. Es würde auch mit anderen mathematischen Funktionen funktionieren.
https://archive.ics.uci.edu/ml ist das Repository für maschinelles Lernen der University of California Irvine. Es ist eine wirklich großartige Ressource, und ich glaube, dass sie sich alle in CSV-Dateien befinden.
Einige Ressourcen sind
Die sinC-Funktion.
+----
| sin(x)
| ------- when x != 0
| x
sinC = |
|
| 1 otherwise
+----
Die Funktion sin(x)
wird von @adrianbanks mitgeteilt.
Zum Testen einiger neuer Modifikationen an einigen Algorithmen die guten alten n-Paritätstests.
Der Iris-Datensatz, der Halbzeiger-Handschrift-Datensatz usw., andere Funktionen und vieles mehr.
Das UCI Machine Learning Repository: archive.ics.uci.edu/ml/datasets.html
Ich denke nicht, dass Sie damit viel Vorverarbeitung benötigen. Wie bei kategorialen Variablen können Sie sie schnell mit einem GUI-Texteditor durch binäre ersetzen. Zum Beispiel hat das Abalone -Datensatz ein kategoriales Attribut, das Geschlecht, das drei Werte "M" für Männer, "F" für Frauen und "I" für Kleinkinder aufweist. Sie können in Ihrem Texteditor Strg + R drücken und alle Vorkommen von "M" durch 1,0,0
, alle Vorkommen von "F" mit 0,1,0
und alle Vorkommen von "I" durch 0,0,1
ersetzen (da die Datei im CSV-Format vorliegt). Dadurch werden die kategorialen Variablen schnell ersetzt.
Wenn Sie sich in R befinden, können Sie die normalizeData
-Funktion verwenden, die mit dem RSNNS-Paket geliefert wird, um Ihre Daten in 0 und 1 zu skalieren und zu normalisieren.
Wenn Sie sich in einer anderen Umgebung wie octave oder matlab befinden, können Sie einfach etwas Zeit investieren, um Ihren Code zu schreiben. Mir sind die verfügbaren Funktionen in diesen Umgebungen nicht bekannt. Ich verwende meinen Code zum Skalieren und/oder Normalisieren der Daten.
Wenn Sie Funktionen verwenden, wird Ihre Arbeit erheblich vereinfacht. Wenn Sie die Daten vorbereitet haben, speichern Sie die geänderten Daten in einer Datei.
Erinnern Sie sich an eines: Das Ziel des Trainings eines neuronalen Netzwerks besteht nicht darin, das Netzwerk so zu trainieren, dass es bei einem bestimmten Trainingssatz gut funktioniert. Das Hauptziel besteht darin, das Netzwerk so zu trainieren, dass es den besten Fehler für neue Daten hat, die das Netzwerk nicht (direkt oder indirekt) gesehen hat.
http://neuroph.sourceforge.net/sample_projects.html Es gibt viele Beispielprojekte und bekannte Daten.
Hier sind einige Handschriften- und andere Datenbanken für Schulungszwecke.
http://www.cs.nyu.edu/~roweis/data.html
Als interessante Randnotiz beging ~ roweis 2010 Selbstmord, nachdem er mit seiner Frau gekämpft hatte: http://www.huffingtonpost.com/2010/01/14/sam-roweis-nyu-professor-_n_421500.html .
Ich lernte ANNs als Student, indem ich sie zur Durchführung von OCR (Optical Character Recognition) einsetzte. Ich denke, das ist ein schöner Anwendungsfall.
Scannen Sie zwei Textseiten, extrahieren Sie die Buchstaben und bilden Sie Trainings-/Testdatensätze (z. B. 8 x 8 Pixel führt zu 64 Eingabeknoten), beschriften Sie die Daten. Trainieren Sie das ANN und erhalten Sie mithilfe des Testdatensatzes eine Punktzahl. Ändern Sie die Netzwerktopologie/-parameter und passen Sie das Netzwerk an, um die beste Punktzahl zu erhalten.
Einige interessante Datensätze von NLP, NER bis Image Classification, Bounding finden Sie hier: https://dataturks.com/projects/trending