Medición de la similitud de las incorporaciones
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Ahora tienes incorporaciones para cualquier par de ejemplos. Una medida de similitud supervisada toma estas incorporaciones y muestra un número que mide su similitud.
Recuerda que las incorporaciones son vectores de números. Para encontrar la similitud entre dos vectores \(A = [a_1,a_2,...,a_n]\) y \(B = [b_1,b_2,...,b_n]\), elige una de estas tres medidas de similitud:
Medir | Significado | Formula |
A medida que aumenta la similitud, esta medida hace lo siguiente: |
Distancia euclidiana | Distancia entre los extremos de los vectores |
\(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) |
Disminuye |
Coseno | Coseno del ángulo \(\theta\) entre vectores |
\(\frac{a^T b}{|a| \cdot |b|}\) |
Aumenta |
Producto punto | El coseno multiplicado por las longitudes de ambos vectores |
\(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) |
Aumenta. También aumenta con la longitud de los vectores. |
Elige una medida de similitud
A diferencia del coseno, el producto punto es proporcional a la longitud del vector.
Esto es importante porque los ejemplos que aparecen con mucha frecuencia en el conjunto de entrenamiento (por ejemplo, videos populares de YouTube) suelen tener vectores de incorporación con longitudes grandes.
Si
deseas captar la popularidad, elige el producto punto. Sin embargo, el riesgo es que los ejemplos populares puedan sesgar la métrica de similitud. Para equilibrar esta distorsión, puedes elevar la longitud a un exponente \(\alpha\ < 1\) para calcular el producto escalar como \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\).
Para comprender mejor cómo la longitud del vector cambia la medida de similitud, normaliza las longitudes de los vectores a 1 y observa que las tres medidas se vuelven proporcionales entre sí.
Después de normalizar a y b de modo que \(||a||=1\) y \(||b||=1\), estas tres medidas se relacionan de la siguiente manera:
- Distancia euclidiana = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b}
= \sqrt{2-2\cos(\theta_{ab})}\).
- Producto punto = \( |a||b| \cos(\theta_{ab})
= 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\).
- Coseno = \(\cos(\theta_{ab})\).
Por lo tanto, las tres medidas de similitud son equivalentes porque son
proporcionales a \(cos(\theta_{ab})\).
Revisión de las medidas de similitud
Una medida de similitud cuantifica la similitud entre un par de ejemplos en relación con otros pares de ejemplos. A continuación, se comparan los dos tipos, manual y supervisado:
Tipo | Cómo crear | Ideal para | Implicaciones |
Manual | Combinar datos de componentes de forma manual |
Conjuntos de datos pequeños con funciones fáciles de combinar. |
Proporciona estadísticas sobre los resultados de los cálculos de similitud. Si cambian los datos de las funciones, debes actualizar manualmente la medida de similitud. |
Supervisado | Mide la distancia entre las incorporaciones generadas por una DNN supervisada. |
Conjuntos de datos grandes con funciones difíciles de combinar |
No proporciona estadísticas sobre los resultados. Sin embargo, una DNN puede adaptarse automáticamente a los cambios en los datos de atributos. |
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-02-25 (UTC)
[null,null,["Última actualización: 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. |"]]