22 votos

¿Cuáles son las técnicas de aumento de datos matemáticamente rigurosas?

Imagine que tiene un conjunto de datos de 1000 observaciones. Para mantener las cosas intuitivas imagina que son coordenadas (x,y). Son temporalmente independientes, por lo que hace que sea más fácil.

Te gustaría tener un millón de observaciones, pero sólo tienes 1000. Cómo deberías generar un millón de observaciones simuladas?

¿Hay alguna prueba que describa la forma matemáticamente más precisa de hacerlo?

Quieres ser fiel a tu conjunto de datos original. ¿Cómo hacerlo sin añadir tu propio sesgo?

Se trata de un problema sencillo y general. Pero no sé si es trivial. Parece que debería serlo.

36voto

throwaway Puntos 18

La razón por la que "desearías tener un millón de observaciones" suele ser que quieres utilizar los datos para inferir algo que aún no sabes. Por ejemplo, para ajustar un modelo o hacer predicciones. En este contexto, el desigualdad en el tratamiento de datos implica que, por desgracia, simular datos adicionales es menos útil de lo que cabría esperar (pero esto no significa que sea inútil).

Para ser más concretos $Y$ sea un vector aleatorio que represente cantidades desconocidas sobre las que nos gustaría aprender, y que $X$ sea un vector aleatorio que represente los datos. Supongamos ahora que simulamos nuevos datos utilizando el conocimiento aprendido de los datos originales. Por ejemplo, podríamos ajustar una distribución de probabilidad a los datos originales y, a continuación, muestrear a partir de ella. Sea $\tilde{X}$ sea un vector aleatorio que represente los datos simulados, y $Z = [X, \tilde{X}]$ representan el conjunto de datos aumentado. Dado que $Z$ se generó a partir de $X$ tenemos que $Z$ y $Y$ son condicionalmente independientes, dado $X$ . Es decir:

$$p(x,y,z) = p(x,y) p(z \mid x)$$

Según la desigualdad en el tratamiento de datos, la información mutua entre $Z$ y $Y$ no puede ser superior al comprendido entre $X$ y $Y$ :

$$I(Z; Y) \le I(X; Y)$$

Desde $Z$ contiene $X$ En realidad, se trata de una igualdad. En cualquier caso, esto significa que, independientemente de cómo tratemos los datos (incluso utilizándolos para simular nuevos datos), es imposible obtener información adicional sobre la cantidad que nos interesa (aparte de la que ya contienen los datos originales).

Pero hay una advertencia interesante. Tenga en cuenta que el resultado anterior se mantiene cuando $\tilde{X}$ se genera en función de $X$ . Si $\tilde{X}$ también se basa en alguna fuente externa $S$ entonces puede ser posible obtener información adicional sobre $Y$ (si $S$ contiene esta información).

Teniendo en cuenta lo anterior, es interesante observar que el aumento de datos puede funcionar bien en la práctica. Por ejemplo, como mencionó Haitao Du, cuando se entrena un clasificador de imágenes, a veces se utilizan copias transformadas aleatoriamente de las imágenes de entrenamiento (por ejemplo, traslaciones, reflejos y distorsiones diversas). Esto anima al algoritmo de aprendizaje a encontrar un clasificador que sea invariable a estas transformaciones, aumentando así el rendimiento. ¿Por qué funciona? Esencialmente, estamos introduciendo un sesgo inductivo útil (similar en efecto a una prioridad bayesiana). Sabemos que a priori que la función verdadera debe ser invariante, y las imágenes aumentadas son una forma de imponer este conocimiento. Desde otra perspectiva, esta a priori el conocimiento es la fuente adicional $S$ que he mencionado antes.

9voto

David Puntos 41

¿Existe alguna prueba que describa la forma matemáticamente más precisa de hacerlo?

Cualquier transformación tendría algo de matemática detrás.

Sin embargo, creo que el aumento de los datos de imagen dependería del caso de uso específico / del conocimiento del dominio en un campo concreto.

Por ejemplo, si queremos detectar un perro o un gato, podemos voltear las imágenes para aumentarlas. Esto se debe a que sabemos que un perro al revés sigue siendo un perro. Por otro lado, si queremos reconocer dígitos, dar la vuelta a las imágenes puede no ser una buena solución, porque 6 y 9 son dígitos diferentes.

En otros ámbitos, por ejemplo la visión por ordenador de imágenes médicas, no sé si la inversión/espejo de imágenes será posible desde la radiografía de tórax.

Por lo tanto, es específico de un ámbito y no puede ser captado por un modelo matemático general.

2voto

Kate YAN Puntos 13

La pregunta es: ¿por qué quieres aumentar los datos?

Por supuesto, más datos es mejor, pero su conjunto de datos aumentados es redundante: su millón de puntos de datos aumentados no son tan buenos como un millón de puntos de datos reales.

Una forma alternativa de pensar en el aumento de datos es en términos de enseñanza de invarianzas. Por ejemplo, las CNN de aprendizaje profundo son invariantes traslacionales, lo que es bueno para el reconocimiento de imágenes. Por desgracia, nos gustaría que también fueran invariantes a las rotaciones (un gato inclinado sigue siendo un gato), lo que no es fácil de hacer dentro de la arquitectura.

En resumen: el aumento de datos es una forma de crear un modelo que sea aproximadamente invariante con respecto a un conjunto de transformaciones cuando no se puede forzar esa invariancia en otra parte (ya sean las características o el modelo).

Respondiendo a su pregunta, la única forma de determinar los procedimientos válidos de aumento de datos es aplicar el conocimiento del dominio. ¿Cómo pueden perturbarse o modificarse sus puntos de datos sin cambiarlos sustancialmente? ¿Qué quiere que su modelo aprenda a ignorar?

Permítanme demostrar que no hay una manera general, y no puede haber una. Consideremos el caso de predecir la posición de un objeto a $t=1$ dado que su $(x, y)$ son las posiciones iniciales. Un esquema lógico de aumento de datos sería desplazar los puntos microscópicamente, seguramente acabarán casi en la misma posición, ¿no? Pero si el sistema es caótico (por ejemplo, un péndulo doble), las desviaciones microscópicas producirían trayectorias exponencialmente divergentes. ¿Qué aumento de datos puedes aplicar ahí? Tal vez perturbaciones de los puntos que se encuentran en grandes cuencas de atracción. Eso sesgaría los datos, ya que tendríamos menos muestras para los regímenes caóticos (¡lo cual no es necesariamente malo!). En cualquier caso, cualquier esquema de perturbación que se te ocurra será el resultado de un análisis cuidadoso del problema en cuestión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X