Lección 15 del curso Álgebra Lineal para Ciencia de Datos y Machine Learning.
En la lección anterior vimos qué son las transformaciones afines, una operación muy usada en diferentes algoritmos del Machine Learning. Y con este concepto hemos visto todos los elementos esenciales de las matrices y hemos entendido el papel que éste tipo de dato juega en la Ciencia de Datos y el Machine Learning.
Así que en esta lección retomaremos varios de los conceptos aprendidos hasta el momento para aplicarlos de forma práctica a la solución de un problema. En particular veremos cómo crear un sencillo clasificador de datos usando una de las arquitectura clásicas del Machine Learning: el perceptrón.
Como veremos, este perceptrón es en esencia una Neurona Artificial, que a su vez es el elemento fundamental de las Redes Neuronales y de diferentes arquitecturas del Deep Learning (el campo del Machine Learning que ha logrado avances impresionantes en los últimos años).
Así que comencemos entendiendo el problema que vamos a resolver en esta práctica:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Así que el objetivo de esta práctica es implementar un clasificador binario (es decir, un modelo capaz de clasificar un dato en una de dos posibles categorías). Y para ello haremos uso de una de las arquitecturas más simples del Machine Learning: el perceptrón.
Teniendo claro el problema que resolveremos en esta práctica, veamos en detalle cómo funciona el perceptrón:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, el perceptrón, creado en 1957 por Frank Rosenblatt, es una de las primeras arquitecturas del Machine Learning y precursor de la Neurona Artificial, fundamental en el Deep Learning.
Internamente, el perceptrón realiza primero una transformación afín para proyectar los datos a un espacio de menor dimensionalidad y luego utiliza una función de activación no lineal para clasificar los datos.
Los parámetros de este sencillo modelo se ajustan automáticamente mediante un proceso de entrenamiento que incluye la definición de hiper-parámetros, la inicialización de parámetros y la actualización iterativa de estos últimos basada en la pérdida (que simplemente es el resultado de cuantificar la diferencia entre las predicciones generadas por el modelo y las categorías reales de los datos).
Así que ya tenemos claros todos los elementos que conforman un perceptrón, así como su principio de funcionamiento. Veamos entonces cómo implementar desde cero este modelo con ayuda de Python y NumPy:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Bien, acabamos de ver cómo implementar las funciones «predict» y «update_parameters» que nos permitirán generar las predicciones y actualizar los parámetros del modelo durante el entrenamiento.
Además vimos cómo implementar el algoritmo de entrenamiento que en cada iteración permite obtener una predicción, calcular la pérdida y actualizar los parámetros con base en dicha pérdida.
Y como resultado de este entrenamiento hemos logrado calcular, de forma automática, los parámetros w y b de este modelo, así que ya estamos listos para ponerlo a prueba. Veamos entonces cómo clasificar datos con este perceptrón que acabamos de entrenar:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Bien, acabamos de ver cómo construir la frontera de decisión de este clasificador y con ello hemos verificado que, tras elegir correctamente los hiperparámetros del modelo, habremos logrado un entrenamiento adecuado y por tanto logrará clasificar correctamente la totalidad de los datos.
Así que con esto hemos no sólo aprendido a construir y entrenar, desde cero, una Neurona Artificial (como lo es el perceptrón) sino que además hemos visto los diferentes elementos del Álgebra Lineal que entran en juego en este tipo de arquitecturas del Machine Learning.
Y con esto hemos completado este tercer módulo del curso. Entonces, en el cuarto (y último) módulo del curso nos enfocaremos en los valores y vectores propios (también conocidos como eigenvalores y eigenvectores) y que son otro par de conceptos del Álgebra Lineal que resultan esenciales en la Ciencia de Datos y el Machine Learning.
Y específicamente en la próxima lección comenzaremos precisamente entendiendo qué son los valores y vectores propios.
Todas las lecciones del curso Álgebra Lineal para Ciencia de Datos y Machine Learning
