Ähnlichkeit von Einbettungen messen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Sie haben jetzt Einbettungen für jedes Beispielpaar. Bei einer superviseden Ähnlichkeitsmessung werden diese Einbettungen verwendet, um eine Zahl für ihre Ähnlichkeit zurückzugeben.
Denken Sie daran, dass Einbettungen Vektoren von Zahlen sind. Um die Ähnlichkeit zwischen zwei Vektoren \(A = [a_1,a_2,...,a_n]\) und \(B = [b_1,b_2,...,b_n]\)zu ermitteln, wählen Sie eine der folgenden drei Ähnlichkeitsmaße aus:
Messen | Bedeutung | Formel |
Je höher die Ähnlichkeit ist, desto… |
Euklidischer Abstand | Abstand zwischen den Enden von Vektoren |
\(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) |
sinkt |
Kosinus | Kosinus des Winkels \(\theta\) zwischen Vektoren |
\(\frac{a^T b}{|a| \cdot |b|}\) |
erhöht |
Skalarprodukt | Kosinus multipliziert mit den Längen beider Vektoren |
\(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) |
steigt. Er steigt auch mit der Länge der Vektoren. |
Ähnlichkeitsmaß auswählen
Im Gegensatz zum Kosinus ist das Skalarprodukt proportional zur Vektorlänge.
Das ist wichtig, weil Beispiele, die im Trainingssatz sehr häufig vorkommen (z. B. beliebte YouTube-Videos), in der Regel Einbettungsvektoren mit großer Länge haben.
Wenn Sie die Beliebtheit erfassen möchten, wählen Sie die Punktproduktfunktion aus. Es besteht jedoch das Risiko, dass beliebte Beispiele den Ähnlichkeitsmesswert verfälschen. Um diesen Versatz auszugleichen, können Sie die Länge mit einem Exponenten multiplizieren \(\alpha\ < 1\) , um das Skalarprodukt als \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\)zu berechnen.
Um besser zu verstehen, wie sich die Vektorlänge auf das Ähnlichkeitsmaß auswirkt, normalisieren Sie die Vektorlängen auf 1. Die drei Maße sind dann proportional zueinander.
Nach der Normalisierung von a und b zu \(||a||=1\) und \(||b||=1\)sind diese drei Maße miteinander verknüpft:
- Euklidische Distanz = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b}
= \sqrt{2-2\cos(\theta_{ab})}\).
- Skalarprodukt = \( |a||b| \cos(\theta_{ab})
= 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
- Kosinus = \(\cos(\theta_{ab})\).
Alle drei Ähnlichkeitsmaße sind also äquivalent, da sie proportional zu \(cos(\theta_{ab})\)sind.
Ähnlichkeitsmaße überprüfen
Mit einem Ähnlichkeitsmaß wird die Ähnlichkeit zwischen zwei Beispielen im Vergleich zu anderen Beispielpaaren quantifiziert. Die beiden Typen, manuell und mit Supervision, werden unten verglichen:
Typ | So erstellen Sie | Optimal für | Konsequenzen |
Manuell | Feature-Daten manuell kombinieren |
Kleine Datensätze mit Funktionen, die sich einfach kombinieren lassen. |
Hier sehen Sie die Ergebnisse der Ähnlichkeitsberechnungen. Wenn sich die Feature-Daten ändern, müssen Sie das Ähnlichkeitsmaß manuell aktualisieren. |
Überwacht | Entfernung zwischen Einbettungen messen, die von einer überwachten DNN generiert wurden. |
Große Datensätze mit schwer kombinierbaren Funktionen |
Sie gibt keine Aufschluss über die Ergebnisse. Ein DNN kann sich jedoch automatisch an sich ändernde Feature-Daten anpassen. |
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-02-25 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-02-25 (UTC)."],[[["\u003cp\u003eSupervised similarity measures leverage embeddings to quantify the similarity between data examples using Euclidean distance, cosine, or dot product.\u003c/p\u003e\n"],["\u003cp\u003eDot product incorporates vector length, reflecting popularity, while cosine similarity focuses solely on the angle between vectors, ignoring popularity.\u003c/p\u003e\n"],["\u003cp\u003eNormalizing vector lengths makes Euclidean distance, cosine, and dot product proportional, essentially measuring the same thing.\u003c/p\u003e\n"],["\u003cp\u003eSupervised similarity, using embeddings and a distance metric, is suitable for large, complex datasets, while manual similarity, relying on feature combinations, is better for small, straightforward datasets.\u003c/p\u003e\n"]]],[],null,["# Measuring similarity from embeddings\n\nYou now have embeddings for any pair of examples. A supervised similarity\nmeasure takes these embeddings and returns a number measuring their similarity.\nRemember that embeddings are vectors of numbers. To find the similarity between\ntwo vectors \\\\(A = \\[a_1,a_2,...,a_n\\]\\\\) and \\\\(B = \\[b_1,b_2,...,b_n\\]\\\\),\nchoose one of these three similarity measures:\n\n| Measure | Meaning | Formula | As similarity increases, this measure... |\n|--------------------|-----------------------------------------------|--------------------------------------------------------------|---------------------------------------------------|\n| Euclidean distance | Distance between ends of vectors | \\\\(\\\\sqrt{(a_1-b_1)\\^2+(a_2-b_2)\\^2+...+(a_N-b_N)\\^2}\\\\) | Decreases |\n| Cosine | Cosine of angle \\\\(\\\\theta\\\\) between vectors | \\\\(\\\\frac{a\\^T b}{\\|a\\| \\\\cdot \\|b\\|}\\\\) | Increases |\n| Dot product | Cosine multiplied by lengths of both vectors | \\\\(a_1b_1+a_2b_2+...+a_nb_n\\\\) \\\\(=\\|a\\|\\|b\\|cos(\\\\theta)\\\\) | Increases. Also increases with length of vectors. |\n\nChoosing a similarity measure\n-----------------------------\n\nIn contrast to the cosine, the dot product is proportional to the vector length.\nThis is important because examples that appear very frequently in the training\nset (for example, popular YouTube videos) tend to have embedding vectors with\nlarge lengths.\n\nIf you\nwant to capture popularity, then choose dot product. However, the risk is that\npopular examples may skew the similarity metric. To balance this skew, you can\nraise the length to an exponent \\\\(\\\\alpha\\\\ \\\u003c 1\\\\) to calculate the dot product\nas \\\\(\\|a\\|\\^{\\\\alpha}\\|b\\|\\^{\\\\alpha}\\\\cos(\\\\theta)\\\\).\n\nTo better understand how vector length changes the similarity measure, normalize\nthe vector lengths to 1 and notice that the three measures become proportional\nto each other. \nProof: Proportionality of Similarity Measures \nAfter normalizing a and b such that \\\\(\\|\\|a\\|\\|=1\\\\) and \\\\(\\|\\|b\\|\\|=1\\\\), these three measures are related as:\n\n- Euclidean distance = \\\\(\\|\\|a-b\\|\\| = \\\\sqrt{\\|\\|a\\|\\|\\^2 + \\|\\|b\\|\\|\\^2 - 2a\\^{T}b} = \\\\sqrt{2-2\\\\cos(\\\\theta_{ab})}\\\\).\n- Dot product = \\\\( \\|a\\|\\|b\\| \\\\cos(\\\\theta_{ab}) = 1\\\\cdot1\\\\cdot \\\\cos(\\\\theta_{ab}) = cos(\\\\theta_{ab})\\\\).\n- Cosine = \\\\(\\\\cos(\\\\theta_{ab})\\\\).\nThus, all three similarity measures are equivalent because they are proportional to \\\\(cos(\\\\theta_{ab})\\\\).\n\nReview of similarity measures\n-----------------------------\n\nA similarity measure quantifies the similarity between a pair of\nexamples, relative to other pairs of examples. The two types, manual and\nsupervised, are compared below:\n\n| Type | How to create | Best for | Implications |\n|------------|--------------------------------------------------------------------|-------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|\n| Manual | Manually combine feature data. | Small datasets with features that are straightforward to combine. | Gives insight into results of similarity calculations. If feature data changes, you must manually update the similarity measure. |\n| Supervised | Measure distance between embeddings generated by a supervised DNN. | Large datasets with hard-to-combine features. | Gives no insight into results. However, a DNN can automatically adapt to changing feature data. |"]]