Измерение сходства по вложениям
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Теперь у вас есть вложения для любой пары примеров. Контролируемая мера сходства принимает эти вложения и возвращает число, измеряющее их сходство. Помните, что вложения — это векторы чисел. Чтобы найти сходство между двумя векторами \(A = [a_1,a_2,...,a_n]\) и \(B = [b_1,b_2,...,b_n]\), выберите одну из этих трех мер сходства:
Мера | Значение | Формула | По мере увеличения сходства эта мера... |
---|
Евклидово расстояние | Расстояние между концами векторов | \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) | Уменьшается |
Косинус | Косинус угла \(\theta\) между векторами | \(\frac{a^T b}{|a| \cdot |b|}\) | Увеличивает |
Скалярное произведение | Косинус, умноженный на длины обоих векторов | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | Увеличивается. Также увеличивается с длиной векторов. |
Выбор меры сходства
В отличие от косинуса скалярное произведение пропорционально длине вектора. Это важно, поскольку примеры, которые очень часто появляются в обучающем наборе (например, популярные видеоролики на YouTube), как правило, содержат встраиваемые векторы большой длины.Если вы хотите завоевать популярность, выбирайте точечный продукт. Однако существует риск того, что популярные примеры могут исказить показатель сходства. Чтобы сбалансировать этот перекос, вы можете возвести длину в степень. \(\alpha\ < 1\) вычислить скалярное произведение как \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\).
Чтобы лучше понять, как длина вектора меняет меру сходства, нормализуйте длины векторов к 1 и обратите внимание, что три меры становятся пропорциональными друг другу.
После нормализации a и b так, что \(||a||=1\) и \(||b||=1\), эти три меры связаны следующим образом:
- Евклидово расстояние = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b}
= \sqrt{2-2\cos(\theta_{ab})}\).
- Скалярное произведение = \( |a||b| \cos(\theta_{ab})
= 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
- Косинус = \(\cos(\theta_{ab})\).
Таким образом, все три меры сходства эквивалентны, поскольку они пропорциональны \(cos(\theta_{ab})\).
Обзор мер сходства
Мера сходства количественно определяет сходство между парой примеров по сравнению с другими парами примеров. Ниже сравниваются два типа: ручной и контролируемый:
Тип | Как создать | Лучшее для | Подразумеваемое |
---|
Руководство | Объедините данные объектов вручную. | Небольшие наборы данных с функциями, которые легко объединить. | Дает представление о результатах расчетов сходства. Если данные объекта изменяются, вам необходимо вручную обновить меру сходства. |
Контролируемый | Измерьте расстояние между вложениями, сгенерированными контролируемой DNN. | Большие наборы данных с трудно объединяемыми функциями. | Не дает представления о результатах. Однако DNN может автоматически адаптироваться к изменению данных объектов. |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-02-25 UTC.
[null,null,["Последнее обновление: 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. |"]]