LECCIÓN 8

Matriz por vector

La operación reina del álgebra lineal — y la que hace funcionar a cada capa de cada red neuronal. Le metes un vector a una matriz, sale otro vector. Y es solo... varios productos punto.

Recuerda de la lección anterior: aprendiste que una matriz es una tabla de números que actúa como una "máquina de transformar vectores". Nuestra matriz del curso es M = [[1, 2], [0, 1]]. Hoy la usamos de verdad: metes un vector y calculas qué sale.

1La receta en una frase

Para multiplicar una matriz por un vector: haz el producto punto de cada fila de la matriz con el vector, y junta los resultados. Cada resultado es una componente del vector de salida. Lo vemos directamente con números en la siguiente sección — la fórmula general al final.

2Lo aplicamos a M y a

Recuerda: M = [[1, 2], [0, 1]] y a = (3, 1). Vamos a calcular M · a:

[
12
01
]
· [
3
1
]
 =  [
?
?
]
✍️ Paso a paso, fila por fila
PRIMERA componente = (fila 1 de M) · (a)
                    = (1, 2) · (3, 1)
                    = 1·3 + 2·1            ← producto punto
                    = 3 + 2
                    = 5

SEGUNDA componente = (fila 2 de M) · (a)
                    = (0, 1) · (3, 1)
                    = 0·3 + 1·1            ← producto punto
                    = 0 + 1
                    = 1

Resultado:  M · a = (5, 1)

El vector a = (3, 1) ha sido transformado por M en el vector (5, 1). La matriz lo "movió" — lo desplazó horizontalmente sin cambiar su altura.

Ahora que lo viste con números, la fórmula general (con letras para cualquier matriz 2×2 y cualquier vector). Nota: aquí usamos p, q, r, s para los elementos de la matriz — letras distintas a nuestro vector a para evitar confusión:

[
pq
rs
]
· [
x
y
]
 =  [
p·x + q·y
r·x + s·y
]

primera componente = fila 1 · vector   ·   segunda componente = fila 2 · vector

3Antes y después, dibujado

imagen 1 · la matriz M transformó a (3, 1) en (5, 1)
0 3 5 1 a = (3, 1) M·a = (5, 1) M lo "empuja"
El vector a entró a la "máquina M" y salió convertido en (5, 1). Se movió a la derecha; la altura no cambió.

4Esto ya lo conoces — es una capa de red neuronal

Una red neuronal tiene capas. Cada capa toma un vector de entradas, lo multiplica por una matriz de pesos y añade un sesgo. Si no has visto el curso de redes, no te preocupes — solo mira que la fórmula es exactamente lo que acabas de calcular:

z = x · W + sesgo

Esa multiplicación x · W es, palabra por palabra, una multiplicación matriz-por-vector. Cada elemento del resultado z es el producto punto de los pesos de una neurona con el vector de entrada.

🌟 Una capa de red = una multiplicación matriz por vector + un bias. Lo que en redes parecía "muchas neuronas haciendo cálculos en paralelo" es UNA sola operación: M · x. Por eso las GPUs son tan rápidas con esto: están optimizadas exactamente para esta operación.

5Pruébalo: cambia M y mira cómo transforma a

Modifica los 4 números de la matriz y observa adónde va a parar el vector a = (3, 1) después de aplicar M. La flecha rosada punteada muestra dónde estaba a antes de la transformación. La flecha verde muestra adónde llegó después.

1.0
2.0
0.0
1.0

6Lo que aprendiste

✍️ La receta en una caja
M · v   =   (fila 1 de M) · v
            (fila 2 de M) · v
            ...
            (fila m de M) · v

→ cada componente de la salida es un PRODUCTO PUNTO.
Lo que aprendiste hoy: multiplicar una matriz por un vector es hacer el producto punto de cada fila de la matriz con el vector, y juntar los resultados como un nuevo vector. Cada componente de la salida es un producto punto. Resultado oficial del curso: M · a = (5, 1).

En la próxima lección veremos qué le hace M (y otras matrices) al espacio entero — rotaciones, escalados, cizallas, espejos.