nbsynthetic : Eine einfache und robuste unüberwachte Synthetic Tabular Data Generation Python-Bibliothek
NextBrain.ai präsentiert nbsynthetic, ein Open-Source-Projekt, das eine einfache und stabile Lösung für die unüberwachte synthetische tabellarische Datenproduktion mithilfe einer Generative Adversarial Network (GAN)-Architektur basierend auf Keras bietet.
Entwickelt für Einfachheit und Robustheit nutzt nbsynthetic eine unkomplizierte und stabile unüberwachte GAN-Architektur, die mit Keras erstellt wurde. Die spezifische Hyperparameteranpassung sorgt für Trainingsstabilität und minimiert gleichzeitig die Berechnungskosten.
Vorteile von nbsynthetic
- Keine vorab definierte Zielvorgabe erforderlich: Als unüberwachtes Architektur eliminiert nbsynthetic die Notwendigkeit für Benutzer, ein vorab definiertes Ziel zu haben.
- Ideal für kleine Datensätze: Es ist in erster Linie für kleine Datensätze gedacht, die sowohl kontinuierliche als auch kategoriale Merkmale enthalten.
- CPU-Kompatibilität: Aufgrund seiner Einfachheit können die Modelle auf einer CPU ausgeführt werden.
- Bequeme Datenaufbereitung: Die Bibliothek enthält Module zur schnellen Eingabedatenaufbereitung und Feature Engineering.
- Statistische Tests und Vergleich: nbsynthetic bietet Module zum Durchführen statistischer Tests und zum Vergleichen von realen und synthetischen Daten mithilfe des Maximum Mean Discrepancy (MMD) statistischen Tests. Dieser Test misst die Distanz zwischen den Mittelwerten von zwei Proben, die in einen reproduzierenden Kernhilbertraum (RKHS) abgebildet werden.
- Plotting-Utilities: Plotting-Utilities sind enthalten, um die Wahrscheinlichkeitsverteilungen der originalen und synthetischen Daten zu vergleichen.
Die Bedeutung der tabellarischen synthetischen Datengenerierung Während die Generierung synthetischer Daten in Anwendungen wie Bild- und Sprachgenerierung an Popularität gewonnen hat, war die Entwicklung synthetischer tabellarischer Daten weniger ehrgeizig. Dennoch sind tabellarische Daten die häufigste Art von Daten weltweit und haben erhebliche Auswirkungen auf Branchen wie autonome Fahrzeuge, Gesundheitswesen und Finanzdienstleistungen. Synthetische tabellarische Daten können Datenschutzbedenken im Gesundheitswesen adressieren, synthetische genomische Datensätze simulieren und Forschungsprojekte, die Patientendaten beinhalten, erleichtern.
Die Befähigung von Tabellenkalkulationsbenutzern: Jeden Tag nutzen fast 700 Millionen Menschen Tabellenkalkulationen, um mit kleinen Proben von tabellarischen Daten zu arbeiten. Diese Datensätze werden jedoch oft als von schlechter Qualität angesehen, da sie unvollständig sind oder an statistischer Signifikanz fehlen. Machine Learning-Techniken, wie GANs, können wertvolle Einblicke und Entscheidungsfähigkeiten für solche Anwendungen bieten. Leider konzentrieren sich aktuelle ML-Fortschritte hauptsächlich auf große Datensätze, wodurch eine erhebliche Anzahl potenzieller Benutzer, die mit kleinen Datensätzen arbeiten, ausgeschlossen wird. Darüber hinaus ist die Zuverlässigkeit von ML-Algorithmen, die auf Daten mit kleiner Stichprobengröße angewendet werden, ein Anliegen in der modernen Statistik.
Ein neuer tabellarischer GAN
Die Grenzen von GANs angehen: Die Kerntechnologie hinter nbsynthetic ist das Generative Adversarial Network (GAN). GANs bestehen aus zwei neuronalen Netzwerken, dem Generator und dem Diskriminator, die gegeneinander konkurrieren. Das gleichzeitige Training beider Modelle kann zu Instabilität und Modus-Kollaps führen. Um diese Probleme anzugehen, verwendet nbsynthetic einen nicht-konditionalen GAN-Ansatz. Diese Konfiguration ist sehr vielseitig für aktive Tabellenkalkulationsbenutzer, die möglicherweise Vorhersagen zu verschiedenen Merkmalen treffen möchten.
Bau eines einfachen und robusten GAN mit nbsynthetic Um ein einfaches und robustes unüberwachtes GAN sicherzustellen, berücksichtigt nbsynthetic die folgenden Überlegungen:
- Initialisierung: Zufällige Gewichtinitialisierung und Batch Normalization werden verwendet, um die Symmetrie zu brechen und das Lernen zu stabilisieren.
- Konvergenz: Anstelle von Convolutional Nets verwendet nbsynthetic eine einfache und dichte Architektur, die für tabellarische Daten mit kleiner Stichprobengröße geeignet ist.
- Aktivierungsfunktionen: LeakyReLU wird für sowohl das Generator- als auch das Diskriminator-Sequenzmodell verwendet. Eine tanh-Aktivierungsfunktion wird für den Generator verwendet, während der Diskriminator eine Sigmoid-Funktion nutzt.
- Optimierung: Stochastischer Gradientabstieg mit dem Adam-Optimizer wird eingesetzt, mit einer kleinen Lernrate und einem reduzierten Momentum-Term zur Verbesserung der Stabilität.
- Geräuschinjektion: Geräuschinjektion mit einem zufälligen Vektor fester Länge
Sie können die Bibliothek auf Github finden hier.
Sie können auch eine sehr verständliche Beschreibung der Bibliothek finden hier.