¿Qué son las métricas de distancia en machine learning?
Las métricas de distancia son fundamentales en el ámbito del machine learning, permitiéndonos cuantificar cuán cercanos o lejanos están los vectores en un espacio de características. Entender este concepto es crucial, ya que muchos algoritmos de machine learning operan optimizando distancias entre vectores.
¿Cómo se construye un feature vector correctamente?
Antes de aplicar métricas de distancia, es esencial construir un feature vector adecuado. Un feature vector es una representación de datos mediante numeración, en la que cada dimensión corresponde a una característica del conjunto de datos. Es importante evitar incluir demasiadas dimensiones irrelevantes que podrían complicar o desinformar los resultados de nuestro modelo.
¿Qué es la distancia euclidiana y cómo se aplica?
La distancia euclidiana es la forma más clásica y reconocida de medir distancia entre dos puntos en un espacio cartesiano. Se calcula como la raíz cuadrada de la suma de las diferencias al cuadrado entre las coordenadas correspondientes de dos puntos.
Ejemplo:
Si tenemos dos puntos, (A(x_1, y_1)) y (B(x_2, y_2)), la distancia euclidiana (d) se calcula como:
import math
defdistancia_euclidiana(x1, y1, x2, y2):return math.sqrt((x2 - x1)**2+(y2 - y1)**2)# Ejemplo de usodistancia = distancia_euclidiana(3,4,7,1)print(f"La distancia euclidiana es: {distancia}")
¿Cómo se diferencia la distancia de Manhattan?
La distancia de Manhattan se calcula sumando las diferencias absolutas de las coordenadas, siguiendo caminos horizontales y verticales en lugar de la línea recta entre dos puntos. Es llamada "Manhattan" ya que simula el movimiento por una cuadrícula de calles, como las de la ciudad de Nueva York.
Concepto: Supongamos que necesitamos ir de una esquina a otra, no podemos caminar a través de los edificios, sino seguir las calles.
Ejemplo de Distancia de Manhattan:
Si tenemos dos puntos, (A(x_1, y_1)) y (B(x_2, y_2)), la distancia de Manhattan (d_m) es:
defdistancia_manhattan(x1, y1, x2, y2):returnabs(x2 - x1)+abs(y2 - y1)# Ejemplo de usodistancia_m = distancia_manhattan(3,4,7,1)print(f"La distancia de Manhattan es: {distancia_m}")
¿Por qué es importante elegir la métrica de distancia correcta?
La elección de la métrica depende del problema en cuestión y del contexto. Cada métrica tiene sus fortalezas y debilidades, y puede ofrecer insights diferentes sobre los datos:
Distancia euclidiana: Ideal para espacios que soportan caminos directos y para cálculos en geometrías simples.
Distancia de Manhattan: Útil en espacios regulares como una cuadrícula urbana o cuando las limitaciones de movimiento solo permiten rutas discretas.
¿Cómo contribuir al conocimiento compartido de métricas?
El aprendizaje continuo y el intercambio de conocimiento son claves en machine learning. Por ello, se invita a explorar y descubrir otras métricas de distancia que puedan ser relevantes. Participar activamente en discusiones y compartir hallazgos en sistemas de comentarios o foros puede enriquecer nuestra comprensión y aplicación de estas métricas.
Explorar estas áreas puede llevar al descubrimiento de otras métricas como:
Distancia de Minkowski: Una generalización tanto de la euclidiana como de la de Manhattan.
Distancia de Chebyshev: El mayor de los valores absolutos de las diferencias entre coordenadas.
Invitamos a enriquecer nuestra comprensión y adaptar la métrica más adecuada para cada situación particular. Continuar aprendiendo y compartiendo será fundamental para avanzar en el apasionante mundo del machine learning.
Jesus, Genial aplicación de las distintas metricas de distancia.
Si no estoy mal las tres lineas; roja, azul y amarilla usan la "distancia manhattan" la verde es la unica que utiliza una metrica diferente, y la linea roja, azul y amarilla miden lo mismo
Hola, encontré estas dos métricas en internet.
**Distancia Chebyshev **
Es una métrica definida en un espacio vectorial donde la distancia entre dos vectores es el mayor de sus diferencias a lo largo de cualquier dimensión de coordenadas
Distancia Kullback-Leibler
Es una medida no simétrica de la similitud o diferencia entre dos funciones de distribución de probabilidad P y Q. KL mide el número esperado de extra bits requeridos en muestras de código de P cuando se usa un código basado en Q, en lugar de un código
basado en P. Generalmente P representa la "verdadera" distribución de los datos, observaciones, o cualquier distribución teórica. La medida Q generalmente representa una teoría, modelo, descripción o aproximación de P
La que mas me intereso fue la de Kullback, encontre que también es conocida como divergencia de la información, ganancia de la información o entropía relativa; La forma de hallarla es un poco mas complicada que las vistas en clase, observe 2 formas una que incluía sumatoria y Logaritmo Natural; y la otra es una integral Definida con logaritmo.
Sabes que quedan pocos recursos cuando llegas al tutorial del fiel amigo Indú, jeje (DISCLAIMER: nada racista claro está, los tutoriales de los indú son la salvación de los ingenieros cuando no encuentran información específica)
El concepto matemático de métrica, si saben un poco de funciones, es suficiente para interpretar y generalizar un poco mas el concepto de métrica.
Una métrica sobre un conjunto X es una función (llamada función distancia o simplemente distancia)
d:X × X → 0,∞),
donde [0,∞) es el conjunto de los números reales no-negativos (no se puede poner R porque la distancia no puede ser negativa), y tal que, para cualesquiera x, y, z de X, se satisfacen las siguientes condiciones:
d(x, y) ≥ 0(no-negativa, o axioma de separación)d(x, y)=0 si y solo si x =y(axioma de coincidencia)d(x, y)=d(y, x)(simetría)d(x, z) ≤ d(x, y)+d(y, z)(desigualdad triangular).
[)
siguiendo la definición anterior, tenemos la métrica discreta definida por:
d(x,y) = 0 si x=y
d(x,y) = 1 Si x diferente de y
Estaba buscando el comentario que incluyera esto. Tampoco vi entre los comentarios las p-normas estándar (las que generalizan la euclidiana, y para las que la euclidiana sería simplemente tomar p = 2); ni tampoco vi las normas p-ádicas que dan vida a los espacios no-arquimedianos :c.
Hola, es mi primer aporte. He averiguado sobre métricas de distancia en Machine Learning y quisiera compartirlo con todos 😊.
Primero. ¿Qué son las métricas de distancia ? Son maneras de hallar la distancia entre un punto A y un punto B, viendolo de manera vectorial generalmente.
La que todos conocemos es esa fórmula que se asemeja al teorema de Pitagoras y se llama ++Distancia Euclidiana++ :
 = (multiplicacion punto)/cos(teta)
