Wat is cosine versus dot product versus euclidean — hoe beïnvloedt normalisatie?
sobes.tech AI
Antwoord van AI
Puntproduct (scalair product) — dit is de som van de producten van de overeenkomstige componenten van twee vectoren. Het weerspiegelt de mate van gelijkenis rekening houdend met de lengte van de vectoren:
[ \mathbf{a} \cdot \mathbf{b} = \sum_i a_i b_i ]
Cosine gelijkenis (cosine similarity) — is het genormaliseerde scalair product, gedeeld door het product van de normen (lengtes) van de vectoren. Het meet de hoek tussen de vectoren, negerend hun lengte:
[ \cos \theta = \frac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}| |\mathbf{b}|} ]
Euclidische afstand (Euclidische afstand) — is een maat voor de afstand tussen twee punten (vectoren) in de ruimte:
[ d(\mathbf{a}, \mathbf{b}) = \sqrt{\sum_i (a_i - b_i)^2} ]
Invloed van normalisatie:
- Bij normalisatie van vectoren tot eenheidslengte (( |\mathbf{a}| = 1 )), wordt het scalair product gelijk aan de cosine gelijkenis.
- Cosine gelijkenis is robuust tegen schaalverandering van vectoren, omdat het alleen de hoek tussen hen meet.
- Euclidische afstand is gevoelig voor de lengte van de vectoren, dus normalisatie kan de vergelijkingsresultaten veranderen.
In taken voor het zoeken en vergelijken van vectorrepresentaties (bijvoorbeeld in vector databases) wordt vaak cosine gelijkenis gebruikt om semantische nabijheid te beoordelen, omdat het de lengte negeert en zich richt op de richting van de vectoren.