Krav: Senast jag skrev en artikel om att välja en inbäddningsmodell och få en vektor, vilken algoritm bör användas för att beräkna vektorlikheten efter att ha anropat inbäddningsmodellen för att få vektorvärdet och lagra det i vektordatabasen?
vektor
I linjär algebra definieras vektorer ofta i ett mer abstrakt vektorrum (även känt som linjärt rum). Vektorer är de grundläggande byggstenarna i vektorrummet.
(Många pilar representerar många vektorer)
Vektorlikhet
Några metoder för beräkning av vektorlikhet:
- Euklidisk distans
- Cosinuslikhet
- Pearsons korrelationskoefficient (Pearson)
- Justerad cosinus
- Hamming-avståndet
- Manhattanavståndet
- Chebyshev-distansen
- Euklidisk distans
Cosinuslikhet
Kosinuslikhet mäter likheten mellan två vektorer genom att mäta cosinusvärdet för vinkeln mellan dem. Cosinusvärdet för 0-gradsvinkeln är 1, medan cosinusvärdet för någon annan vinkel inte är större än 1; Och dess minimivärde är -1. Således avgör cosinusvärdet för vinkeln mellan de två vektorerna om de två vektorerna pekar i ungefär samma riktning. När två vektorer har samma pekning är värdet av cosinuslikhet 1; När vinkeln mellan de två vektorerna är 90° är värdet av cosinuslikhet 0. När två vektorer pekar i motsatta riktningar är värdet på cosinuslikhet -1. Detta resultat är oberoende av vektorns längd, endast riktningen för vektorns pekning. Cosinuslikhet används vanligtvis i positiva rum, så värdet som ges är mellan -1 och 1.
Cosinuslikhet använder cosinusvärdet för vinkeln mellan två vektorer i vektorrummet som storleken på skillnaden mellan två individer. Ju närmare cosinusvärdet är 1, desto närmare är vinkeln 0 grader, det vill säga desto mer lika är de två vektorerna, vilket kallas "cosinuslikhet".
Pearson-korrelationskoefficient
Givet två stokastiska variabler X och Y kan Pearsons korrelationskoefficient användas för att mäta hur korrelerade de två är, med följande formel:
Jaccard-koefficienten
Antag att det finns två mängder X och Y (observera att de två här inte är vektorer), formeln för beräkning är:
Punktprodukt
Den kvantitativa produkten, även känd som skalärprodukt och skalärprodukt, kallas inre produkt i euklidisk rum, och motsvarande element multipliceras och adderas, vilket resulterar i en skalär storhet (dvs. ett tal). Det syftar på en binär operation som accepterar två vektorer på det reella talet R och returnerar en reell numerisk skalär. Det är standardinre produkten av det euklidiska rummet.
Vanliga avstånd
Minkowski-distansen
Minkowski Distane är ett generaliserat uttryck av multipla avståndsmätformler, där p=1 är Minkowski Distane Manhattanavståndet; När p=2 är Minkowski Distane det euklidiska avståndet; Minkowski Distane tar formen av gränsen för Chebyshev-avståndet.
Manhattanavståndet
Euklidisk distans
Chebyshev-distansen
Hamming-avståndet
Inom informationsteori är Hemmingavståndet mellan två lika strängar antalet tecken på olika positioner som motsvarar de två strängarna. Antag att det finns två strängar: x=[x1,x2,...,xn] och y=[y1,y2,...,yn], då är avståndet mellan de två:
där II representerar indikativfunktionen, är båda 1 för samma, annars är det 0.
KL-avvikelsen
Givet den stokastiska variabeln X och de två sannolikhetsfördelningarna P och Q kan KL-divergensen användas för att mäta skillnaden mellan de två fördelningarna med följande formel:
sammanfattning
Pipproduktavstånd och cosinuslikhet används ofta för att mäta likhet i vektor- eller textdata。 Det används främst för att mäta vektorlikhet, såsom dokumentlikhet vid textutvinning och naturlig språkbehandling, eller informationssökning, rekommendationssystem och andra områden. Om du använder en modern embedding-modell som Sentence-BERT eller andra förtränade modeller är standardutdata vanligtvis normaliserad, så "PunktackumuleringDet är det föredragna alternativet.
Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig. |