Las Matemáticas del Machine Learning ¿Qué debo saber?

Fran Ramírez  19 febrero, 2019

Tanto la Inteligencia Artificial como el Aprendizaje Automático (Machine Learning, ML a partir de ahora) son conceptos de moda que mucha gente está interesada en aprender. Cuando comenzamos a estudiar ML, vemos que hay elementos de programación y que además existen multitud de librerías o frameworks que nos ayudarán en el duro trabajo, como por ejemplo Tensorflow o scikit-learn. Pero tarde o temprano también aparecerán las temidas Matemáticas, exactamente aquellas que pensábamos que nunca más tendríamos que utilizar desde los tiempos de la Universidad.

Pero no hay que rendirse, tenemos dos buenas noticias para mantener la esperanza. La primera es que existen muchos recursos y documentación para aprender o repasar Álgebra, Estadística o Cálculo. Y si aún estás en la Universidad y te interesa el ML, pues mucho mejor porque seguro que ahora podrás observar la utilidad real de los conceptos y términos explicados en estas clases. La segunda buena noticia es que no hará falta estudiar todos los conceptos matemáticos de un área concreta, sólo será necesario entender algunos específicos (por supuesto, según hasta dónde se quiera profundizar en la materia).

Figura 1. Cheat Sheet (o chuleta) sobre Cálculo. Click en la imagen para descargar el documento PDF completo. Fuente.
Así que esta es la “dura” realidad, es imposible llegar a entender cómo afrontar problemas relacionados con ML sin tener algunas nociones básicas de Matemáticas. De hecho, cuanto mejor entendamos las Matemáticas detrás de cualquier técnica o algoritmo de ML,  mejores resultados obtendremos cuando creemos nuestros primeros programas de ML. La clave de un buen programa de ML es saber elegir el algoritmo adecuado basándonos en la complejidad, el tiempo de entrenamiento, parámetros, características, etc términos que sólo se consiguen entendiendo el algoritmo desde un punto de vista matemático.
Entonces ¿qué Matemáticas necesito para aprender ML?
  • Álgebra Lineal. En ML el Álgebra Lineal aparece prácticamente por todas partes. Será necesario entender las propiedades básicas de vectores (por ejemplo operaciones en Espacios Vectoriales n-dimensionales) y matrices, multiplicación de matrices, matrices especiales, eliminación de Gauss-Jordan, etc. En este enlace podéis encontrar un curso del MIT gratuito.
  • Cálculo y Cálculo multivariable (o vectorial).  Es necesario adquirir o repasar conceptos de Cálculo infinitesimal, Diferencial, Integral, Vectorial, Tensorial, etc, para de esta forma poder enfrentarnos a integrales, derivadas, límites, análisis de funciones, Transformada de Fourier, etc.
  • Estadística y Probabilidad. La Estadística es probablemente el campo de las matemáticas que más se parece al ML. Combinatoria, Probabilidad, Teorema de Bayes, Varianza, Distribuciones estándares (Binomial, Multinomial, etc), etc son sólo algunos de los conceptos que tarde o temprano nos encontraremos. Aquí otro curso del MIT pero esta vez de Estadística y en este otro enlace un resumen de las estadísticas básicas para el científico de datos.
  • Algoritmos y optimización. La efectividad de un algoritmo, el coste y su escalabilidad son importantes en ML para poder ajustar y preparar de la mejor manera los datasets. Para ello es necesario aprender estructuras de datos como los Árboles Binarios, Hashing, Backpropagation, etc. Por otro lado, será también útil aprender Grafos, Gradiente Descendiente, etc.
Revisando algunos artículos y documentación sobre este tema, hemos realizado la siguiente estimación aproximada del porcentaje de cada una de estas disciplinas matemáticas:

En esta nueva serie que hoy presentamos en LUCA, un matemático (Francisco Fenoll), un astrofísico (Enrique Blanco) y un informático (Fran Ramírez), intentaremos explicar de la forma más sencilla posible las matemáticas básicas que hay detrás de los principales algoritmos de ML. En breve publicaremos el primero de los artículos, estad atentos/as al blog 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *