Las entradas anteriores explican cómo representar vectores y cómo una matriz puede transformar el espacio. Una matriz puede estirar, comprimir, reflejar, inclinar o incluso aplastar el plano.

Al aplicar una de esas transformaciones, una flecha suele cambiar de longitud y de dirección. Sin embargo, algunas direcciones se comportan de una forma especial: después de la transformación continúan sobre la misma línea.

Esas direcciones son la idea central de los vectores propios.

Buscar lo que la transformación conserva

Considérese una matriz simétrica sencilla:

A=(2112).A=\begin{pmatrix}2&1\\1&2\end{pmatrix}.

Su efecto sobre un vector cualquiera, por ejemplo u=(1,0)\mathbf u=(1,0), es

Au=(2112)(10)=(21).A\mathbf u= \begin{pmatrix}2&1\\1&2\end{pmatrix} \begin{pmatrix}1\\0\end{pmatrix} =\begin{pmatrix}2\\1\end{pmatrix}.

La flecha que apuntaba horizontalmente termina inclinada. Cambiaron tanto su magnitud como su dirección. Lo mismo ocurre con casi todos los vectores del plano.

El resultado es distinto al usar v1=(1,1)\mathbf v_1=(1,1):

Av1=(33)=3(11).A\mathbf v_1= \begin{pmatrix}3\\3\end{pmatrix} =3\begin{pmatrix}1\\1\end{pmatrix}.

El resultado es tres veces el vector original. La flecha crece, pero sigue sobre la recta y=xy=x. La transformación no puede sacar a v1\mathbf v_1 de esa dirección.

También sucede algo especial con v2=(1,1)\mathbf v_2=(1,-1):

Av2=(11)=1(11).A\mathbf v_2= \begin{pmatrix}1\\-1\end{pmatrix} =1\begin{pmatrix}1\\-1\end{pmatrix}.

En este caso la flecha ni siquiera cambia de longitud. Las diagonales y=xy=x y y=xy=-x revelan las dos direcciones propias de esta matriz.

En el siguiente laboratorio puedes modificar una matriz simétrica de la forma A=(abbd)A=\left(\begin{smallmatrix}a&b\\b&d\end{smallmatrix}\right). El valor aa ocupa la esquina superior izquierda y controla la respuesta horizontal; dd ocupa la esquina inferior derecha y controla la respuesta vertical; bb aparece en las otras dos posiciones y mezcla ambos ejes.

Las flechas grises son vectores de prueba: permiten comparar cómo cambia una dirección cualquiera. Las dos flechas verdes de la izquierda, v₁ y v₂, son vectores propios unitarios. A la derecha aparecen sus resultados Av₁ y Av₂. Las líneas verdes discontinuas muestran que cada resultado permanece sobre la misma dirección propia.

La mayoría de los vectores grises cambia de dirección al pasar del panel izquierdo al derecho. En cambio, v1\mathbf v_1 y v2\mathbf v_2 se mantienen alineados con las líneas discontinuas. Sus resultados pueden crecer, reducirse, invertirse o desaparecer, pero no abandonan sus respectivas direcciones.

Los controles usan matrices simétricas porque siempre tienen direcciones propias reales y perpendiculares. Esto permite observar el fenómeno sin introducir todavía números complejos.

Del dibujo a la ecuación

Un vector propio de una matriz AA es un vector no nulo v\mathbf v cuya dirección no cambia al aplicar la transformación. El resultado solo difiere por un factor de escala λ\lambda:

En inglés, los valores propios se llaman eigenvalues y los vectores propios, eigenvectors. Es frecuente encontrar ambos términos sin traducir en documentación de bibliotecas, artículos y cursos.

Av=λv.A\mathbf v=\lambda\mathbf v.

Cada símbolo tiene una lectura geométrica:

  • AA es la matriz, es decir, la transformación.
  • v\mathbf v es un vector propio y señala una dirección especial.
  • λ\lambda es su valor propio e indica cuánto se escala esa dirección.
  • AvA\mathbf v es el vector después de transformar el espacio.

La igualdad no dice que AA deje intacto a v\mathbf v. Dice que transformarlo equivale a multiplicarlo por un solo número. Como multiplicar un vector por un escalar conserva su línea, AvA\mathbf v y v\mathbf v quedan alineados.

El vector cero se excluye de la definición. Como toda matriz cumple A0=λ0A\mathbf 0=\lambda\mathbf 0, aceptarlo no permitiría distinguir ninguna dirección.

