El enfoque general es hacer un análisis estadístico tradicional en su conjunto de datos para definir un proceso aleatorio multidimensional que generará datos con las mismas características estadísticas. La virtud de este enfoque es que sus datos sintéticos son independientes de su modelo de ML, pero estadísticamente "cercanos" a sus datos. (ver abajo para discutir su alternativa)
En esencia, está estimando la distribución de probabilidad multivariada asociada con el proceso. Una vez que haya estimado la distribución, puede generar datos sintéticos a través del método Monte Carlo o métodos similares de muestreo repetido. Si sus datos se asemejan a alguna distribución paramétrica (por ejemplo, lognormal), este enfoque es sencillo y confiable. La parte difícil es estimar la dependencia entre variables. Ver: https://www.encyclopediaofmath.org/index.php/Multi-dimensional_statistical_analysis .
Si sus datos son irregulares, los métodos no paramétricos son más fáciles y probablemente más robustos. La estimación de densidad de kernel multivariante es un método accesible y atractivo para personas con antecedentes de LD. Para obtener una introducción general y enlaces a métodos específicos, consulte: https://en.wikipedia.org/wiki/Nonparametric_statistics .
Para validar que este proceso funcionó para usted, vuelva a realizar el proceso de aprendizaje automático con los datos sintetizados, y debería terminar con un modelo que sea bastante similar al original. Del mismo modo, si coloca los datos sintetizados en su modelo ML, debería obtener salidas que tengan una distribución similar a las salidas originales.
Por el contrario, está proponiendo esto:
[datos originales -> construir modelo de aprendizaje automático -> usar el modelo ml para generar datos sintéticos ... !!!]
Esto logra algo diferente al método que acabo de describir. Esto resolvería el problema inverso : "qué entradas podrían generar cualquier conjunto dado de salidas del modelo". A menos que su modelo ML esté sobreajustado a sus datos originales, estos datos sintetizados no se verán como sus datos originales en todos los aspectos, o incluso en la mayoría.
Considere un modelo de regresión lineal. El mismo modelo de regresión lineal puede tener un ajuste idéntico a los datos que tienen características muy diferentes. Una famosa demostración de esto es a través del cuarteto de Anscombe .
Aunque no tengo referencias, creo que este problema también puede surgir en la regresión logística, modelos lineales generalizados, SVM y agrupación de K-medias.
Hay algunos tipos de modelos ML (por ejemplo, árbol de decisión) en los que es posible invertirlos para generar datos sintéticos, aunque requiere algo de trabajo. Consulte: Generación de datos sintéticos para que coincidan con los patrones de minería de datos .
Existe un enfoque muy común para tratar con conjuntos de datos desequilibrados, llamado SMOTE, que genera muestras sintéticas de la clase minoritaria. Funciona perturbando muestras minoritarias utilizando las diferencias con sus vecinos (multiplicado por algún número aleatorio entre 0 y 1)
Aquí hay una cita del artículo original:
Puedes encontrar más información aquí .
fuente
El aumento de datos es el proceso de creación sintética de muestras basadas en datos existentes. Los datos existentes están ligeramente perturbados para generar datos nuevos que retienen muchas de las propiedades de datos originales. Por ejemplo, si los datos son imágenes. Los píxeles de la imagen se pueden intercambiar. Muchos ejemplos de técnicas de aumento de datos se pueden encontrar aquí .
fuente