Interpretación de Modelos de Machine Learning

Descifrar las decisiones tomadas por la máquina

La interpretación de las decisiones tomadas por nuestros algoritmos de Machine Learning pasa a un plano muy importante: para comprender el modelo y mejorarlo, evitar “biases” (ó descubrirlos), para justificar nuestra confianza en el modelo y hasta legalmente pues es requerido por leyes como la GDPR -para decisiones delicadas como puede ser dar ó no un crédito a una persona-.

Si nuestro algoritmo tuviera que detectar enfermedades y suponiendo que logramos una tasa de aciertos del 90% ¿no te parecería lógico comprender cómo lo ha hecho? ¿es puro azar? ¿está teniendo en cuenta combinaciones de características que nosotros no contemplamos?

Si de pequeño eras curioso y querías sabes cómo funcionaban las cosas: relojes, autos, ó hasta el mismísimo ordenador… serás un poco como yo… y… no siempre nos convence el concepto de “caja negra”.

Abriendo la Caja negra

Seguir Leyendo

12 Consejos útiles para aplicar Machine Learning

Si vas por el buen camino hacia el aprendizaje del Machine Learning, la inteligencia artificial y la ciencia de datos, seguramente te hayas topado con trabas y obstáculos frecuentes. En este artículo repasaremos 12 útiles consejos para tener en cuenta a la hora de trabajar con los modelos del Aprendizaje Automático. Estos postulados surgen del paper A Few Useful Things to Know about Machine Learning escrito en 2012 por Pedro Domingos.

No olvides seguir los 7 pasos del Machine Learning

Vamos al grano!

Con el objetivo de ilustrar mejor estos consejos, nos centraremos en la aplicación del Machine Learning de Clasificar, pero esto podría servir para otros usos.

Los 3 componentes del Aprendizaje Automático

Supongamos que tienes un problema al que crees que puedes aplicar ML. ¿Qué modelo usar? Deberá ser una combinación de estos 3 componentes: Representación, evaluación y optimización.

  • Representación: Un clasificador deberá poder ser representado en un lenguaje formal que entienda el ordenador. Deberemos elegir entre los diversos algoritmos que sirven para resolver el problema. A este conjunto de “clasificadores aptos” se les llamará “espacio de hipótesis del aprendiz”. Ej: SVM, Regresión Logística, K-nearest neighbor, árboles de decisión, Redes Neuronales, etc.
  • Evaluación: Se necesitará una función de evaluación para distinguir entre un buen clasificador ó uno malo. También es llamada función objetivo ó scoring function. Ejemplos son accuracy, likelihood, information gain, etc.
  • Optimización: necesitamos un método de búsqueda entre los clasificadores para mejorar el resultado de la Evaluación. Su elección será clave. EJ: Descenso por gradiente, mínimos cuadrados, etc.
Seguir Leyendo

Sobre mi

La mente es tu Máquina de Aprendizaje Infinito

Juan Ignacio Bagnato es Ingeniero en Sistemas de Información graduado en la UTN Buenos Aires, Argentina. Desde 2011 vive en La Coruña, España. Trabaja en el Equipo de Machine Learning de INAIT y en el pasado hizo desarrollo de Software, apps iOs y Android; fue emprendedor ganador de SWMadrid en 2011.

Cuanta con más de 15 años de experiencia programando en Java, Objective C, Javascript, Python, Bases de Datos y Sistemas Operativos en diversas empresas. Trabajó para organizaciones grandes como Telefónica, Capgemini o IBM y en pequeñas Startups, dirigiendo equipos, formando personas y realizando consultoría.

Padre de 4 pequeños niños, aficionado al fútbol, la música y los Legos.

“Leo sobre tecnología cada día para estar al tanto de las últimas novedades”.

El “choque” con la Inteligencia Artificial

Interesado en Machine Learning y la fusión entre la mente y la máquina, la psicología humana y las capacidades cognitivas que se pueden crear artificialmente.

En mis años de estudiante universitario en la UTN Bs. As. cursé “Inteligencia Artificial” y aprendí Heurísticas, Redes Neuronales Artificiales y Algoritmo Genético. Fue una explosión en mi cerebro en donde los paradigmas de programación tradicionales quedaban obsoletos. Basta de “if then else”. Ahora la máquina aprende por sí sola. Ya no hay que dar instrucciones paso a paso a nuestro “sistema”. Sólo debemos guiarlo y él se ajustará con -o sin- supervisión ó con refuerzo y resolverá los problemas mejor que cualquier mente humana. A partir de ese momento con cada nueva línea de código que escribo me pregunto si será mejor crear un algoritmo que haga “las predicciones” por mi. Y en muchos casos creo la máquina.

A finales de 2017 decidí crear este blog, Aprende Machine Learning como testimonio del avance tremendo que está ocurriendo en estos tiempos y para colaborar con todos los nuevos -y viejos- programadores en Español. Si te gusta el contenido te agradeceré mucho que lo compartas en tus redes.

aprendizaje automático que es

Te sugiero -si me lo permites-