Además, una dirección propia contiene infinitos vectores. Si (1,1)(1,1) es propio, entonces (2,2)(2,2), (1,1)(-1,-1) y cualquier múltiplo no nulo también lo son. Lo importante no es una flecha concreta, sino la línea que representa.

Qué indica el valor propio

El signo y la magnitud de λ\lambda resumen lo que la matriz hace sobre una dirección propia.

La flecha clara es v y la verde es λv. Ambas permanecen sobre la misma línea; un valor negativo invierte el sentido y λ = 0 lleva el vector al origen.

El valor de λ\lambda produce cuatro comportamientos:

  • Si λ>1\lambda>1, el vector conserva el sentido y se alarga.
  • Si 0<λ<10<\lambda<1, conserva el sentido y se acorta.
  • Si λ<0\lambda<0, cambia de sentido. Su longitud se multiplica por λ|\lambda|.
  • Si λ=0\lambda=0, toda esa dirección termina en el origen. La transformación pierde información y la matriz no es invertible.

Un valor propio igual a 11 es un caso especialmente quieto: los vectores de esa dirección quedan exactamente donde estaban. Si λ=1\lambda=-1, conservan su longitud, pero apuntan al lado contrario.

Otro ejemplo: estirar los ejes

Otro caso sencillo es la matriz diagonal

B=(20012).B=\begin{pmatrix}2&0\\0&\tfrac12\end{pmatrix}.

Sobre el eje horizontal,

B(10)=(20)=2(10).B\begin{pmatrix}1\\0\end{pmatrix} =\begin{pmatrix}2\\0\end{pmatrix} =2\begin{pmatrix}1\\0\end{pmatrix}.

Por tanto, (1,0)(1,0) es un vector propio con valor propio 22: esa dirección se estira al doble.

Sobre el eje vertical,

B(01)=(012)=12(01).B\begin{pmatrix}0\\1\end{pmatrix} =\begin{pmatrix}0\\\tfrac12\end{pmatrix} =\tfrac12\begin{pmatrix}0\\1\end{pmatrix}.

Aquí (0,1)(0,1) es un vector propio con valor propio 12\tfrac12: esa dirección se comprime a la mitad.

En cambio, (1,1)(1,1) no es un vector propio:

B(11)=(212).B\begin{pmatrix}1\\1\end{pmatrix} =\begin{pmatrix}2\\\tfrac12\end{pmatrix}.

No existe un único número que multiplique ambas coordenadas de (1,1)(1,1) para producir (2,12)(2,\tfrac12). La flecha cambia de dirección porque sus componentes se escalan de manera distinta.

Cómo encontrar valores y vectores propios

La intuición indica qué se está buscando. El cálculo comienza con la condición que define a un vector propio:

Av=λv.A\mathbf v=\lambda\mathbf v.

El lado izquierdo transforma v\mathbf v con la matriz AA. El lado derecho escala el mismo vector por un número λ\lambda. Para restar ambos lados, las dos operaciones deben escribirse como multiplicaciones de matrices.

La matriz identidad de tamaño 2×22\times2 es

I=(1001).I=\begin{pmatrix}1&0\\0&1\end{pmatrix}.

Se llama identidad porque no cambia ningún vector:

Iv=v.I\mathbf v=\mathbf v.

Por tanto, multiplicar v\mathbf v por λ\lambda equivale a multiplicarlo por la matriz λI\lambda I:

λv=λIv.\lambda\mathbf v=\lambda I\mathbf v.

Con esta equivalencia, la ecuación original se puede reescribir como

Av=λIv.A\mathbf v=\lambda I\mathbf v.

Al restar λIv\lambda I\mathbf v en ambos lados se obtiene

AvλIv=0.A\mathbf v-\lambda I\mathbf v=\mathbf 0.

Como ambos términos multiplican al mismo vector, v\mathbf v puede extraerse como factor común:

(AλI)v=0.(A-\lambda I)\mathbf v=\mathbf 0.

Por qué el determinante se iguala a cero

La ecuación anterior siempre tiene la solución v=0\mathbf v=\mathbf 0, pero el vector cero no señala ninguna dirección y no cuenta como vector propio. Hace falta una solución no nula.

Si AλIA-\lambda I fuera invertible, ambos lados podrían multiplicarse por su inversa:

(AλI)1(AλI)v=(AλI)10,(A-\lambda I)^{-1}(A-\lambda I)\mathbf v =(A-\lambda I)^{-1}\mathbf 0,

y el resultado sería necesariamente

v=0.\mathbf v=\mathbf 0.

