Jedno číslo, které říká, jak moc dva vektory míří stejným směrem.
Klíčová myšlenka
Definice
Intuice
Příklad
Pozor
Skalární součin vezme dva vektory a vrátí jedno číslo. Počítá se snadno, ale hlavně se dá číst: číslo ti řekne, jak moc spolu vektory souhlasí.
Zkus to rukama
Táhni za konce vektorů a sleduj tři věci: znaménko čísla, úhel a žlutý stín.
Hřiště: skalární součintáhni za oba konce
u · v = 6.00úhel = 53°míří stejným směrem
Žlutá úsečka je stín vektoru v na přímku vektoru u.
Podobnost vektorů
import numpy as np
u = np.array([3, 1])
v = np.array([1, 3])
dot = u @ v
cos = dot / (np.linalg.norm(u) * np.linalg.norm(v))
uhel = np.degrees(np.arccos(cos))
print("skalární součin:", dot)
print("kosinová podobnost:", round(cos, 3))
print("úhel ve stupních:", round(uhel, 1))
Proč to v ML potřebujeme
Každý neuron v neuronové síti dělá právě tohle: skalární součin vstupů s váhami. Vyšel kladný? Vstup se podobá tomu, co neuron hledá. Až se k neuronovým sítím dostaneme, vrátíme se k tomuhle obrázku.
Skalární součin dvou nenulových vektorů vyšel 0. Co to znamená?