La operación más importante de todo el álgebra lineal — y la que más vas a ver en redes neuronales (las "neuronas" calculan productos punto). Toma dos vectores y devuelve un solo número, con un significado geométrico precioso.
Antes de la fórmula, la idea: el producto punto es una forma de preguntarle a dos vectores "¿cuánto coinciden en dirección?". El resultado es un único número — no un vector. Verás el significado en la sección siguiente; primero el mecanismo, que es sencillo:
El producto punto entre dos vectores se escribe con un punto: a · b. Y se calcula así:
En palabras: multiplica las primeras componentes, multiplica las segundas, y suma los dos resultados. El resultado es UN solo número (no un vector).
a · b = a₁·b₁ + a₂·b₂
= 3·1 + 1·2
= 3 + 2
= 5
Eso es todo. a · b = 5. Ese número, 5, llevaremos a varios sitios en las próximas lecciones — es la "huella numérica" de la relación entre nuestros dos vectores.
El producto punto mide cuánto apuntan dos vectores en la misma dirección:
Mueve las puntas de las dos flechas y observa cómo cambia a · b en vivo. Intenta ponerlas perpendiculares (¿qué te sale?) y opuestas.
El producto punto está en cada neurona de cada red neuronal del mundo. Una neurona recibe varias entradas (datos), las multiplica cada una por un "peso" (número que la red aprende) y suma los resultados. Esa suma se llama la pre-activación — es decir, lo que calcula la neurona antes de decidir si "se activa" o no. Además suma un número fijo llamado sesgo (en inglés, bias) que funciona como ajuste de arranque:
Donde wₙ es el peso número n (el subíndice indica la posición) y xₙ es la entrada número n. Eso, sin el sesgo, es exactamente el producto punto entre el vector de pesos w y el vector de entradas x:
w de millones de productos punto. Si entiendes el producto punto, entiendes la mecánica básica de toda red neuronal.
a · b = b · a
conmutativo
el orden no importa
(k·a) · b = k · (a · b)
escalar afuera
multiplicar por un número se saca
a · (b + c) = a·b + a·c
distributivo
reparte sobre la suma
Ejemplo del distributivo con nuestros vectores (llamamos c = (2, 0) solo para este ejemplo): a · (b + c) = a · (3, 2) = 3·3 + 1·2 = 11. Por separado: a·b = 5 y a·c = 3·2 + 1·0 = 6. Y 5 + 6 = 11 ✓.
a · b = a₁·b₁ + a₂·b₂ toma dos vectores y devuelve un número. Mide alineamiento: positivo si miran en la misma dirección, cero si son perpendiculares (esquina recta), negativo si se oponen. Con nuestros vectores del curso: a · b = 3·1 + 1·2 = 5. Y aparece en cada neurona de toda red neuronal.
En la próxima lección usamos este resultado para medir longitudes y ángulos de forma precisa.