En muchos proyectos que realicé, las empresas, a pesar de tener ideas de negocios fantásticas de inteligencia artificial, muestran una tendencia a frustrarse lentamente cuando se dan cuenta de que no tienen suficientes datos …
Sin embargo, las soluciones sí ¡existe! El propósito de este artículo es presentarles brevemente algunos de ellos (los que se han demostrado eficaces en mi práctica) en lugar de enumerar todas las soluciones existentes.
El problema de la escasez de datos es muy importante ya que los datos son en el núcleo de cualquier proyecto de inteligencia artificial. El tamaño de un conjunto de datos es a menudo responsable de los malos resultados en los proyectos de LD.
La mayoría de las veces, los problemas relacionados con los datos son la razón principal por la que no se pueden realizar grandes proyectos de inteligencia artificial. En algunos proyectos, llega a la conclusión de que no hay datos relevantes o que el proceso de recopilación es demasiado difícil y lento.
Los modelos de aprendizaje automático supervisado se están utilizando con éxito para responder a una amplia gama de desafíos empresariales.
Sin embargo, estos modelos están hambrientos de datos, y su rendimiento depende en gran medida del tamaño de los datos de entrenamiento disponibles. En muchos casos, es difícil crear conjuntos de datos de capacitación que sean lo suficientemente grandes.
Otro problema que podría mencionar es que los analistas de proyectos tienden a subestimar la cantidad de datos necesarios para manejar los problemas comerciales comunes.
Me recuerdo luchando para recopilar grandes conjuntos de datos de entrenamiento. Es aún más complicado recopilar datos cuando se trabaja para una empresa grande.
¿Cuántos datos necesito?
Bueno, necesitas aproximadamente 10 veces más ejemplos que existen Grados de libertad en tu modelo. Cuanto más complejo sea el modelo, más propensos a sobrealimentar, pero eso puede evitarse con la validación. Sin embargo, se pueden usar muchos menos datos según el caso de uso.
Overfitting: se refiere a un modelo que modela los datos de entrenamiento demasiado bien. Ocurre cuando un modelo aprende el detalle y el ruido en los datos de entrenamiento en la medida en que impacta negativamente el rendimiento del modelo en datos nuevos.
También vale la pena discutir el problema del manejo de los valores faltantes en aprendizaje automático. Especialmente si el número de valores faltantes en aprendizaje automático en sus datos es lo suficientemente grande (por encima del 5%).
Una vez más, lidiar con los valores faltantes en aprendizaje automático dependerá de ciertos criterios de “éxito”. Además, estos criterios varían para diferentes conjuntos de datos e incluso para diferentes aplicaciones, como reconocimiento, segmentación, predicción y clasificación (dado el mismo conjunto de datos) incluso para diferentes aplicaciones (reconocimiento, segmentación, predicción, clasificación).
Es importante entender que no hay una manera perfecta de tratar los datos faltantes.
Existen diferentes soluciones, pero depende del tipo de problema: Análisis de series de tiempo, ML, Regresión, etc.
Cuando se trata de técnicas de predicción, deben usarse solo cuando los valores faltantes en aprendizaje automático no se observan completamente en aleatorias, y las variables que se eligieron para imputar tales valores perdidos tienen alguna relación con ellos, de lo contrario, podrían generar estimaciones imprecisas.
En general, se pueden utilizar diferentes algoritmos de aprendizaje automático para determinar los valores faltantes en aprendizaje automático. Esto funciona al convertir las características que faltan en las etiquetas y ahora usar columnas sin valores perdidos para predecir columnas con valores perdidos.
Según mi experiencia, se enfrentará a la falta de datos o datos faltantes en algún momento si decide cree una solución basada en IA, pero, afortunadamente, hay maneras de convertir ese menos en un plus.
¿Valores faltantes en aprendizaje automático?
Como se señaló anteriormente, es imposible estimar con precisión la cantidad mínima de datos requeridos para un proyecto de inteligencia artificial.
Obviamente, la naturaleza misma de su proyecto influirá significativamente en la cantidad de datos que necesitará. Por ejemplo, los textos, imágenes y videos generalmente requieren más datos.
Sin embargo, se deben considerar muchos otros factores para hacer una estimación precisa.
- Número de categorías a predecir
¿Cuál es el resultado esperado de su modelo? Básicamente, cuanto menor sea el número o la categoría, mejor. - Rendimiento del modelo
Si planea obtener un producto en producción, necesita más. Un pequeño conjunto de datos puede ser lo suficientemente bueno como una prueba de concepto, pero en producción, necesitará mucha más información.
En general, los pequeños conjuntos de datos requieren modelos que tienen poca complejidad (o alto sesgo ) para evitar el ajuste excesivo de del modelo a los datos.
Soluciones no técnicas
Antes de explorar soluciones técnicas, analicemos qué podemos hacer para mejorar su conjunto de datos.
Puede parecer obvio, pero antes de comenzar con la inteligencia artificial, intente obtener la mayor cantidad de datos posible desarrollando sus herramientas externas e internas teniendo en cuenta la recopilación de datos.
Si conoce las tareas que se espera que realice un algoritmo de aprendizaje automático, puede crear un mecanismo de recopilación de datos por adelantado.
Intente establecer una cultura de datos real dentro de su organización.
Para iniciar la ejecución de ML, puede confiar en datos de código abierto. Hay una gran cantidad de datos disponibles para el ML, y algunas compañías están listas para revelarla.
Si necesita datos externos para su proyecto, puede ser beneficioso formar asociaciones con otras organizaciones para obtener datos relevantes.
La formación de asociaciones obviamente le costará algún tiempo, pero los datos patentados obtenidos crearán una barrera natural para cualquier rival.
Cree una aplicación útil, regálala, use los datos
Otro enfoque que utilicé en mi proyecto anterior Era dar acceso a una aplicación en la nube a los clientes. Los datos que se incorporan a la aplicación se pueden utilizar para crear modelos de aprendizaje automático.
Mi cliente anterior construyó una aplicación para hospitales y la hizo gratuita. Gracias a ello, reunimos muchos datos y conseguimos crear un conjunto de datos único para nuestra solución ML. Realmente ayuda decirles a los clientes o inversionistas que usted ha creado su propio conjunto de datos único.
Conjuntos de datos pequeños
Basado en mi experiencia, algunos enfoques comunes que pueden ayudar a construir modelos predictivos a partir de pequeños datos los conjuntos son:
En general, cuanto más simple sea el algoritmo de aprendizaje automático, mejor aprenderá de los conjuntos de datos pequeños.
Desde una perspectiva de ML, los datos pequeños requieren modelos que tienen poca complejidad (o alto sesgo) para evitar el ajuste excesivo del modelo a los datos.
Noté que el algoritmo Naive Bayes se encuentra entre los clasificadores más simples y, como resultado, aprende notablemente bien de conjuntos de datos relativamente pequeños.
Métodos ingenuos de Bayes: el conjunto de algoritmos de aprendizaje supervisado basado en la aplicación del teorema de Bayes con el supuesto “ingenuo” de independencia condicional entre cada par de características dado el valor de la variable de clase.
También puede confiar en otros modelos lineales y árboles de decisión. De hecho, también pueden tener un rendimiento relativamente bueno en pequeños conjuntos de datos.
Básicamente, los modelos simples pueden aprender de conjuntos de datos pequeños mejor que los modelos más complicados (redes neuronales), ya que esencialmente están tratando de aprender menos.
Para conjuntos de datos muy pequeños los métodos bayesianos son generalmente los mejores en clase, aunque los resultados pueden ser sensibles a su elección de la anterior.
Creo que los clasificadores ingenuos de Bayes y la regresión de crestas son los mejores modelos predictivos.
Cuando se trata de conjuntos de datos pequeños se necesitan modelos que tengan pocos parámetros (baja complejidad) y / o un fuerte anterior.
También puede interpretar el “anterior” como una suposición que puede hacer sobre cómo se comportan los datos.
Existen muchas otras soluciones dependiendo de la naturaleza exacta de los problemas de su negocio y del tamaño de su conjunto de datos.
Transferencia de aprendizaje
Definición: un marco que aprovecha los datos o modelos relevantes existentes al construir un modelo de aprendizaje automático.
El aprendizaje por transferencia utiliza el conocimiento de una tarea aprendida para mejorar el desempeño en una tarea relacionada, generalmente reduciendo la cantidad de datos de entrenamiento requeridos.
Las técnicas de aprendizaje por transferencia son útiles porque permiten que los modelos hagan predicciones para un nuevo dominio o tarea (conocido como el dominio de destino) usando el conocimiento aprendido de otro conjunto de datos o modelos de aprendizaje automático existentes (el dominio de origen).
Las técnicas de aprendizaje de transferencia se deben considerar cuando no tiene suficientes datos de entrenamiento de objetivos, y la fuente y los dominios de destino tienen algunas similitudes, pero no son idénticos.
¡La combinación ingenua de modelos o conjuntos de datos diferentes no siempre funcionaría! Si los conjuntos de datos existentes son muy diferentes de los datos de destino, el nuevo aprendiz puede verse afectado negativamente por los datos o modelos existentes.
La transferencia de aprendizaje funciona bien cuando tiene otros conjuntos de datos que puede usar para inferir el conocimiento, pero qué sucede cuando ¿No tienes ningún dato?.
Aquí es donde la generación de datos puede desempeñar un papel. Se usa cuando no hay datos disponibles o cuando necesita crear más datos de los que podría acumular incluso a través de la agregación.
En este caso, la pequeña cantidad de datos que existe se modifica para crear variaciones en esos datos para capacitar al modelo.
Por ejemplo, muchas imágenes de un automóvil pueden generarse recortando y reduciendo el tamaño de una sola imagen de un automóvil.
Desafortunadamente, los valores faltantes en aprendizaje automáticos de calidad es también uno de los mayores desafíos que enfrentan los equipos de ciencia de datos, pero al usar técnicas, como el aprendizaje por transferencia y la generación de datos, es posible superar la escasez de datos.
Otra aplicación común del aprendizaje por transferencia es capacitar modelos en conjuntos de datos de clientes cruzados para superar los problemas de arranque en frío.
Noté que las compañías de SaaS a menudo tienen que lidiar con esto cuando incorporan nuevos clientes a sus productos ML.
De hecho, hasta que el nuevo cliente haya recopilado datos suficientes para lograr un buen rendimiento del modelo (que podría tardar varios meses), es difícil proporcionar valor.
Aumento de datos
El aumento de datos significa aumentar el número de puntos de datos. En mi último proyecto, usamos técnicas de aumento de datos para aumentar la cantidad de imágenes en nuestro conjunto de datos.
En términos de datos de formato de fila / columna tradicional, significa aumentar el número de filas u objetos.
No tuvimos más remedio que confiar en el aumento de datos por dos razones: tiempo y precisión. Cada proceso de recolección de datos está asociado con un costo. Este costo puede ser en términos de dólares, esfuerzo humano, recursos computacionales y, por supuesto, tiempo consumido en el proceso.
Como consecuencia, tuvimos que aumentar los datos existentes para aumentar el tamaño de los datos. que alimentamos a nuestros clasificadores de ML y para compensar el costo involucrado en la recopilación de datos adicionales.
Hay muchas maneras de aumentar los datos.
En nuestro caso, puede rotar la imagen original, cambiar las condiciones de iluminación, recortarla de manera diferente, por lo que para una imagen puede generar diferentes submuestras. De esta manera, puede reducir el ajuste excesivo de su clasificador.
Sin embargo, si está generando datos artificiales utilizando métodos de muestreo excesivo, como SMOTE, existe la posibilidad de que presente un ajuste excesivo.
Overfitting: Un modelo sobre ajustado es un modelo con una línea de tendencia que refleja los errores en los datos con los que se entrena, en lugar de predecir con precisión los datos invisibles.
Esto es algo que debe tener en cuenta al desarrollar su solución de AI.
Datos sintéticos
Datos sintéticos significa datos falsos que contienen el mismo esquema y propiedades estadísticas que su ” real “contraparte. Básicamente, parece tan real que es casi imposible decir que no lo es.
Entonces, ¿cuál es el punto de los datos sintéticos y por qué importa si ya tenemos acceso a la cosa real?
se aplicaron datos sintéticos, especialmente cuando tratábamos con datos privados (banca, salud, etc.), lo que hace que el uso de datos sintéticos sea un enfoque más seguro para el desarrollo en ciertos casos.
Los datos sintéticos se usan principalmente cuando hay no hay suficientes datos reales, o no hay suficientes datos reales para patrones específicos que conozca. Su uso es principalmente el mismo para el entrenamiento y la prueba de datos.
La técnica de sobre muestreo de minorías sintéticas (SMOTE) y SMOTE modificado son dos técnicas que generan datos sintéticos.
En pocas palabras, SMOTE toma los puntos de datos de la clase minoritaria y crea nuevos puntos de datos que se encuentran entre cualquiera de los dos puntos de datos más cercanos unidos por una línea recta.
El algoritmo calcula la distancia entre dos puntos de datos en el espacio de características, multiplica la distancia por un número aleatorio entre 0 y 1, y coloca el nuevo punto de datos a esta nueva distancia desde uno de los puntos de datos utilizados para el cálculo de la distancia.
Para generar datos sintéticos, debe usar un conjunto de entrenamiento para definir un modelo , lo que requeriría validación, y luego al cambiar los parámetros de interés, puede generar datos sintéticos, a través de la simulación. El tipo de dominio / datos es significativo ya que afecta a la complejidad de todo el proceso.
En mi opinión, preguntarte si tienes suficientes datos revelará inconsistencias que probablemente nunca hayas visto antes. Le ayudará a resaltar los problemas en sus procesos de negocios que usted pensó que eran perfectos y le hará comprender por qué es la clave para crear una estrategia de datos exitosa dentro de su organización.