¿Cómo se utiliza el álgebra lineal en Machine Learning?
Dentro de Machine Learning, el álgebra lineal sirve para describir los parámetros, los pesos y la estructura de los diferentes algoritmos. Es una caja de herramientas matemáticas que ofrece técnicas útiles para manipular grupos de números simultáneamente. Proporciona estructuras como vectores y matrices para contener estos números y nuevas reglas sobre cómo sumarlos, restarlos, multiplicarlos y dividirlos.
Por todo esto, es esencial para cualquier profesional de Machine Learning desarrollar una base de álgebra lineal y justamente acá te daré una introducción a ello.
La importancia que tiene el álgebra lineal dentro de Machine Learning es que convierte los problemas complicados en problemas sencillos, intuitivos y de cálculo eficiente.
Pero, ¿por qué aprender álgebra lineal?
El álgebra lineal es un campo de las matemáticas que podría llamarse la matemática de los datos, y justamente dentro de Machine Learning se manejan cantidades enormes de datos y es más fácil su manipulación convirtiéndolos en matrices. Bueno, el álgebra lineal hace que las operaciones matriciales sean rápidas y fáciles, especialmente cuando se utiliza GPU. De hecho, las GPU se crearon pensando en las operaciones vectoriales y matriciales.
Pero no solamente los datos se pueden representar en matrices, sino también las imágenes pueden representarse como matrices de píxeles, los videojuegos generan atractivas experiencias de juego utilizando enormes matrices en constante evolución. En lugar de procesar los píxeles uno a uno, las GPU manipulan matrices enteras de píxeles en paralelo, y para realizar todo esto se necesita aplicar álgebra lineal.
Es innegablemente que el álgebra lineal es un pilar del campo de Machine Learning, y muchos lo recomiendan como un prerrequisito sujeto a estudio antes de comenzar, pero este es un consejo engañoso.
El álgebra lineal tiene más sentido para un practicante una vez que tiene un contexto del proceso de aprendizaje aplicado de la máquina en el cual interpretarlo.
Aprender notación de álgebra lineal
Para ser un profesional completo en cualquier campo de la Inteligencia Artificial necesitas ser capaz de leer y escribir notación vectorial y matricial. Los algoritmos se describen en libros, documentos y sitios web utilizando notación vectorial y matricial.
El álgebra lineal es la matemática de los datos y la notación te permite describir operaciones sobre los datos con precisión con operadores específicos. Necesitas ser capaz de leer y escribir esta notación.
Esta habilidad te permitirá:
- Leer las descripciones de los algoritmos existentes en los libros de texto.
- Interpretar e implementar descripciones de nuevos métodos en los trabajos de investigación.
- Describir con precisión tus propios métodos a otros practicantes.
- Además, los lenguajes de programación como Python ofrecen formas eficientes de implementar directamente la notación de álgebra lineal.
Una comprensión de la notación y de cómo se realiza en su propio idioma permitirá implementaciones más cortas y quizás más eficientes de los algoritmos de Machine Learning.
Escalares, vectores, matrices y tensores
Cada uno de estas notaciones son muy importantes dentro de Machine Learning, ya que se utiliza en todos los algoritmos, incluyendo los de Deep Learning.
Los conjuntos de datos que se manejan suelen convertirse en forma de vectores o matrices, y las salidas también son escalares, vectores, matrices o tensores.
A continuación, se define cada una de estos términos.
- Escalares: son n único número o valor.
- Vectores: son una matriz de números, ya sea en una fila o en una columna, y se identifican con un solo índice.
- Matriz: es una matriz bidimensional de números, donde cada elemento se identifica con dos índices.
- Tensores: si llevamos una matriz un paso más allá, obtenemos un tensor. Se puede tener cualquier número de dimensiones en un tensor, aunque se hace más caro computacionalmente para manejar.
Si se describe un poco más cada uno de estos elementos, las matrices pueden tener cualquier tamaño de filas y columnas. Estas son bidimensionales, y las dimensiones se reportan en un formato de (fila, columna). Por su parte, los vectores son unidimensionales.
A su vez, tanto los vectores como las matrices, suelen indexar empezando por 0.
Aprender álgebra aritmética lineal
Normas de vectores y matrices
Una de las formas de utilizar los vectores y matrices en Machine Learning es con las normas, las cuales mide la magnitud o longitud de un vector.
La longitud del vector es siempre un número positivo, excepto para un vector de todos los valores cero. Se calcula utilizando alguna medida que resuma la distancia del vector de origen del espacio vectorial.
Se utilizan notaciones para representar la norma vectorial en cálculos más amplios y el tipo de cálculo de la norma vectorial casi siempre tiene su propia notación única.
Existen distintos tipos normas, algunas de ellas, y de las más usadas en Machine Learning, son las siguientes:
- La norma L1, calcula la suma de los valores absolutos del vector.
- La norma L2, calcula la raíz cuadrada de la suma de los valores del vector al cuadrado.
Las normas se pueden utilizar dentro de Machine Learning para medir la función de pérdida entre un punto predicho y uno real.
Aprender álgebra lineal para estadísticas
Debes aprender álgebra lineal para poder aprender estadística, especialmente estadísticas multivariadas.
Las estadísticas y el análisis de datos son otro campo fundamental de las matemáticas para apoyar Machine Learning. Se ocupan principalmente de describir y comprender los datos. Como la matemática de los datos, el álgebra lineal ha dejado su huella en muchos campos relacionados de las matemáticas, incluidas las estadísticas.
La estadística moderna utiliza tanto la notación como las herramientas del álgebra lineal para describir las herramientas y técnicas de los métodos estadísticos. Desde vectores para las medias y varianzas de los datos, hasta matrices de covarianza que describen las relaciones entre múltiples variables gaussianas.
Los resultados de algunas colaboraciones entre los dos campos son también métodos dentro de Machine Learning, como por ejemplo el análisis de componentes principales, utilizado para la reducción de los conjuntos de datos.
Aprender factorización de matrices
Basándonos en la notación y aritmética está la idea de la factorización de la matriz, también llamada descomposición de la matriz. Es necesario saber cómo factorizar una matriz y lo que significa.
La factorización de matrices es una herramienta clave en el álgebra lineal y se utiliza ampliamente como elemento de muchas operaciones más complejas tanto en el álgebra lineal, como la matriz inversa, como en Machine Learning, por ejemplo, mínimos cuadrados.
Además, hay una gama de diferentes métodos de factorización matricial, cada uno con diferentes fortalezas y capacidades, algunos de los cuales se pueden reconocer como métodos de Machine Learning, como la descomposición del valor singular, utilizado, también para la reducción de datos.
Eigendecomposición, valores propios y vectores propios
Aprender mínimos cuadrados lineales
Es necesario saber cómo utilizar la factorización matricial para resolver los mínimos cuadrados lineales.
El álgebra lineal fue desarrollada originalmente para resolver sistemas de ecuaciones lineales. Se trata de casos en los que hay más ecuaciones que variables desconocidas. Como resultado, son difíciles de resolver aritméticamente porque no hay una solución única, ya que no hay una línea o un plano que pueda ajustar los datos sin algún error.
Los problemas de este tipo pueden enmarcarse como la minimización del error cuadrado, y pueden refundirse en el lenguaje del álgebra lineal, llamado mínimos cuadrados lineales.
Los mínimos cuadrados son más conocido por su papel en la solución de modelos de regresión lineal, pero también desempeña un papel más amplio en una gama de algoritmos de Machine Learning.
Los problemas de mínimos cuadrados lineales pueden ser resueltos eficientemente en computadoras utilizando operaciones matriciales como la factorización de matrices.
Como pudiste revisar acá el álgebra lineal juega un papel fundamental dentro de Machine Learning. Comenzando con los escalares, vectores, matrices y tensores, los cuales se utilizan ampliamente para el manejo de las bases de datos de los proyectos.
También se revisó las normas de los vectores y de las matrices, las cuales sirve para medir la magnitud o longitud de los vectores. Y finalmente tenemos la eigendecomposición que consiste simplemente en dividir los objetos matemáticos en sus partes constitutivas y que forman una parte fundamental dentro del método de análisis de componentes principales o PCA.
Esta es simplemente una introducción a cada uno de estos temas, el objetivo acá es proporcionar una idea básica sobre los mismos enfocados en Machine Learning.
Respuesta a la pregunta del video
Opción 1: El álgebra lineal solamente es utilizada para Machine Learning y no en el resto de áreas de la Inteligencia Artificial.
Respuesta Incorrecta. Álgebra lineal es utilizada en todas las áreas de la Inteligencia Artificial.
Opción 2: El álgebra lineal puede ser utilizada para mejorar el código y hacer que los algoritmos de Machine Learning sean más rápidos.
Respuesta Correcta.
Opción 3: Conociendo álgebra lineal es suficiente para entender los algoritmos de Machine Learning.
Respuesta Incorrecta. Para implementar los algoritmos de Machine Learning también deberás saber estadísticas, cálculo, entre otras áreas de las matemáticas.
Lig,
Entiendo que las matemáticas son muy importantes para Data Science, pero estoy de acuerdo en que usando sklearn, lamento profundizar en estos temas.
Porque básicamente necesitamos entender cómo funciona, pero serán las bibliotecas las que harán el trabajo.
No es una afirmación, es una duda.
Hola Ednaldo, es correcto que las librerías de programación serán las que hará el trabajo pero es el desarrollador quien tendrá la última palabra, por lo tanto puede ser que tu estes aplicando un método que de repente no sea el más adecuado y eso solamente lo sabras con una base de matemáticas, en donde podrás darte cuenta y corregirlo y seleccionar el más adecuado. No digo que tienes que saber desarrollar todo desde cero, pero si debes tener conocimientos base dentro de esta área. Recuerdo que el computador hace lo que uno dice pero al final somos nosotros que decidimos si es correcto o no. Saludos.