Introducción a Álgebra Lineal para Machine Learning

¡Hola a todos! Bienvenidos al curso de introducción a el álgebra lineal para la Inteligencia Artificial.

Una pregunta común es ¿por qué es importante estudiar álgebra lineal en Machine Learning o en cualquier área de la Inteligencia Artificial?.

Existen muchas formas en que aplicamos álgebra lineal en varias de las áreas de la Inteligencia Artificial, pero acá nos enfocaremos en solamente en tres de ellas:

  • Vectorización de código, también conocido como la programación de matrices.
  • Reconocimiento de imágenes
  • Reducción de dimensionalidad

Vectorización de código

Comencemos con el más simple y probablemente la forma más utilizada de el álgebra lineal dentro de la inteligencia artificial.

Podemos afirmar que el precio de una casa depende del tamaño de la misma. Supongamos que sabes que la relación exacta para algunos vecindario está dada por una ecuación.

El precio es igual a 10.159 más 224 multiplicado por los metros cuadrados de la vivienda. Adicionalmente, conoces el tamaño de 5 casas, que pueden utilizar esa ecuación. Por lo tanto, con toda esta información ya puedes conocer el precio de venta de esas 5 casas.

AL1-1

Hacer ese cálculo es sencillo, pero imagina hacerlo para 100 casas o más, es algo bastante tedioso, por lo que se debe buscar otra forma.

De repente se te ocurra crear un bucle y por medio de iteraciones obtener los resultados de la ecuación.

AL1-2

Pero precisamente en estos momentos es que podemos aplicar el álgebra lineal.

Tendríamos dos matrices. La primera sería de 5 x 2 y contendría una columna llena de 1 y la segunda columna serían los metros cuadrados de las viviendas que tenemos disponible la información.

La segunda matriz sería de 2 x 1 y esta contiene los dos valores de nuestra ecuación, 10.159 y 224.

AL1-3

Por lo tanto, si hacemos el producto tendríamos las siguientes ecuaciones. Te recuerdas que estas fueran las ecuaciones originales que teníamos. Al resolver cada una de ellas obtenemos los precios de las casas.

En Machine Learning y más específicamente en Regresión Lineal, así es exactamente cómo funciona los algoritmos para construir el modelo.

Tenemos una matriz de entrada, unos coeficientes y una matriz de salida.

Veamos algo con el ejemplo de las casas, en caso de tuviésemos 10 mil entradas, el tamaño de esta matriz sería 10.000 x 2, la matriz de coeficiente sería 2 x 1, como siempre, y la matriz resultando sería de 10.000 x 1. Esto lo que nos demuestra es que no importa cuantos valores de entrada tengamos, vamos a tener la misma cantidad de salidas. De igual forma, los coeficientes nunca cambian son los mismos en cada ocasión.

AL1-4

Estos conceptos son muy importantes en Machine Learning.

Así que cuando estamos usando álgebra lineal para calcular muchos valores simultáneamente, llamamos a esta programación de matrices o vectorización del código.

Hay librerías como NumPy que están optimizadas para realizar este tipo de operaciones que en gran medida aumenta la eficiencia computacional de nuestro código.

Reconocimiento de imágenes

En los últimos años, aprendizaje profundo y las redes neunorales, en particular el reconocimiento de imágenes, están en primer plano. Para esto se utiliza redes neuronales convolucionales.

La idea principal de esto es que puedes tomar una foto, ingresarla al algoritmo y clasificarla. Pero acá no podemos simplemente tomar una foto e ingresarla, tenemos que convertir esa foto en alguna forma que la computadora entienda para que la pueda procesar.

AL1-5

Acá justamente es donde esta álgebra lineal.

Cada foto tiene dimensiones específicas. Por ejemplo, digamos que esta foto es 400 x 400 pixeles, cada pixel en una foto es básicamente un cuadrado de color. Dados suficientes píxeles y un zoom de alejamiento lo suficientemente grande hace que nuestro cerebro perciba esto como una imagen en lugar de una colección de cuadrados.

Si vemos esta foto en la escala de grises. Sino lo sabes, la escala de grises cuenta con 256 tonos de gris donde 0 es totalmente blanco y 255 es totalmente negro o vacío.

Entonces podemos representar esta foto como una matriz, si decimos que la foto es 400 x 400 entonces la matriz será del mismo tamaño. Por lo que cada elemento de dicha matriz es un valor entre 0 a 255, de esa forma se muestra intensidad del color gris y de esa forma es como las computadoras ven una foto.

AL1-6

Veamos ahora la foto a color. Hasta los momentos teníamos dos dimensiones, ancho y alto, mientras que el número interior correspondía a la intensidad del color.

Ahora para las fotos de color, la solución que se ha encontrar es utilizar la escala RGB, donde RGB significa rojo, verde y azul, por sus siglas en ingles.

La idea es que cualquier color perceptible por el ojo humano pueda descomponerse en alguna combinación de estos tres colores.

Por lo que para representar una foto a color se debe añadir otra dimensión a la matriz original de 400 x 400, ahora la matriz será de 3 x 400 x 400, lo que vendría siendo un tensor.

De esta forma, muy superficial, es como trabajan las redes neuronales con las fotos.

Reducción de la dimensionalidad

Imagina que tienes un conjunto de datos con 3 variables. Visualmente nuestro conjunto de datos vendría representado de esta forma, en donde se dibuja 3 ejes, x, y y z. Esto vendría siendo una matriz con 3 columnas o m x 3.

AL1-7

Entonces si vemos algún punto de los datos, este vendría a estar representado por un vector que tiene un valor en el punto xi, yi y zi, de nuestra matriz m x 3. Nota que esas 3 variables son los mismos ejes del plano.

Acá es en donde se pone interesante. En algunos casos, podemos encontrar un plano muy cerca de los datos. Este plano sería bidimensional y esta definido por 2 variables u y v. Acá no todos los puntos se encuentran en este plano, pero podemos decir que aproximadamente si lo están.

Algebra lineal nos proporciona un método rápido y eficaz, en donde podemos convertir esta matriz de 3 variables en una nueva con solo dos variables, u y v. De esta forma, en lugar de tener 3 variables ahora tenemos solamente 2 variables.

AL1-8

De hecho si tienes 50 variables, puedes reducirlas a 40 o 20 o incluso a 10.

La reducción de dimensionalidad es un método muy útil cuando tenemos muchas variables que en ocasiones lo que hace es generar ruido a nuestro modelo de Machine Learning, por lo que aplicar este método es bastante útil.

Por todo esto y mucho más es bastante conveniente aprender álgebra lineal.

Sabiendo lo aprendido acá, te dejo la siguiente pregunta, ¿Cuáles de las siguientes afirmaciones crees tú que sea cierta?

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. El álgebra lineal es utilizada en otras áreas de la Inteligencia Artificial como lo vimos acá, por ejemplo, en el reconocimiento de imágenes.

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: Python no cuenta con librerías para implementar el álgebra lineal.

Respuesta incorrecta. Python cuenta con varias librerías con este propósito, por ejemplo NumPy.

Deja una respuesta

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