Autovalores y autovectores en ML

Autor: | Última modificación: 12 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

El cálculo de autovalores y autovectores en ML tiene muchísimas aplicaciones, como puede ser el cálculo de componentes principales en machine learning.

Veamos un ejemplo sencillo, que consiste en obtener los ejes principales de una matriz de dispersión (o de covarianza) de un conjunto de muestras. En otras palabras, ver en qué direcciones tienden a estar alineados un montón de puntos.

Un ejemplo en dos dimensiones: si calculamos la matriz de covarianza de los puntos de la figura, sus dos autovectores nos indican las direcciones marcadas por flechas, cuya longitud está dada por los autovalores. Y el autovector del mayor autovalor nos dice la dirección principal en la que se alinean los puntos.

Autovalores y autovectores en ML
Autovalores y autovectores en ML

¿Dónde se usan los autovalores y autovectores en ML?

Al hablar de vectores decimos que si tenemos un vector muy grande, con muchos componentes, existen unos algoritmos que nos permiten reducir la dimensionalidad, pero manteniendo cierta cantidad de información.

Entre estos algoritmos se encuentra el PCA o principal components analysis. Este algoritmo nos permite reducir la dimensionalidad de los vectores, manteniendo cierta cantidad de información.

Internamente, este algoritmo usa autovalores y autovectores en ML para calcular. Lo que se intenta hacer aquí es maximizar la varianza cuando proyectamos los datos en nuevos componentes.

Aquí hay algo importante a resaltar y es el papel que tiene la factorización en todo este proceso.

Factorización

La factorización nos permite escribir una matriz empleando otras matrices. Uno de los tipos de factorización más famosos es el de lower-upper, donde se nos permite escribir una matriz A de la siguiente manera:

A = L . U

Para estos casos, L y U son matrices triangulares. Entonces, si tenemos una matriz A, podemos escribirla utilizando una matriz triangular inferior (L, por lower) y una matriz triangular superior (U, por upper). Si multiplicamos esto, nos debe dar la matriz original A.

¿Existe algún tipo de mecanismo que nos permita usar los autovalores y autovectores en ML para factorizar matrices? La respuesta, claramente, es sí. Esta factorización es el singular value decomposition o SVD.

Singular value decomposition

El singular value decomposition es otro mecanismo de factorización que nos permite usar autovalores y autovectores en ML. Su fórmula se puede explicar del siguiente modo: la matriz x puede ser escrita por la multiplicación de una matriz u, por una matriz sigma, por una matriz v traspuesta. Resumido:

X = u . Σ . vT

Esto funciona exactamente del mismo modo que el lower-upper, donde la X es la multiplicación de otras matrices distintas; en este caso, al haber tres variables, se dividen entre los autovalores y autovectores en ML y los singular values.

Pero ¿qué es u, qué es Σ y qué es vT?

Imaginemos que tenemos una matriz de tamaño m x n, entonces, la matriz X va a ser reconstruida por una matriz u, una matriz Σ y una matriz vT. Aquí, u tiene el tamaño de m x r; Σ es r x r, y vT es r x n.

X ∈ Rmxn → X = u Σ vT

Si reemplazamos los valores de u, Σ y vT, la ecuación quedaría así:

X = (m x r) . (r x r) . (r x n)

Quitando las r, ya que en la multiplicación esto se simplificaría, nos quedaría únicamente m x n (m, n). Entonces, ¿qué es cada cosa?

  • La matriz u es una matriz de autovalores y tiene tamaño m x r.
  • La matriz v es una matriz de autovectores y tiene el tamaño r x n.
  • La matriz Σ es una matriz diagonal cuadrada. Cuadrada porque es r x r y diagonal indica que solo tiene valores en su diagonal, el resto son ceros. Lo que contiene esta matriz son los singular values, que vienen dados por la expresión √ A (la raíz cuadrada de los autovalores).

¿Quieres seguir avanzando?

Ya sabes cómo funcionan los autovalores y autovectores en ML, por lo que puedes seguir avanzando en tu proceso de formación. Para poder acceder a las opciones laborales del Big Data, uno de los sectores más prolíficos y mejor pagados, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Con esta formación intensiva e íntegra adquirirás los conocimientos teóricos y prácticos necesarios para alcanzar el trabajo de tus sueños en pocos meses. ¡No esperes más para impulsar tu carrera y solicita ya información!

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado