Datenerweiterungstechniken für allgemeine Datensätze?

21

In vielen Anwendungen des maschinellen Lernens haben die sogenannten Datenerweiterungsmethoden die Erstellung besserer Modelle ermöglicht. Nehmen Sie zum Beispiel einen Trainingssatz mit Bildern von Katzen und Hunden an. Durch Drehen, Spiegeln, Anpassen des Kontrasts usw. ist es möglich, zusätzliche Bilder aus den Originalbildern zu generieren.100

Bei Bildern ist die Datenerweiterung relativ einfach. Angenommen, man hat (zum Beispiel) einen Trainingssatz von Stichproben und einige hundert stetige Variablen, die verschiedene Dinge darstellen. Die Datenerweiterung erscheint nicht mehr so ​​intuitiv. Was könnte in einem solchen Fall getan werden?100

mmh
quelle
2
Ich denke, dass einige Methoden wie PCA oder AE für die Datenerweiterung immer noch intuitiv sind. Die erste Methode ist, PCA anzuwenden und die ersten k Eigenwerte beizubehalten und die kn Eigenwerte zufällig aus einer Verteilung, einem Gaußschen Wert usw. zu setzen. Wenn die Anzahl der ausgeblendeten Einheiten in der Nähe der sichtbaren Einheiten liegt, kann es sich ziemlich gut konstruieren. Rekonstruierte Daten können als zusätzlicher Teil der Daten verwendet werden.
yasin.yazici
@mmh, hat das deine Frage beantwortet?
shf8888
@ yasin.yazici Hallo. Können Sie uns den Teil zur Datenerweiterung mit pca erklären? Angenommen, ich habe Daten von , wobei die Feature-Dimension ist. Jetzt mache ich PCA und finde, dass die ersten Top-Eigenvektoren ausreichen. Was soll ich in den nächsten Eigenvektoren tun und wie soll ich die Zufälligkeit einführen? 100x50503020
Roni
In meiner Masterarbeit, Seite 80, finden Sie eine Übersicht über die Datenerweiterungstechniken für Bilder.
Martin Thoma
Datenerweiterung ist für Bilder sehr sinnvoll, z. Ein gedrehtes Bild des Objekts ist immer noch ein Bild des Objekts, und Sie müssen das Modell belichten, aber vermutlich haben Sie ein solches Bild nicht unbedingt in Ihrem Datensatz. Wozu ist in diesem Fall eine Datenerweiterung erforderlich? Mir ist nicht klar, dass Sie dies tun sollten.
gung - Wiedereinsetzung von Monica

Antworten:

17

Ich verstehe diese Frage so, dass sie sowohl die Konstruktion von Features als auch den Umgang mit der Fülle von Features beinhaltet, die Sie bereits + konstruieren werden, relativ zu Ihren Beobachtungen ( N << P).

Funktionsaufbau

Nach dem Kommentar von @ yasin.yazici gibt es folgende Möglichkeiten, die Daten zu erweitern:

  • PCA
  • Automatische Kodierung
  • Transformationen wie Log, Kräfte usw.
  • Einteilung kontinuierlicher Variablen in diskrete Kategorien (dh die kontinuierliche Variable liegt 1 SD über dem Mittelwert, 1 unter dem Mittelwert usw.)
  • Zusammengesetzte Variablen (siehe hier )

Ich bin mir sicher, dass ich noch viel mehr vermisse.

Merkmalsauswahl / Dimensionsreduzierung

Sie können die Dimensionalität mit Techniken wie PCA reduzieren (obwohl dies möglicherweise nicht der Fall ist, nachdem Sie Ihre Daten mit PCA-Variablen erweitert haben). Alternativ können Sie Algorithmen verwenden, die die Featureauswahl für Sie durchführen, z. B. Lasso, zufällige Gesamtstruktur usw.

shf8888
quelle
2
Können Sie bitte sagen, wie die automatische Codierung für die Feature-Erstellung verwendet werden kann?
Roni
1
@roni Wenn Sie einen Autoencoder erfolgreich trainieren, werden die Daten auf einer höheren Abstraktionsebene dargestellt. Hoffentlich eine nützlichere Darstellung, die Sie in einem Klassifikator verwenden können.
Chris Anderson
0

Ich hatte ein ähnliches Problem, als ich unbeschriftete numerische Daten erweitern wollte. Ich habe die Daten folgendermaßen erweitert: (Angenommen, ich habe einen Datensatz mit der Größe 100 * 10.)

  1. Erstellen Sie eine Liste, indem Sie Werte aus {0,1} zufällig auswählen, sodass die Anzahl der Nullen kleiner als die Anzahl der Einsen ist. In diesem Fall beträgt der Anteil der Nullen 20%. Man wird also eine Liste von Nullen und Einsen mit einer Länge von 100 haben.
  2. Verwenden Sie diese Liste als abhängige Variable und übergeben Sie sie an smote, um weitere Datenpunkte zu generieren. (Hier würde smote Punkte an den Kanten erzeugen, die die Datenpunkte verbinden, die den Nullen in der erzeugten Liste entsprechen.)
  3. Wiederholen Sie diesen Vorgang, bis der Datensatz die erforderliche Größe aufweist.
Harshita Vemula
quelle
1
Bitte posten Sie keine identischen Antworten auf mehrere Themen. Wenn Sie wirklich der Meinung sind, dass dieselbe Antwort wie an anderer Stelle eine andere Frage vollständig beantwortet, kennzeichnen Sie diese Frage als Duplikat der ersten.
gung - Wiedereinsetzung von Monica