Metrik-Typen
Ähnlichkeitsmetriken werden verwendet, um Ähnlichkeiten zwischen Vektoren zu messen. Durch die Wahl einer geeigneten Distanzmetrik kann die Klassifizierungs- und Clustering-Leistung erheblich verbessert werden.
Derzeit unterstützt Milvus die folgenden Arten von Ähnlichkeitsmetriken: Euklidischer Abstand (L2
), Inneres Produkt (IP
), Kosinusähnlichkeit (COSINE
), JACCARD
, HAMMING
und BM25
(speziell für die Volltextsuche in spärlichen Vektoren).
Die folgende Tabelle fasst die Zuordnung zwischen verschiedenen Feldtypen und den entsprechenden metrischen Typen zusammen.
Feldtyp | Dimension Bereich | Unterstützte metrische Typen | Standard-Metrik-Typ |
---|---|---|---|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| 2-32,768 |
|
|
| Die Angabe der Dimension ist nicht erforderlich. |
|
|
| 8-32,768*8 |
|
|
Verwenden Sie für Vektorfelder vom Typ
SPARSE_FLOAT_VECTOR
nur den metrischen TypBM25
, wenn Sie eine Volltextsuche durchführen. Weitere Informationen finden Sie unter Volltextsuche.Bei Vektorfeldern des Typs
BINARY_VECTOR
muss der Dimensionswert (dim
) ein Vielfaches von 8 sein.
Die nachstehende Tabelle fasst die Eigenschaften der Ähnlichkeitsabstandswerte aller unterstützten metrischen Typen und ihren Wertebereich zusammen.
Metrischer Typ | Merkmale der Werte für den Ähnlichkeitsabstand | Ähnlichkeitsabstand Wertebereich |
---|---|---|
| Ein kleinerer Wert zeigt eine größere Ähnlichkeit an. | [0, ∞) |
| Ein größerer Wert weist auf eine größere Ähnlichkeit hin. | [-1, 1] |
| Ein größerer Wert bedeutet eine größere Ähnlichkeit. | [-1, 1] |
| Ein kleinerer Wert weist auf eine größere Ähnlichkeit hin. | [0, 1] |
| Ein kleinerer Wert bedeutet eine größere Ähnlichkeit. | [0, dim(vector)] |
| Bewertung der Relevanz auf der Grundlage der Termhäufigkeit, der invertierten Dokumenthäufigkeit und der Dokumentnormalisierung. | [0, ∞) |
Euklidischer Abstand (L2)
Im Wesentlichen misst der euklidische Abstand die Länge eines Segments, das 2 Punkte miteinander verbindet.
Die Formel für den euklidischen Abstand lautet wie folgt.
Euklidische Abstandsformel
wobei a = (a0, a1,...,an-1) und b = (b0, b1,..., bn-1) zwei Punkte im n-dimensionalen euklidischen Raum sind.
Es ist die am häufigsten verwendete Abstandsmetrik und ist sehr nützlich, wenn die Daten kontinuierlich sind.
Milvus berechnet nur dann den Wert vor der Anwendung der Quadratwurzel, wenn der euklidische Abstand als Abstandsmetrik gewählt wurde.
Inneres Produkt (IP)
Der IP-Abstand zwischen zwei Einbettungen ist wie folgt definiert.
Formel für das innere Produkt
IP ist nützlicher, wenn Sie nicht-normalisierte Daten vergleichen müssen oder wenn Sie sich für die Größe und den Winkel interessieren.
Wenn Sie IP zur Berechnung von Ähnlichkeiten zwischen Einbettungen verwenden, müssen Sie Ihre Einbettungen normalisieren. Nach der Normalisierung entspricht das innere Produkt der Kosinusähnlichkeit.
Angenommen, X' ist von der Einbettung X normalisiert.
Formel für das normalisierte innere Produkt
Die Korrelation zwischen den beiden Einbettungen ist wie folgt.
Korrelation zwischen Einbettungen
Kosinus-Ähnlichkeit
Die Cosinus-Ähnlichkeit verwendet den Cosinus des Winkels zwischen zwei Vektorsätzen, um zu messen, wie ähnlich sie sich sind. Man kann sich die beiden Vektorsätze als Liniensegmente vorstellen, die vom gleichen Punkt ausgehen, z. B. [0,0,...], aber in unterschiedliche Richtungen zeigen.
Um die Cosinus-Ähnlichkeit zwischen zwei Gruppen von Vektoren A = (a0, a1,...,an-1) und B = (b0, b1,..., bn-1) zu berechnen, verwenden Sie die folgende Formel.
Kosinus-Ähnlichkeitsformel
Die Kosinusähnlichkeit liegt immer im Intervall [-1, 1]. Zwei proportionale Vektoren haben beispielsweise eine Cosinus-Ähnlichkeit von 1, zwei orthogonale Vektoren haben eine Ähnlichkeit von 0 und zwei entgegengesetzte Vektoren haben eine Ähnlichkeit von -1. Je größer der Cosinus, desto kleiner ist der Winkel zwischen den beiden Vektoren, was bedeutet, dass diese beiden Vektoren einander ähnlicher sind.
Wenn man die Kosinusähnlichkeit von 1 subtrahiert, erhält man den Kosinusabstand zwischen zwei Vektoren.
JACCARD-Abstand
Der JACCARD-Ähnlichkeitskoeffizient misst die Ähnlichkeit zwischen zwei Stichprobenmengen und ist definiert als die Kardinalität der Schnittmenge der definierten Mengen geteilt durch die Kardinalität der Vereinigung dieser Mengen. Er kann nur auf endliche Stichprobenmengen angewendet werden.
Formel für den JACCARD-Ähnlichkeitskoeffizienten
Die JACCARD-Distanz misst die Unähnlichkeit zwischen Datensätzen und ergibt sich durch Subtraktion des JACCARD-Ähnlichkeitskoeffizienten von 1. Für binäre Variablen entspricht die JACCARD-Distanz dem Tanimoto-Koeffizienten.
JACCARD-Abstandsformel
HAMMING-Abstand
Die HAMMING-Distanz misst binäre Datenstrings. Der Abstand zwischen zwei Zeichenfolgen gleicher Länge ist die Anzahl der Bitpositionen, an denen die Bits unterschiedlich sind.
Nehmen wir zum Beispiel an, es gibt zwei Zeichenketten, 1101 1001 und 1001 1101.
11011001 ⊕ 10011101 = 01000100. Da dies zwei 1en enthält, ist der HAMMING-Abstand, d (11011001, 10011101) = 2.
BM25-Ähnlichkeit
BM25 ist eine weit verbreitete Methode zur Messung der Textrelevanz, die speziell für die Volltextsuche entwickelt wurde. Sie kombiniert die folgenden drei Schlüsselfaktoren.
Termfrequenz (TF): Misst, wie häufig ein Begriff in einem Dokument vorkommt. Während höhere Häufigkeiten oft eine größere Bedeutung anzeigen, verwendet BM25 den Sättigungsparameter k1, um zu verhindern, dass zu häufige Begriffe die Relevanzbewertung dominieren.
Umgekehrte Dokumenthäufigkeit (IDF): Spiegelt die Bedeutung eines Begriffs im gesamten Korpus wider. Begriffe, die in weniger Dokumenten vorkommen, erhalten einen höheren IDF-Wert, was auf einen größeren Beitrag zur Relevanz hinweist.
Normalisierung der Dokumentlänge: Längere Dokumente werden tendenziell höher bewertet, da sie mehr Begriffe enthalten. BM25 mildert diese Verzerrung durch Normalisierung der Dokumentlängen, wobei der Parameter b die Stärke dieser Normalisierung steuert.
Die BM25-Bewertung wird wie folgt berechnet.
BM25 Ähnlichkeitsformel
Beschreibung der Parameter.
Q
: Der vom Benutzer angegebene Suchtext.D
: Das zu bewertende Dokument.TF(qi,D)
: Begriffshäufigkeit, die angibt, wie oft der Begriffqi
im DokumentD
vorkommt.IDF(qi)
: Inverse Dokumenthäufigkeit, berechnet als.IDF-Formel
wobei
N
die Gesamtzahl der Dokumente im Korpus undn(qi)
die Anzahl der Dokumente ist, die den Begriff qi enthalten.∣D∣
: Länge des DokumentsD
(Gesamtzahl der Begriffe).avgdl
: Durchschnittliche Länge aller Dokumente im Korpus.k1
: Steuert den Einfluss der Termhäufigkeit auf das Ergebnis. Höhere Werte erhöhen die Bedeutung der Termhäufigkeit. Der typische Bereich ist [1.2, 2.0], während Milvus einen Bereich von [0, 3] zulässt.b
: Steuert den Grad der Längennormalisierung und reicht von 0 bis 1. Bei einem Wert von 0 wird keine Normalisierung vorgenommen; bei einem Wert von 1 wird eine vollständige Normalisierung vorgenommen.