Una introducción al Aprendizaje automático

Si eres un ingeniero de software, estoy seguro de que en algún momento quisiste hacer ‘aprendizaje automático’, descubrir los secretos del Universo y encontrar la respuesta definitiva a la vida. El universo y todo.

Sin embargo, el aprendizaje automático puede ser un tema bastante grande e intimidante: un paradigma muy diferente al que usualmente haces / usas a diario, impulsado por big data, modelos matemáticos, … en resumen: está fuera de su zona de confort habitual.

Pero está bien. De hecho, esta es la primera parte de una serie de artículos en los que trataré de explicarle los conceptos principales del aprendizaje automático.

En su núcleo, en el aprendizaje automático, tiene big data en un lado y un problema en el que cree que el big data puede resolver o proporcionar una respuesta para.

Big data

Big data es, en general, un conjunto de datos que tiene las siguientes características :

Características de Big Data

Volumen

La cantidad de datos generados y almacenados. El tamaño de los datos determina el valor y la perspectiva potencial, y si se puede considerar big data o no.

Variedad

El tipo y la naturaleza de los datos. Esto ayuda a las personas que lo analizan a utilizar de manera efectiva la información resultante. Big data se basa en texto, imágenes, audio, video; además, completa las piezas faltantes a través de la fusión de datos.

Velocidad

En este contexto, la velocidad a la que los datos se generan y procesan para satisfacer las demandas y los desafíos que se encuentran en el camino del crecimiento y el desarrollo. Big Data está a menudo disponible en tiempo real. En comparación con los datos pequeños, los datos grandes se producen de forma más continua. Dos tipos de velocidad relacionados con Big Data son la frecuencia de generación y la frecuencia de manejo, grabación y publicación.

Veracidad

Es la definición extendida para big data, que se refiere a la calidad de los datos y el valor de los datos. La calidad de los datos capturados puede variar enormemente, afectando el análisis preciso.

¿Cómo puede abordar su problema de big data utilizando el aprendizaje automático?

Antes de que pueda comenzar a pensar en su solución de aprendizaje automático, debe comenzar desde el problema: tienes que entenderlo completamente y describirlo.

  1. ¿Cuál es el problema?
  2. ¿Por qué necesitas resolverlo?
  3. ¿Cómo lo resolverías?

1. ¿Cuál es el problema?

a. Descríbalo informalmente

Comienzo suave: describa el problema como si se lo estuviera describiendo a un amigo

b. Descríbalo formalmente

Lo encuentro muy útil para describir el problema siguiendo el lenguaje formal que Tom Mitchell describe en su libro Machine Learning :

El campo del aprendizaje automático está relacionado con la cuestión de cómo construir programas de computadora que mejora automática con la experiencia.
[…]
Se dice que una computadora aprende de la experiencia E con respecto a alguna clase de tareas T y medida de rendimiento P, si su desempeño en tareas en T, medido por P, mejora con la experiencia E.  Deberíamos poder redactar una descripción formal del problema usando E, T y P, o, incluso mejor, enumerar nuestros problemas en una tabla con los encabezados E, T y P.

c. Investigación y enumera problemas similares


Investiga y enumera los problemas que crees que son Similar a la que estas tratando de resolver. Esto puede ayudarlo a alcanzar una solución, limitar el dominio de su problema y los problemas potenciales antes de encontrarlos en su viaje.

d. Haga una lista de todos los supuestos e información adicional


Enumere todos los supuestos que sean importantes para el redacción de su problema, pero no lo ha hecho en la descripción. Pueden ser sutiles pero ayudarlo a alcanzar el resultado deseado más pronto.

Tomando el ejemplo clásico del análisis de un clickstream para predecir los picos de tráfico, podría decir que:

  • El tamaño de la respuesta y el agente de usuario son irrelevantes
  • puede ser relevante para el modelo
  • La fecha y la hora son una dimensión fundamental

2.¿Por qué necesitas resolverlo?

Simplemente piense en la solución: por qué necesita construirla, los beneficios que usted (o sus clientes) obtendrán al resolver este problema … y, finalmente, también debe pensar cómo se utilizará la solución a corto plazo, pero también a largo plazo.

Está bien abrirse camino hacia la solución, pero siempre debe tener en cuenta a largo plazo y construir una solución que se pueda transformar fácilmente. en un servicio a prueba de futuro, a menos que, por supuesto, esté haciendo esto como ejercicio de aprendizaje.

3. ¿Cómo resolvería el problema?

Pruebe sus datos y mírelos. Piense en su problema y explore cómo podría alcanzar el resultado final a partir de sus datos en bruto.

Escriba un algoritmo de alto nivel simplemente haciendo una lista de todos los pasos manuales que ejecutaría a partir de la recopilación de datos. sus datos y la forma en que finalmente resolvería su problema.

A partir de ahí, solo se trata de automatizar esos pasos: píselos si es necesario y construya prototipos de sus soluciones. Los contenedores, el cuaderno Jupyter y muchas otras herramientas son tus amigos, no tengas miedo de usarlos, de fallar y luego volver a intentarlo.

Dejá un comentario