Para entender mejor recomiendo que tomen un curso de álgebra lineal . La métrica de distancia es un concepto matemático que generaliza la métrica euclidiana . Por ejemplo cuando estudias el espacio no-euclidiano (ejm , esferoidal , curvo ) se necesita definir otro tipo de distancia pero que no pierda propiedades que tiene las de euclides . recuerden cada espacio de trabajo (espacio vectorial ) tiene su propia metrica definida . Pero no cualquier distancia es una metrica de distancia de un espacio vectorial .
En esta grafica ademas podemos ver segun la complejidad de tiempo.
Métricas de distancia
Distancia Euclidiana: distancia en línea recta o la trayectoria más corta posible entre dos puntos.
Distancia Manhattan: calcula la distancia que se puede recorrer para llegar de un punto de datos a la otra si un camino en forma de rejilla es seguido. La distancia Manhattan entre dos elementos es la suma de las diferencias de sus correspondientes componentes.
Distancia Chebyshev: métrica definida en un espacio vectorial donde la distancia entre dos vectores es el mayor de sus diferencias a lo largo de cualquier dimensión de coordenadas.
Distancia Kullback-Leibler: es una medida no simétrica de la similitud o diferencia entre dos funciones de distribución de probabilidad P y Q. KL mide el número esperado de extra bits requeridos en muestras de código de P cuando se usa un código basado en Q, en lugar de un código basado en P. Generalmente P representa la "verdadera" distribución de los datos, observaciones, o cualquier distribución teórica. La medida Q generalmente representa una teoría, modelo, descripción o aproximación de P.
Métrica binaria: magnitud y su ley que determina el menor nivel de diferencia o lejanía entre dos objetos de un espacio o geometría dados, usualmente considerados como puntos, en este caso mediante el resultado de la igualdad o desigualdad pura de ambos.
!formula metrica binaria
Métrica esférica: es una forma de distancia que asume que los puntos A y B están dispuestos sobre la superficie de una esfera sólida centrada en O de radio "r" entonces la distancia en cuestión entre ambos puntos sería la longitud de la ortodrómica o arco de circunferencia concéntrica en O y de radio r que contiene en cada uno de sus extremos a A y a B.
!formula metrica esferica
📏 Las métricas de distancia ayudan a los algoritmos a encontrar similitudes entre los elementos del dataset.
.
Algunos ejemplos que encontré de métricas de distancia:
.
Minkowski Distance
Cosine Distance
.
Referencia
Métricas de Distancia
Nos permiten cuantificar la cercanía o lejanía de los datos. Generalmente los algoritmos de machine learning son algoritmos de optimización, es decir optimizan las distancias entre datos.
Existen diversas maneras de calcular la distancia entre ellas están la euclidiana, la distancia de Manhattan, la elíptica, la hiperbólica, etc. Es nuestro trabajo elegir la distancia óptima para realizar nuestro programa.
En Ingenieria Industrial se ven este tipo de metricas como (Ecludiana o Retilinea) y se usan para metodos de localizacion de plantas industriales, basados en el menor costo de transporte teniendo como puntos de referencia proveedores(MP o Insumos) y cliente(Ventas).
Métrica EIGRP para enrutamiento: (ancho de banda, delay, Confiabilidad, carga)
Métricas para la relatividad como la de Schwarzschild o Minkowski
Métrica de Riemann para geometría elíptica e hiperbólica
No entiendo la necesidad o la utilidad de las métricas de distancia. Alguien podría ponerme un ejemplo práctico, por favor?
Bueno basicamente las metricas de distancia nos dicen que tan parecido es un dato con otro. Si quisieramos clasificar comidas por su sabor, entonces podríamos decir que una caracteristica de la comida es: cantidad de azucar, cantidad de sales.
Esto nos dará vectores de dos dimensiones, para describir a una comida y entonces para saber que tanto se parece un vector con otro, pues usamos distancia, de tal forma que los vectores más cercanos entre sí perteneceran a un grupo, por ejemplo los salados, o los dulces. Por supuesto también habra vectores que sean mucho más dificil de clasificarlos porque casi estarán igual de cerca de los salados que de los dulces, pero ese es otro tema.
El punto es que visualicemos a las caracteristicas o atributos de nuestros datos a analizar como dimensiones del vector, ya que pueden ser 2,3,4 o más dimensiones, y para compararlos entre si se utiliza la distancia entre ellos.
Muchas gracias, me ayudó bastante esa respuesta!!!!
En la definición matemática de métrica se habla que la distancia (norma) sea siempre positiva, sin embargo en física hay pseudo-métricas que usan distancias negativas y son la esencia de la relatividad general, ¿saben si hay aplicación de seudo-métricas en Machine Learning?
mmm la norma siempre debe ser positiva ya que esta en su definición matemática como tal, ya que es una suma de cuadrados, pero si pueden existir métricas con valores negativos, en la literatura puede encontrar una gran cantidad de ejemplos y se pueden "inventar" muchos otros tipos de métricas pero cada una de ellas va a tener ventajas y desventajas que se deben tener en cuenta dependiendo del problema objetivo y de los métodos usados. por último las pseudo-métricas es algo más complejo (cumple una condición diferente que una métrica) y si es "usado" en machine learning en sistemas de ranking/recomendación.
Exacto, una de las propiedades que debe cumplir un distancia es que sea positiva definida para todo par de vectores de tu espacio vectorial. Pero una pseudométrica es una generalización de la una métrica.
Ya que la distancia debe cumplir que es cero si y solo si los puntos que mides son los mismos, en la pseudodistancia la doble implicación no es necesaría. Esto es, si mides la pseudodistancia de un punto consigo mismo, debe ser cero. Pero ya no es necesariamente cierto que si la pseudodistancia es cero entonces se trata del mismo punto. Puntos distintos pueden tener una pseudodistancia cero.