¿Cuándo escuchas las palabras machine learning… qué te viene a la cabeza?
A lo imaginas un robot aprendiendo y moviéndose solo.
O quizá has pensado en una máquina tomando decisiones de forma autónoma…
La verdad es que no vas desencaminado del todo.
Aunque tengo que decirte que un poquitín.
En este post te voy a ayudar a entender la filosofía del machine learning y cómo puedes utilizarla en tus proyectos.
Vas a entender la esencia que hay detrás de las palabras machine learning y verás que es más simple de lo que parece.
Seguro que después de este post se te ocurrirán un montón de ideas de aplicación de machine learning en tus proyectos.
¡Empezamos!
La filosofía simple que hay detrás del machine learning
Déjame contarte cómo puedes comprender la verdadera esencia que hay en la palabras machine learning.
El primero paso es visualizar los problemas con una cajita de entrada – salida.
Donde la cajita es la máquina de aprendizaje. Es el modelo. O el algoritmo.
- Las entradas son las características que pueden influir en la salida.
- La salida es lo que queremos analizar. Ver qué pasa.
Aquí se trata de que la máquina matemática (cajita) aprenda con los datos que tienes disponibles.
Me explico.
Al final todo tiene que ver con la configuración que te presenté en este post sobre modelos estadísticos y sus dos grandes superpoderes.
Se trata de analizar un fenómeno real el cual vas a utilizar una variable que quieres predecir o estudiar (salida) a partir de unas características (entradas).
Imagínate que quieres crear una herramienta capaz de clasificar un cliente con la probabilidad de comprarte tu producto o servicio (baja, media y alta).
Para poder conseguirlo lo primero que tienes que hacer es observar a los posibles clientes.
Definir las métricas/variables de entrada y salida.
Y clasificarlos con unas características que sean relevantes para ti. Por ejemplo, puedes observar si el posible cliente:
- Ha visto tu servicio o producto que vendes, al menos, una vez
- Tiempo de lectura de la página Acerca de de la página web
- Número de páginas visitadas por el usuario en tu web
- Cuántas veces ha visitado tu página
- …
Estas variables son las variables de entrada de nuestro problema. Se pueden medir y nos dan idea de cuánto de interesado está en nosotros.
Son las características de tu cliente.
Fíjate que estas características miden el nivel de interés que pueden tener tus posibles clientes con tu propuesta.
Ya tienes las entradas. Las características.
Ahora vamos a por la salida.
Podríamos, de alguna forma encuestar a una muestra de usuarios. Y según sus respuestas podríamos clasificar estos posibles clientes en tres grupos:
- Baja
- Media
- Alta
Baja, media y alta referente a la probabilidad de comprarte tu servicio o producto.
Acabas de obtener información de la salida. Una variable cualitativa de tres grupos (también puedes llamarla clase)
¿Qué nos falta?
La máquina de aprendizaje o el algoritmo de predicción.
Con los datos de entrada y salida de los posibles clientes que dispones vas a utilizarlos para entrenar a la máquina matemática.
Lo que haremos es como el ejemplo de regresión de este artículo.
O el ejemplo de regresión logística de este otro.
Cuando el modelo esté entrenado (es decir, calculado) ya podrás utilizarlo como una herramienta de predicción. Mira esta imagen:
Ya lo puedes utilizar con nuevos datos.
Y podrás detectar qué usuarios tienen más probabilidad de comprarte.
Podrás predecir la variable de salida: si el usuario nuevo en cuestión es más probable que esté en el grupo de baja, media o alta.
¿Se ve la idea?
Cuanto más datos tengamos. Mejor podremos optimizar la máquina y mejor funcionará
Nosotros también aprendemos de esta forma.
Aprendemos con experiencia. Es decir, con observación. (con datos)
Igual que las máquinas matemáticas.
¡Esta es la jugada!
Ahora que entiendes la idea con este pequeño ejemplo vamos a desgranar los dos grandes enfoques de las técnicas de machine learning.
Los dos enfoques del machine learning
El ejemplo de los clientes que te acabo de enseñar es un ejemplo supervisado.
Es decir, a priori, tú sabes la salida y las entradas de tu problema. Tienes disponible la información entrada-salida y tu trabajo está en calcular el algoritmo de la máquina y entrenarlo.
Una vez calculado el algoritmo, vas a utilizarlo con nuevas observaciones disponibles, donde no sabes la salida. Solo tienes información de las entradas.
Utilizarás la máquina para predecir el resultado de la salida.
¡A qué es fantástico!
Esta es la idea de supervisado.
Existen dos tipos de problemas supervisados:
- Problemas de regresión (como la regresión lineal)
- Problemas de clasificación (como el modelo logístico)
En el último apartado te pongo más ejemplos en este sentido
Déjame, ahora, hablarte del no supervisado que es muy interesante también.
Se trata de encontrar patrones de los datos sin saber que existen. Como el caso del clustering o agrupamiento por características.
Se trata de medir características que creas que pueden ser interesantes para separar grupos.
Por ejemplo, medir la altura, azúcar en sangre, edad, frecuencia cardíaca en reposo, si hace ejercicio o no, nivel de stress etc…
Estas características pueden ser interesantes para poder agrupar a los sujetos y encontrar grupos estadísticamente diferenciados.
Estos grupos estarán agrupados de forma estadísticamente diferente según las características que hemos utilizado.
A lo mejor, podríamos encontrar el grupo de los sanos y vida saludable que tienen unos patrones y rasgos comunes.
Y los que no se cuidan demasiado, no hacen deporte y tienen unos patrones y rasgos también comunes.
Aquí al final es encontrar grupos lo suficientemente diferentes entre sí.
¿Cómo?
Con técnicas de clustering. Algún día te escribiré un post sobre ello 😉
No te preocupes.
¡Esto es un aprendizaje no supervisado!
Porque a priori, no sabes cómo agrupar estos pacientes. No tienes suficiente información de los grupos. De la salida.
Simplemente estás buscando indicios de grupos.
En lugar de hacerlo a ojo lo puedes hacer con técnicas de clustering.
¿Se ve la juagada?
No supervisado = Solo tienes variables de entrada y no tienes ni idea de la salida.
Cómo entender la idea del Machine Learning con tres sencillos ejemplos
Voy a tratar de darte una visión un poco más aplicada de lo que te acabo de compartir.
Con tres ejemplos para los algoritmos de:
- Regresión – como técnicas supervisada
- Clasificación – también como técnica supervisada
- Clustering – como técnica no supervisada
Ejemplo de clasificación – problema supervisado – Clasificando el tipo de diabetes
Imagínate que tienes un histórico de datos de pacientes.
Has recogido los datos de las características del análisis de sangre (nivel de glucosa etc…) y quieres has clasificado con diagnóstico médico a todos estos pacientes en dos grupos:
- Grupo 1 – Diabetes tipo I (menos grave)
- Grupo 2 – Diabetes tipo II (más grave)
¡Bien!
¿Qué puedes hacer con tus datos?
Puedes pensar en crear un algoritmo clasificador. Sin saber a priori en qué grupo de diabetes está… que te permita calcular la probabilidad de ser tipo I y la probabilidad de ser tipo II.
¿Cómo?
Entrenando el modelo.
- Las entradas: variables del análisis de sangre
- La salida: variable cualitativa (Tipo I o Tipo II) – se llama también la clase clasificadora
Con los datos que has recogido de tus pacientes, puedes diseñar un algoritmo clasificador, ajustar sus parámetros internos y utilizarlo como herramienta clasificadora.
Será una herramienta muy interesante para dar soporte al diagnóstico a partir de los datos del análisis de sangre.
¡Esto significa clasificar! Y aplicar el concepto de machine learning a tus datos.
Ejemplo de regresión – problema supervisado – Predecir la producción de una planta
La regresión es muy similar que la clasificación.
Es un modelo supervisado.
Tienes disponible los datos de la salida.
Lo que pasa que esta salida, en lugar de ser un grupo (o la probabilidad de estar en un grupo) es una variable cuantitativa.
Por ejemplo, quieres crear una herramienta capaz de predecir la producción de tu fábrica teniendo en cuenta:
- Las horas trabajadas
- El número de trabajadores
- Las averías
- Cuántos cambios de pieza promedio a la semana semana
- …
Si eres un gestor de la planta te puede interesar encontrar una herramienta capaz de darte una idea de la producción que tendrás en planta según las variables que has obtenido.
El primer paso es entrenar el modelo con los datos que ya tienes. De entrada y salida.
- Las entradas: las horas trabajadas, el número de trabajadores, las averías, cuántos cambios de piezas en promedio a la semana,…
- La salida: la producción (número de piezas fabricadas, que es cuantitativa)
Datos que has recogido durante el año pasado.
Una vez hayas encontrado el modelo de regresión es cuestión de utilizarlo para predecir.
Eso es, para predecir la producción teniendo en cuenta las características de los próximos meses.
Fíjate que en los dos casos de regresión y clasificación la jugada es la misma.
Vamos ahora por ejemplo diferente.
Ejemplo de clustering – problema no supervisado – Encontrando rasgos de personalidad
Otro ejemplo.
Imagínate que quieres encontrar rasgos de personalidad a partir de características que has medido.
Por ejemplo. Puedes recoger datos de diferentes aspectos de la personalidad: autoconfianza, autoestima, empatía, convicción, liderazgo, etc…
Estas características las puedes medir con un cuestionario que puntúan de 1 a 10 por cada uno de estos aspectos.
Ahora ya tenemos las características medidas. Las entradas.
Ahora quieres encontrar indicios o patrones de personalidad.
Si tienes un número suficiente de observaciones podrás aplicar un algoritmo de clusterng para tratar de encontrar grupos estadísticamente diferentes entre sí.
Una vez encuentres estos grupos, que a priori, no tienes ni idea de cuáles son (no supervisado)
Es cuestión de analizarlos y comparar estos grupos.
Ver qué variables son las más importantes y dónde hay diferencias.
Esto de ayudará a encontrar patrones de personalidad (el líder, el emprendedor, el artista etc… por ejemplo)
Esto es aplicable en miles de casos.
Y seguro que en tu campo y en tus proyectos también.
…
En este post he tratado de ayudarte a entender los algoritmos de machine learning de forma sencilla y práctica.
Seguramente te he ayudado a descifrar el significado real de las palabras de machine learning.
Ya posees de una visión aplicada
Nos vemos pronto!
Ciao ciao
Hola Jordi
Muy buen post, es muy útil y clarificador. Me gusta especialmente la parte donde hablas del clustering, y me gustaría poder saber un poco más sobre técnicas para hacer clustering, cómo hacerlo y qué herramientas existen para tal fin.
Un saludo
Aquí un artículo que te puede ayudar:
https://conceptosclaros.com/que-es-clustering/
¡Abrazos!
Lo poco que escuche es que está compitiendo con la econometría .
Recién en en unos meses más empezaré a estudiar estadista y R .
Gracias , el blog está muy interesante
¡Genial!
Clustering o segmentación se puede utilizar en muchos casos. Y la economía es uno de los campos dónde lo puedes utilizar 🙂
Lo que escuche.
Cómo dicen más arriba es que está superando a la econometría .
Me interesa bastante
El software Rstudio, dicen que es el mejor software.
Seria interesante que pongas algún artículo aplicado a las finanzas y a la bolsa de valores .
Una pregunta por qué crees que R es superior a Python?
No creo que R sea superior a Python.
Son diferentes.
De hecho python es más completo que R. Pero también más complejo.
Estadísticamente R tiene más historia y más paquetes de funciones. Python es una gran herramienta muy transversal y el uso de machine learning es la número 1.
Todo depende de la aplicación que le quieras dar.
Ciao ciao!