Comment générer un ensemble de données synthétique à l'aide d'un modèle d'apprentissage automatique appris avec un ensemble de données original?


19

Généralement, le modèle d'apprentissage automatique est construit sur des ensembles de données. Je voudrais savoir s'il existe un moyen de générer un ensemble de données synthétique en utilisant un tel modèle d'apprentissage automatique formé en préservant les caractéristiques originales de l'ensemble de données?

[données originales -> construire un modèle d'apprentissage automatique -> utiliser le modèle ml pour générer des données synthétiques .... !!!]

C'est possible ? Veuillez me diriger vers une ressource connexe si possible.

Réponses:


27

L'approche générale consiste à effectuer une analyse statistique traditionnelle sur votre ensemble de données pour définir un processus aléatoire multidimensionnel qui générera des données avec les mêmes caractéristiques statistiques. La vertu de cette approche est que vos données synthétiques sont indépendantes de votre modèle ML, mais statistiquement "proches" de vos données. (voir ci-dessous pour une discussion sur votre alternative)

Essentiellement, vous estimez la distribution de probabilité multivariée associée au processus. Une fois que vous avez estimé la distribution, vous pouvez générer des données synthétiques via la méthode de Monte Carlo ou des méthodes d'échantillonnage répétées similaires. Si vos données ressemblent à une distribution paramétrique (par exemple, lognormale), cette approche est simple et fiable. La partie délicate consiste à estimer la dépendance entre les variables. Voir: https://www.encyclopediaofmath.org/index.php/Multi-dimensional_statistical_analysis .

Si vos données sont irrégulières, les méthodes non paramétriques sont plus faciles et probablement plus robustes. L'estimation multivariée de la densité maternelle est une méthode accessible et attrayante pour les personnes ayant des antécédents ML. Pour une introduction générale et des liens vers des méthodes spécifiques, voir: https://en.wikipedia.org/wiki/Nonparametric_statistics .

Pour valider que ce processus a fonctionné pour vous, vous recommencez le processus d'apprentissage automatique avec les données synthétisées et vous devriez vous retrouver avec un modèle assez proche de votre original. De même, si vous placez les données synthétisées dans votre modèle ML, vous devriez obtenir des sorties qui ont une distribution similaire à vos sorties d'origine.

En revanche, vous proposez ceci:

[données originales -> construire un modèle d'apprentissage automatique -> utiliser le modèle ml pour générer des données synthétiques .... !!!]

Cela accomplit quelque chose de différent de la méthode que je viens de décrire. Cela résoudrait le problème inverse : "quelles entrées pourraient générer un ensemble donné de sorties de modèle". À moins que votre modèle ML ne soit trop adapté à vos données d'origine, ces données synthétisées ne ressembleront pas à vos données d'origine à tous égards, ni même à la plupart.

Prenons un modèle de régression linéaire. Le même modèle de régression linéaire peut avoir un ajustement identique aux données qui ont des caractéristiques très différentes. Une démonstration célèbre de cela est à travers le quatuor d'Anscombe .

Les quatre ensembles sont identiques lorsqu'ils sont examinés à l'aide de statistiques sommaires simples, mais varient considérablement lorsqu'ils sont représentés graphiquement

Pensant que je n'ai pas de références, je pense que ce problème peut également survenir dans la régression logistique, les modèles linéaires généralisés, SVM et le clustering K-means.

Il existe certains types de modèles ML (par exemple, l'arbre de décision) où il est possible de les inverser pour générer des données synthétiques, bien que cela demande un peu de travail. Voir: Génération de données synthétiques pour correspondre aux modèles d'exploration de données .


il est temps de lire plus sur Monte-Carlo et l'analyse statistique multidimensionnelle ... merci pour la gentille explication .. !!!
hadooper

2

Il existe une approche très courante pour traiter les ensembles de données déséquilibrés, appelés SMOTE, qui génèrent des échantillons synthétiques de la classe minoritaire. Il fonctionne en perturbant les échantillons minoritaires en utilisant les différences avec ses voisins (multiplié par un nombre aléatoire entre 0 et 1)

Voici une citation du papier original:

Les échantillons synthétiques sont générés de la manière suivante: Prenez la différence entre le vecteur caractéristique (échantillon) considéré et son voisin le plus proche. Multipliez cette différence par un nombre aléatoire compris entre 0 et 1 et ajoutez-le au vecteur d'entité considéré.

Vous pouvez trouver plus d'informations ici .


1

L'augmentation des données est le processus de création synthétique d'échantillons à partir de données existantes. Les données existantes sont légèrement perturbées pour générer de nouvelles données qui conservent bon nombre des propriétés de données d'origine. Par exemple, si les données sont des images. Les pixels de l'image peuvent être échangés. De nombreux exemples de techniques d'augmentation des données peuvent être trouvés ici .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.