Cómo Iniciar Un Proyecto De Aprendizaje Automático

Cómo Iniciar Un Proyecto De Aprendizaje Automático

Jul 17, 2020 8 minutes read

Una guía paso a paso para hacer un proyecto de aprendizaje automático


En un artículo anterior, discutimos mucho sobre lo que es el aprendizaje automático, cómo funciona el aprendizaje automático y ejemplos de la implementación del aprendizaje automático. Si eres nuevo en el aprendizaje automático podrías preguntarte, ¿cómo se inicia un proyecto de aprendizaje automático?

Esto puede ser experimentado por muchas personas, incluido yo. Leí muchos libros pero todavía estaba confundido sobre dónde empezar. Descubrí que la mejor manera de aprender a iniciar un proyecto de aprendizaje automático es diseñando y completando proyectos pequeños. Porque para ser grandes, tenemos que empezar en pequeño. Pero el proceso puede ser diferente para cada persona.

En este artículo, compartiré varias etapas para trabajar en un proyecto de aprendizaje automático basado en la experiencia que tengo.

Comprensión del problema



La etapa inicial para iniciar un proyecto es saber qué problemas vamos a resolver. Esto se aplica a cualquier proyecto, incluyendo el proyecto de aprendizaje automático. Por supuesto, todo comienza con un problema, porque si no hay problemas, no hay nada que resolver.
Debemos determinar el problema que vamos a resolver. Por ejemplo, queremos saber el sentimiento de la opinión de los usuarios sobre un producto en los medios sociales en tiempo real. Pero debido a la gran cantidad de opiniones que existen, es imposible que los humanos lo hagan por completo.

Entonces también determinamos el objetivo. A partir de eso, podemos determinar que el objetivo es crear un sistema de aprendizaje automático para clasificar las opiniones de los usuarios (análisis de sentimientos) en tiempo real y también predecir el sentimiento de las opiniones futuras.

"Si no puedes resolver un problema, entonces hay un problema más fácil que puedes resolver: encontrarlo". George Pólya

Le sugiero que aprenda sobre la descomposición en el pensamiento computacional, que es el proceso de descomponer problemas complejos en partes más pequeñas. Con la descomposición, los problemas que parecen abrumadores al principio son más fáciles de manejar.

Lea también: 

Adquisición de datos


Si ha encontrado un problema y el objetivo que quiere resolver, entonces el siguiente paso es obtener los datos necesarios. Hay muchas maneras de hacer la recolección de datos. Explicaré algunas de ellas.
  • La primera forma es descargar datos de código abierto en Internet como Kaggle, Google dataset, UCI machine learning, etc. Pero también hay que prestar atención a las limitaciones del uso de estos conjuntos de datos, porque algunos conjuntos de datos sólo pueden ser utilizados para necesidades personales o para fines de investigación.
  • La siguiente manera es hacer crawling/scraping en el sitio web. Por ejemplo, si quieres recuperar datos sobre los comentarios de odio en las redes sociales, puedes rastrear en Twitter, Instagram, etc. o si necesitas datos de un sitio de noticias, puedes hacer web scraping en el sitio de noticias.


En algunos casos, es posible que tenga que etiquetar los datos, especialmente si obtiene un conjunto de datos al hacer scraping en la web y el método de aprendizaje automático que utilizará es el aprendizaje supervisado. Lo que debe considerarse es la posibilidad de sesgo al etiquetar los datos. Esto puede afectar al rendimiento del modelo.

Si quieres validar los datos que has etiquetado, puedes pedir la ayuda de personas que son expertas en sus campos. Por ejemplo, si usted hace un conjunto de datos en el campo de la salud, entonces usted puede validar los datos que hizo al médico.

Lea también: 

Preparación de datos


Después de obtener los datos que necesitamos, el siguiente paso es preparar los datos antes de entrar en la fase de entrenamiento. ¿Por qué?

Comparemos los datos con los ingredientes para cocinar. Antes de cocinar, definitivamente procesamos primero los ingredientes crudos, cosas como lavar, limpiar, eliminar los ingredientes innecesarios, cortar en trozos, etc., no es posible poner los ingredientes crudos en una sartén.

Así es con los datos. Necesitamos preparar los datos para que al entrar en la fase de entrenamiento, los datos no contengan ruido que afecten el rendimiento del modelo creado.