Si quieres ver ejemplos concretos y programar paso a paso tu máquina, ve a la categoría de Práctica y podrás descargarte el código completo en Python. Por ejemplo el de Regresión Lineal o una Sencilla Red Neuronal.

Si buscas teoría general, puedes empezar por las Aplicaciones de Machine Learning, los principales algoritmos ó los 7 pasos fundamentales y la historia de las Redes Neuronales.

Y un poco más avanzado, intento explicar qué es el Deep Learning o las problemáticas que surgen: Overfitting y Underfitting (y cómo solucionarlos). Y puede que de lo más complicado tienes la teoría de las Convolutional Neural Networks (CNN) o su práctica para Clasificar más de 70.000 imágenes de deportes.

NUEVO: ahora puedes ir a la Guía de Aprendizaje, desde donde podrás orientarte mejor y elegir cómo seguir tu camino para formarte como científico de datos!

Gracias y… espero que no seas un bot 😉

Por último te invito a suscribirte al Blog y recibir mis artículos quincenales en tu email:

Suscripción al Blog

Recibe un email semanal/quincenal con cada nuevo artículo y aprende gradualmente Machine Learning 

Redes Sociales

Contacta conmigo en las Redes Sociales o déjame un comentario en cualquier momento.

GuardarGuardar

GuardarGuardar

GuardarGuardar

El Libro del Blog, en papel

El libro, en digital

No se encontraron datos para el ID proporcionado.

Programa Profesional en Inteligencia Artificial y Data Science (KSchool)

Precio a consultar Becas y ayudas disponibles Opciones de financiación
📅 8 meses 🎓 Título Propio
💻 Online
📍️ Online
Programa Profesional en Inteligencia Artificial y Data Science (KSchool)

Contacto

El que busca encuentra.

Contacta conmigo!. Escríbeme o sígueme en mi Twitter  @jbagnato . Comenta cualquier artículo que sea de tu interés y comencemos una charla.

O completa el siguiente formulario!

Formulario de Contacto

    Te invito a suscribirte al Blog y recibir mis artículos quincenales en tu email:

    Máster en Data Science & Deep Learning (Mioti)

    11.960 € * 15.950 € Beca del 25% Financiación 100% sin intereses
    📅 10 Meses ⏱️ 440 horas 🎓 Título Propio
    💻 Online,Presencial
    📍️ Madrid,Online
    🔥 Premio Excelencia Educativa 🔥 100% Práctica, 0% Postureo
    Máster en Data Science & Deep Learning (Mioti)

    Suscripción al Blog

    Recibe un email cada 15 días con cada nuevo artículo y aprende gradualmente Machine Learning 

    Gracias!

    Últimos Artículos:

    Webscaping en Python
    Breve Historia de las Redes Neuronales
    Una Sencilla Red Neuronal Python, en español y en sólo 15 líneas
    Clasificar con K-Nearest-Neighbor ejemplo en Python

    Crea Imágenes con inteligencia Artificial: Stable Diffusion

    ¿Cómo funcionan los Transformers?

    Análisis Exploratorio de Datos con Pandas en Python

    Veremos de qué se trata este paso inicial tan importante y necesario para comenzar un proyecto de Machine Learning. Aprendamos en qué consiste el EDA y qué técnicas utilizar. Veamos un ejemplo práctico y la manipulación de datos con Python utilizando la librería Pandas para analizar y Visualizar la información en pocos minutos.

    Como siempre, podrás descargar todo el código de la Jupyter Notebook desde mi cuenta de Github (que contiene información extra). Y como BONUS encuentra una notebook con las funciones más útiles de Pandas!

    ¿Qué es el EDA?

    Eda es la sigla en inglés para Exploratory Data Analysis y consiste en una de las primeras tareas que tiene que desempeñar el Científico de Datos. Es cuando revisamos por primera vez los datos que nos llegan, por ejemplo un archivo CSV que nos entregan y deberemos intentar comprender “¿de qué se trata?”, vislumbrar posibles patrones y reconociendo distribuciones estadísticas que puedan ser útiles en el futuro.

    Seguir Leyendo

    Regresión Lineal en español con Python

    ¿Qué es la regresión lineal?

    La regresión lineal es un algoritmo de aprendizaje supervisado que se utiliza en Machine Learning y en estadística. En su versión más sencilla, lo que haremos es “dibujar una recta” que nos indicará la tendencia de un conjunto de datos continuos (si fueran discretos, utilizaríamos Regresión Logística).

    En estadísticas, regresión lineal es una aproximación para modelar la relación entre una variable escalar dependiente “y” y una o mas variables explicativas nombradas con “X”.

    Recordemos rápidamente la fórmula de la recta:

    Y = mX + b

    Donde Y es el resultado, X es la variable, m la pendiente (o coeficiente) de la recta y b la constante o también conocida como el “punto de corte con el eje Y” en la gráfica (cuando X=0)

    Aqui vemos un ejemplo donde vemos datos recabados sobre los precios de las pizzas en Dinamarca (los puntos en rojo) y la linea negra es la tendencia. Esa es la línea de regresión que buscamos que el algoritmo aprenda y calcule sólo.

    ¿Cómo funciona el algoritmo de regresión lineal en Machine Learning?

    Seguir Leyendo