Para permitir una solución no nula, AλIA-\lambda I no debe tener inversa. Una matriz cuadrada no es invertible exactamente cuando su determinante vale cero. Por eso se buscan los valores de λ\lambda que cumplen

det(AλI)=0.\det(A-\lambda I)=0.

Geométricamente, esos son los valores para los cuales AλIA-\lambda I aplasta al menos una dirección. Los vectores de esa dirección terminan en cero y forman las soluciones no nulas buscadas.

Paso 1: encontrar los eigenvalues

El cálculo se aplicará a la matriz del primer ejemplo:

A=(2112).A=\begin{pmatrix}2&1\\1&2\end{pmatrix}.

Como

λI=λ(1001)=(λ00λ),\lambda I =\lambda\begin{pmatrix}1&0\\0&1\end{pmatrix} =\begin{pmatrix}\lambda&0\\0&\lambda\end{pmatrix},

la resta se hace entrada por entrada:

AλI=(2112)(λ00λ)=(2λ112λ).A-\lambda I =\begin{pmatrix}2&1\\1&2\end{pmatrix} -\begin{pmatrix}\lambda&0\\0&\lambda\end{pmatrix} =\begin{pmatrix}2-\lambda&1\\1&2-\lambda\end{pmatrix}.

Para una matriz 2×22\times2, el determinante se calcula multiplicando la diagonal principal y restando el producto de la otra diagonal:

det(2λ112λ)=(2λ)(2λ)(1)(1).\det\begin{pmatrix}2-\lambda&1\\1&2-\lambda\end{pmatrix} =(2-\lambda)(2-\lambda)-(1)(1).

El determinante se iguala a cero y se desarrolla:

(2λ)21=0,(2-\lambda)^2-1=0, 44λ+λ21=0,4-4\lambda+\lambda^2-1=0, λ24λ+3=0.\lambda^2-4\lambda+3=0.

La factorización requiere dos números cuyo producto sea 33 y cuya suma sea 4-4. Esos números son 3-3 y 1-1:

(λ3)(λ1)=0,(\lambda-3)(\lambda-1)=0,

Un producto vale cero si al menos uno de sus factores vale cero. Por tanto,

λ3=0oλ1=0,\lambda-3=0\quad\text{o}\quad\lambda-1=0,

y así aparecen los dos eigenvalues:

λ1=3,λ2=1.\lambda_1=3, \qquad \lambda_2=1.

Paso 2: encontrar el eigenvector de λ1=3\lambda_1=3

Se sustituye λ=3\lambda=3 en (AλI)v=0(A-\lambda I)\mathbf v=\mathbf 0. Primero se calcula la matriz:

A3I=(2112)(3003)=(1111).A-3I =\begin{pmatrix}2&1\\1&2\end{pmatrix} -\begin{pmatrix}3&0\\0&3\end{pmatrix} =\begin{pmatrix}-1&1\\1&-1\end{pmatrix}.

El vector desconocido se escribe como

v=(xy).\mathbf v=\begin{pmatrix}x\\y\end{pmatrix}.

Entonces

(1111)(xy)=(00).\begin{pmatrix}-1&1\\1&-1\end{pmatrix} \begin{pmatrix}x\\y\end{pmatrix} =\begin{pmatrix}0\\0\end{pmatrix}.

Multiplicar cada fila por el vector produce el sistema

