2016-05-17 9 views
0

Gibt es einen gültigen Ansatz, um aus vorhandenen Trainingsdaten neue Trainingsdaten zu generieren? Ich stelle diese Frage nur im Hinblick auf mein Lernproblem nicht in einem allgemeinen Zusammenhang.Gültiger Ansatz zum Generieren neuer Trainingsdaten aus einigen vorhandenen Trainingsdaten

Mein Lernproblem besteht darin, die 6-dimensionalen Beschleunigungs- und Gyroskopdaten (die Daten stammen von einem am Handgelenk des Benutzers befestigten Sensor, während er versucht, einige Buchstaben in die Luft zu schreiben) in die entsprechenden Buchstaben A bis Z umzuwandeln.

ich habe nur 10 Beispieldaten für jedes Zeichen so insgesamt 260 Trainings instances.For Beispiel die folgenden Bilder auf 2 Beispieldaten für Zeichen „F“ enter image description here enter image description here verwandt sind auch ich viele Beispieldaten haben, während Benutzer tun nicht bewegt seine Hand und warten auf den nächsten Charakter zu schreiben, aber wegen der Hand spontan und zufällige Bewegung noch haben wir einige Muster von Daten, obwohl im Vergleich zu m y 260 Trainingsdaten sie sind flach und sie können von einem Benutzer zu einem anderen unterscheiden können Sie es in der folgenden Abbildung sehen. enter image description here können wir sagen auch, dass jede Datentrainingsprobe einige, wie eine Mischung aus einer idealen Handbewegung für den Charakter zu schreiben + diese spontane und zufällige Bewegung von Hand (so etwas wie Geräusch)

Ich möchte es wissen, ob ist egal wie ich neue Trainingsdaten generieren kann. Vielleicht kann ich mein aktuelles Training und die Daten aus der Zeit kombinieren, wenn der Benutzer seine Hand nicht bewegt, um neue Trainingsdaten zu generieren. Vielleicht kann man sagen, dass es keine Notwendigkeit gibt, neue Trainingsdaten zu generieren und ich kann einfach nur meine 10 Beispieldaten für jedes Zeichen weiterleiten, dann zum Beispiel den k-NN-Algorithmus verwenden, um die nächsten Nachbarn zu finden (was ich gemacht habe und vielversprechend aussieht, z Beispiel in der folgenden Abbildung können Sie die Entfernung, die mit DTW von einem unsichtbaren A-Zeichen aus meinen alle 260 Beispieldaten berechnet wird, sehen, so dass keine zusätzlichen Trainingsdaten erforderlich sind. enter image description here

Dank

Antwort

0

Sie können sicherlich neue Datenpunkte erzeugen, aber es wird alle nützlichen Informationen zu einem Modell aus dem ursprünglichen Datensatz gebaut hinzufügen. Die Standardmaschine, die für dieses Problem lernt, wäre, einen Teil der Daten, sagen wir 80%, zu nehmen und ein Modell darum zu bauen. Die restlichen 20% würden weggelassen werden, und stattdessen würde Kreuz validieren das Modell verwendet werden. Die verbleibenden Stichprobendaten wären ein Lackmustest dafür, wie gut das Modell reales Verhalten vorhersagt. In gewissem Sinne würde die 20% ige Stichprobe wie neue Daten wirken, da das Modell sie nie gesehen hat.

0

Was Sie zu tun ist Ihren kleinen Datensatz ungesehen Daten von

1- adding noise to your data 
2- regularising your data in your model 
3- using dropouts as in neural network models which is some kind of regularization. 
4- considering uncertainty by using some models like Gaussian processes. 

Meiner Meinung nach, zu verallgemeinern, wenn Sie in der Lage sind, mehr Daten zu erzeugen, die viel besser sind, weil es nicht nur der Fall ist, dass Jedes Sample ist eine verrauschte Version eines anderen Samples, aber auch Leute könnten die Dinge anders machen.

Ich schlage vor:

1- trying to generate more data yourself. 
2- searching for accessible datasets online 
3- in case there are some papers on the topic you can send a kind email and ask for their data.