Antes de entrar en más detalles, tenga en cuenta que hay dos tipos de datos, a saber, los datos estructurados y los datos no estructurados. Los datos estructurados son un modelo de datos que organiza los elementos de los datos y estandariza la forma en que se relacionan entre sí. Normalmente, este tipo de datos se presenta en forma de tablas, JSON, etc. Mientras que los datos no estructurados son información que no tiene un modelo de datos predefinido o no está organizada de manera predefinida. Este tipo de datos suele presentarse en forma de texto libre, imágenes, señales, etc.
Datos estructurados vs. Datos no estructurados

A continuación se indican algunos de los procesos que se utilizan comúnmente para preparar los datos.

  • La limpieza de datos se utiliza para eliminar datos o características que no se necesitan. Para cada tipo de datos, el tratamiento es diferente. En los datos estructurados, se utiliza para limpiar datos inconsistentes, valores faltantes o valores duplicados. Mientras que en los datos no estructurados, por ejemplo en el caso del texto, se utiliza para limpiar símbolos, números, signos de puntuación o palabras
que en realidad son menos necesarios en el proceso de formación del modelo.
  • La transformación de datos se utiliza para cambiar las estructuras de los datos. Esto es especialmente necesario en el caso de los datos no estructurados (por ejemplo, el texto) porque básicamente el modelo clasificador no puede aceptar la entrada de texto, por lo que debe ser transformado primero a otra forma. Algunos métodos comúnmente utilizados son PCA, LDA, TF-IDF, etc.

Lea también: 

Otra cosa que también es importante hacer es el análisis exploratorio de datos (EDA). El EDA funciona como investigacion inicial de los datos para encontrar patrones, detectar anomalías, probar hipótesis y comprobar supuestos con la ayuda de resúmenes estadísticos y representaciones gráficas.

Modelado

Foto de Roman Kraft en Unsplash

Esta es la parte que quizás hayas estado esperando más. En esta etapa, haremos un modelo de aprendizaje de la máquina. Como discutimos en el artículo anterior, hay varios enfoques en el aprendizaje automático, el aprendizaje supervisado, el aprendizaje no supervisado y el aprendizaje reforzado. Podemos determinar el enfoque que tomamos basándonos en los datos/problemas que observamos antes.

Otros consejos de mi parte, averigua primero las debilidades y fortalezas de cada método de aprendizaje automático antes de hacer el modelado porque eso te ahorrará mucho tiempo. Cada método tiene ventajas y desventajas para ciertas características de los datos.  Por ejemplo, hay métodos que funcionan bien si la entrada se normaliza primero, o métodos en los que si los datos son demasiado grandes provocan un sobreajuste y también hay métodos que requieren datos muy grandes.

No pierda su tiempo tiempo intentando uno a uno los métodos para obtener los mejores resultados. Porque normalmente, un método de aprendizaje de máquina tiene muchos parámetros que podemos modificar. Por ejemplo, si queremos hacer un modelo usando la Red Neural podemos cambiar los parámetros de la tasa de aprendizaje, el número de capas ocultas, la función de activación utilizada, etc.

Tal vez muchas personas también sugieren utilizar el aprendizaje profundo, porque siempre se ha demostrado que obtiene buenos resultados en varios experimentos. Pero antes de eso, piense primero si el caso realmente requiere un aprendizaje profundo. No use el aprendizaje profundo sólo para seguir la tendencia. Porque el costo requerido es muy grande.

Si es posible usar los métodos tradicionales de aprendizaje automático, entonces use ese método. Sin embargo, si el caso es muy complejo y no puede ser manejado por los métodos tradicionales de aprendizaje automático, entonces puede utilizar el aprendizaje profundo.

Evaluar

Foto de Kaleidico en Unsplash
La etapa final es el proceso de evaluación. Ciertamente no quieres que el rendimiento del modelo que estás entrenando no produzca buenos resultados. Especialmente si tu modelo de predicción tiene muchos errores.


Una de las formas más rápidas de determinar si el modelo que estamos haciendo es bueno o no es medir su rendimiento. Hay varias maneras de calcular el rendimiento, incluyendo la precisión, la medida de f1, la puntuación de la silueta, etc. Otra forma de evaluar su modelo es validarlo con personas que sean expertas en sus campos.


Join our private community in Discord

Keep up to date by participating in our global community of data scientists and AI enthusiasts. We discuss the latest developments in data science competitions, new techniques for solving complex challenges, AI and machine learning models, and much more!