{x+y=0,xy=0.\begin{cases} -x+y=0,\\ x-y=0. \end{cases}

Las dos ecuaciones dicen lo mismo: y=xy=x. La solución no es un único vector, sino una dirección completa:

v=(xx)=x(11).\mathbf v =\begin{pmatrix}x\\x\end{pmatrix} =x\begin{pmatrix}1\\1\end{pmatrix}.

Se puede elegir cualquier valor de xx excepto cero. Al tomar x=1x=1 aparece un representante sencillo:

v1=(11).\mathbf v_1=\begin{pmatrix}1\\1\end{pmatrix}.

Elegir x=2x=2 produciría (2,2)(2,2), que apunta sobre la misma línea. Por eso ambos representan la misma dirección propia.

Paso 3: encontrar el eigenvector de λ2=1\lambda_2=1

El proceso se repite con λ=1\lambda=1:

AI=(2112)(1001)=(1111).A-I =\begin{pmatrix}2&1\\1&2\end{pmatrix} -\begin{pmatrix}1&0\\0&1\end{pmatrix} =\begin{pmatrix}1&1\\1&1\end{pmatrix}.

La matriz se multiplica por el vector desconocido:

(1111)(xy)=(00).\begin{pmatrix}1&1\\1&1\end{pmatrix} \begin{pmatrix}x\\y\end{pmatrix} =\begin{pmatrix}0\\0\end{pmatrix}.

Las dos filas producen la misma ecuación:

x+y=0.x+y=0.

Al despejar y=xy=-x, todas las soluciones quedan expresadas como

v=(xx)=x(11).\mathbf v =\begin{pmatrix}x\\-x\end{pmatrix} =x\begin{pmatrix}1\\-1\end{pmatrix}.

Al tomar de nuevo x=1x=1, se obtiene

v2=(11).\mathbf v_2=\begin{pmatrix}1\\-1\end{pmatrix}.

Paso 4: comprobar el resultado

Un cálculo final confirma que cada vector se escala por su eigenvalue correspondiente:

Av1=(2112)(11)=(33)=3(11)=3v1,A\mathbf v_1 =\begin{pmatrix}2&1\\1&2\end{pmatrix} \begin{pmatrix}1\\1\end{pmatrix} =\begin{pmatrix}3\\3\end{pmatrix} =3\begin{pmatrix}1\\1\end{pmatrix} =3\mathbf v_1, Av2=(2112)(11)=(11)=1v2.A\mathbf v_2 =\begin{pmatrix}2&1\\1&2\end{pmatrix} \begin{pmatrix}1\\-1\end{pmatrix} =\begin{pmatrix}1\\-1\end{pmatrix} =1\mathbf v_2.

El procedimiento tiene dos etapas distintas. El determinante encuentra los factores de escala permitidos, es decir, los eigenvalues. Después, cada sistema (AλI)v=0(A-\lambda I)\mathbf v=\mathbf 0 encuentra la dirección asociada, es decir, los eigenvectors.

Una imagen como tensor RGB

Una imagen a color puede representarse como un tensor de altura ×\times anchura ×\times canales. En una imagen de 4×44\times4 píxeles, el tensor tiene forma 4×4×34\times4\times3 porque cada píxel contiene tres números: rojo, verde y azul.

Por ejemplo, un píxel puede ser

p=(R,G,B)=(230,70,40).\mathbf p=(R,G,B)=(230,70,40).

Al dividir cada canal entre 255255, el mismo color se convierte en un punto dentro del cubo RGB [0,1]3[0,1]^3. La siguiente figura genera una imagen pequeña con valores fijos de apariencia aleatoria y coloca sus dieciséis píxeles en ese espacio tridimensional.

A la izquierda, una imagen sintética de 4 × 4. A la derecha, cada píxel se convierte en un vector (R, G, B): los ejes representan la intensidad de los canales rojo, verde y azul.

Esos vectores pueden reunirse, centrarse restando su color promedio y utilizarse para construir una matriz que describa cómo varían juntos los canales. Los eigenvectors de esa matriz señalan combinaciones de color dominantes; sus eigenvalues indican cuánta variación aparece en cada combinación. Esta es la intuición detrás de usar componentes principales para analizar o comprimir datos visuales.

En una imagen real, el tensor conserva además la posición de cada píxel. Redes convolucionales y modelos de visión transforman ese tensor en representaciones con muchos canales. Cada posición deja de contener solo RGB y pasa a contener un vector de características: bordes, texturas, formas u otras señales aprendidas.

De one-hot a un embedding

En lenguaje ocurre una transformación parecida, pero conviene separar tres objetos: el vocabulario, el vector one-hot y la matriz de embeddings.

El ejemplo utiliza un vocabulario diminuto con tres palabras:

{gato,perro,casa}.\{\text{gato},\text{perro},\text{casa}\}.

Una codificación one-hot asigna un eje independiente a cada palabra:

gato=(100),perro=(010),casa=(001).\text{gato}=\begin{pmatrix}1\\0\\0\end{pmatrix},\quad \text{perro}=\begin{pmatrix}0\\1\\0\end{pmatrix},\quad \text{casa}=\begin{pmatrix}0\\0\\1\end{pmatrix}.

Cada vector tiene tres componentes porque hay tres palabras en el vocabulario. La posición del 11 funciona como un identificador:

  • la primera posición identifica a gato;
  • la segunda identifica a perro;
  • la tercera identifica a casa.

Estas tres coordenadas no describen propiedades como «animal» o «objeto». Solo reservan una casilla distinta para cada palabra. Por eso gato y perro están tan separados como gato y casa.

Para colocar las palabras en un plano, cada una se representará mediante dos números. La transformación irá de un espacio de entrada de dimensión 33 a un espacio de embeddings de dimensión 22:

R3R2.\mathbb R^3\longrightarrow\mathbb R^2.

Una transformación de tres entradas a dos salidas se representa mediante una matriz con tres columnas y dos filas. Se llamará EE a esa matriz de embeddings; por tanto, su tamaño es 2×32\times3:

E2×3=(0.90.80.40.70.60.9).E_{2\times3}=\begin{pmatrix} 0.9&0.8&-0.4\\ 0.7&0.6&0.9 \end{pmatrix}.

El vector one-hot no se convierte en una matriz. Sigue siendo un vector 3×13\times1. La matriz EE actúa sobre él:

E2×3x3×1=z2×1.\underbrace{E}_{2\times3} \underbrace{\mathbf x}_{3\times1} = \underbrace{\mathbf z}_{2\times1}.

Las dimensiones interiores, 33 y 33, coinciden. El resultado conserva la dimensión exterior de la matriz: dos filas, por tanto dos números.

La multiplicación completa para gato es

Egato=(0.90.80.40.70.60.9)(100).E\,\text{gato} = \begin{pmatrix} 0.9&0.8&-0.4\\ 0.7&0.6&0.9 \end{pmatrix} \begin{pmatrix}1\\0\\0\end{pmatrix}.

Cada fila se multiplica por el vector:

Egato=(0.9(1)+0.8(0)0.4(0)0.7(1)+0.6(0)+0.9(0))=(0.90.7).E\,\text{gato} = \begin{pmatrix} 0.9(1)+0.8(0)-0.4(0)\\ 0.7(1)+0.6(0)+0.9(0) \end{pmatrix} = \begin{pmatrix}0.9\\0.7\end{pmatrix}.

Los ceros eliminan las columnas de perro y casa; solo sobrevive la primera columna. Por eso multiplicar por un one-hot equivale a seleccionar una columna de EE.

El mismo mecanismo selecciona la segunda columna para perro y la tercera para casa:

Eperro=(0.80.6),Ecasa=(0.40.9).E\,\text{perro}=\begin{pmatrix}0.8\\0.6\end{pmatrix},\quad E\,\text{casa}=\begin{pmatrix}-0.4\\0.9\end{pmatrix}.

La matriz también puede leerse por columnas:

E=(egatoeperroecasa),E= \begin{pmatrix} \vert&\vert&\vert\\ \mathbf e_{\text{gato}}&\mathbf e_{\text{perro}}&\mathbf e_{\text{casa}}\\ \vert&\vert&\vert \end{pmatrix},

donde cada e\mathbf e representa una columna completa, no una entrada individual.

Cada columna contiene directamente el embedding de una palabra. En el ejemplo, gato queda en (0.9,0.7)(0.9,0.7) y perro en (0.8,0.6)(0.8,0.6), dos puntos cercanos del plano. Casa queda en (0.4,0.9)(-0.4,0.9), más lejos de ambos.

El ejemplo usa dos dimensiones únicamente para que los vectores puedan dibujarse. En un modelo real, un vocabulario puede tener decenas de miles de palabras y cada embedding suele tener cientos o miles de componentes. La matriz tendría entonces una columna por palabra y una fila por dimensión del embedding.

Los números del ejemplo solo ilustran el mecanismo. En un modelo real no se escriben a mano: se aprenden a partir de datos.

Por qué buscar estas direcciones

Una matriz puede mezclar muchas coordenadas a la vez. Los vectores propios permiten encontrar direcciones sobre las que esa acción complicada se reduce a una multiplicación por un número.

Eso los vuelve útiles para estudiar sistemas que evolucionan repetidamente. Si Av=λvA\mathbf v=\lambda\mathbf v, entonces

A2v=λ2v,Akv=λkv.A^2\mathbf v=\lambda^2\mathbf v, \qquad A^k\mathbf v=\lambda^k\mathbf v.

La magnitud de λ\lambda permite anticipar si esa componente crecerá, se apagará u oscilará al repetir la transformación. Esta lectura aparece al analizar estabilidad de sistemas dinámicos, vibraciones, reducción de dimensiones y comportamiento de algoritmos iterativos.

No toda matriz tiene dos direcciones propias reales y distintas en el plano. Una rotación de 9090^\circ, por ejemplo, gira cualquier flecha no nula fuera de su línea; para describir sus valores propios hace falta ampliar el sistema a números complejos. Esa excepción no cambia la idea geométrica: los eigenvectors siguen siendo las direcciones desde las que una transformación puede describirse mediante un factor de escala.