Articulo de referencia

Gran margen vecino más cercano

La clasificación de vecinos más cercanos de margen amplio ( LMNN ) [ 1 ] es un algoritmo de aprendizaje automático estadístico para el aprendizaje métrico . Aprende una pseudomé...

La clasificación de vecinos más cercanos de margen amplio ( LMNN ) [ 1 ] es un algoritmo de aprendizaje automático estadístico para el aprendizaje métrico . Aprende una pseudométrica diseñada para la clasificación de k vecinos más cercanos . El algoritmo se basa en la programación semidefinida , una subclase de la optimización convexa .

El objetivo del aprendizaje supervisado (más específicamente, la clasificación) es aprender una regla de decisión que permita categorizar instancias de datos en clases predefinidas. La regla de los k vecinos más cercanos presupone un conjunto de datos de entrenamiento con instancias etiquetadas (es decir, se conocen las clases). Clasifica una nueva instancia de datos con la clase obtenida mediante el voto mayoritario de las k instancias de entrenamiento (etiquetadas) más cercanas. La proximidad se mide con una métrica predefinida . El algoritmo Large Margen Nearest Neighbors aprende esta (pseudo)métrica global de forma supervisada para mejorar la precisión de clasificación de la regla de los k vecinos más cercanos.

Configuración

La idea principal detrás de LMNN es aprender una pseudométrica bajo la cual todas las instancias de datos en el conjunto de entrenamiento estén rodeadas por al menos k instancias que compartan la misma etiqueta de clase. Si esto se logra, el error de dejar uno fuera (un caso especial de validación cruzada ) se minimiza. Sea que los datos de entrenamiento consisten en un conjunto de datos.D={(incógnita1,y1),,(incógnitanorte,ynorte)}Rd×do{\displaystyle D=\{({\vec {x}}_{1},y_{1}),\dots ,({\vec {x}}_{n},y_{n})\}\subset R^{d}\times C}, donde el conjunto de posibles categorías de clase esdo={1,,do}{\displaystyle C=\{1,\dots ,c\}}.

El algoritmo aprende una pseudométrica del tipo

d(incógnitai,incógnitaj)=(incógnitaiincógnitaj)METRO(incógnitaiincógnitaj){\displaystyle d({\vec {x}}_{i},{\vec {x}}_{j})=({\vec {x}}_{i}-{\vec {x}}_{j})^{\top }\mathbf {M} ({\vec {x}}_{i}-{\vec {x}}_{j})}.

Parad(,){\displaystyle d(\cdot ,\cdot )}para estar bien definida, la matrizMETRO{\displaystyle \mathbf {M} }necesita ser semidefinida positiva . La métrica euclidiana es un caso especial, donde METRO{\displaystyle \mathbf {M} }es la matriz identidad . Esta generalización a menudo se denomina (erróneamente ) métrica de Mahalanobis .

La Figura 1 ilustra el efecto de la métrica bajo diferentes condiciones.METRO{\displaystyle \mathbf {M} }Los dos círculos muestran el conjunto de puntos que se encuentran a igual distancia del centro.incógnitai{\displaystyle {\vec {x}}_{i}}En el caso euclidiano, este conjunto es un círculo, mientras que bajo la métrica modificada (Mahalanobis) se convierte en un elipsoide .

Figura 1: Ilustración esquemática de LMNN

El algoritmo distingue entre dos tipos de puntos de datos especiales: vecinos objetivo e impostores .

Vecinos objetivo

Los vecinos objetivo se seleccionan antes del aprendizaje. Cada instanciaincógnitai{\displaystyle {\vec {x}}_{i}}tiene exactamentek{\displaystyle k}diferentes vecinos objetivo dentroD{\displaystyle D}, que comparten la misma etiqueta de claseyi{\displaystyle y_{i}}Los vecinos objetivo son los puntos de datos que deberían convertirse en vecinos más cercanos según la métrica aprendida . Denotemos el conjunto de vecinos objetivo para un punto de datos.incógnitai{\displaystyle {\vec {x}}_{i}}comonortei{\displaystyle N_{i}}.

Impostores

Un impostor de un punto de datosincógnitai{\displaystyle {\vec {x}}_{i}}es otro punto de datosincógnitaj{\displaystyle {\vec {x}}_{j}}con una etiqueta de clase diferente (es decir,yiyj{\displaystyle y_{i}\neq y_{j}}) que es uno de los vecinos más cercanos deincógnitai{\displaystyle {\vec {x}}_{i}}Durante el aprendizaje, el algoritmo intenta minimizar el número de impostores para todas las instancias de datos en el conjunto de entrenamiento.

Algoritmo

Los vecinos más cercanos de gran margen optimizan la matriz.METRO{\displaystyle \mathbf {M} }con la ayuda de la programación semidefinida . El objetivo es doble: para cada punto de datosincógnitai{\displaystyle {\vec {x}}_{i}}, los vecinos objetivo deben estar cerca y los impostores deben estar lejos . La Figura 1 muestra el efecto de dicha optimización en un ejemplo ilustrativo. La métrica aprendida hace que el vector de entradaincógnitai{\displaystyle {\vec {x}}_{i}}estar rodeado de instancias de entrenamiento de la misma clase. Si fuera un punto de prueba, se clasificaría correctamente bajo lak=3{\displaystyle k=3}regla del vecino más cercano.

El primer objetivo de optimización se logra minimizando la distancia promedio entre las instancias y sus vecinos objetivo.

i,jnorteid(incógnitai,incógnitaj){\displaystyle \sum _{i,j\in N_{i}}d({\vec {x}}_{i},{\vec {x}}_{j})}.

El segundo objetivo se logra penalizando las distancias a los impostores.incógnital{\displaystyle {\vec {x}}_{l}}que estén a menos de una unidad de distancia que los vecinos objetivoincógnitaj{\displaystyle {\vec {x}}_{j}}(y por lo tanto, expulsándolos del vecindario local deincógnitai{\displaystyle {\vec {x}}_{i}}). El valor resultante que se debe minimizar se puede expresar como:

i,jnortei,l,ylyi[d(incógnitai,incógnitaj)+1d(incógnitai,incógnital)]+{\displaystyle \sum _{i,j\in N_{i},l,y_{l}\neq y_{i}}[d({\vec {x}}_{i},{\vec {x}}_{j})+1-d({\vec {x}}_{i},{\vec {x}}_{l})]_{+}}

Con una función de pérdida de bisagra[]+=máximo(,0){\textstyle [\cdot ]_{+}=\max(\cdot ,0)}, lo que garantiza que la proximidad del impostor no se penalice cuando esté fuera del margen. El margen de exactamente una unidad fija la escala de la matriz.METRO{\displaystyle M}Cualquier opción alternativado>0{\displaystyle c>0}daría como resultado un reescalado deMETRO{\displaystyle M}por un factor de1/do{\displaystyle 1/c}.

El problema de optimización final queda así:

minMETROi,jnorteid(incógnitai,incógnitaj)+λi,j,lξijl{\displaystyle \min _{\mathbf {M} }\sum _{i,j\in N_{i}}d({\vec {x}}_{i},{\vec {x}}_{j})+\lambda \sum _{i,j,l}\xi _{ijl}}
i,jnortei,l,ylyi{\displaystyle \forall _{i,j\in N_{i},l,y_{l}\neq y_{i}}}
d(incógnitai,incógnitaj)+1d(incógnitai,incógnital)ξijl{\displaystyle d({\vec {x}}_{i},{\vec {x}}_{j})+1-d({\vec {x}}_{i},{\vec {x}}_{l})\leq \xi _{ijl}}
ξijl0{\displaystyle \xi _{ijl}\geq 0}
METRO0{\displaystyle \mathbf {M} \succeq 0}

El hiperparámetroλ>0{\textstyle \lambda >0}es alguna constante positiva (normalmente establecida mediante validación cruzada). Aquí las variablesξijl{\displaystyle \xi _{ijl}}(junto con dos tipos de restricciones) reemplazan el término en la función de costo. Juegan un papel similar al de las variables de holgura para absorber el alcance de las violaciones de las restricciones del impostor. La última restricción garantiza queMETRO{\displaystyle \mathbf {M} }es semidefinida positiva. El problema de optimización es una instancia de programación semidefinida (PSE). Aunque las PSE tienden a sufrir de una alta complejidad computacional, esta instancia particular de PSE se puede resolver de manera muy eficiente debido a las propiedades geométricas subyacentes del problema. En particular, la mayoría de las restricciones de impostor se satisfacen naturalmente y no necesitan ser impuestas durante el tiempo de ejecución (es decir, el conjunto de variablesξijl{\displaystyle \xi _{ijl}}es escaso). Una técnica de resolución particularmente adecuada es el método del conjunto de trabajo , que mantiene un pequeño conjunto de restricciones que se aplican activamente y supervisa las restricciones restantes (probablemente satisfechas) solo ocasionalmente para garantizar la corrección.

Extensiones y solucionadores eficientes

LMNN se extendió a múltiples métricas locales en el artículo de 2008. [ 2 ] Esta extensión mejora significativamente el error de clasificación, pero implica un problema de optimización más costoso. En su publicación de 2009 en el Journal of Machine Learning Research, [ 3 ] Weinberger y Saul derivan un solucionador eficiente para el programa semidefinido. Puede aprender una métrica para el conjunto de datos de dígitos manuscritos MNIST en varias horas, involucrando miles de millones de restricciones por pares. Una implementación de código abierto en Matlab está disponible gratuitamente en la página web de los autores .

Kumal et al. [ 4 ] extendieron el algoritmo para incorporar invariantes locales a transformaciones polinómicas multivariadas y mejoraron la regularización.

Véase también

Referencias

  1. Weinberger, KQ; Blitzer JC; Saul LK (2006). "Aprendizaje de métricas de distancia para la clasificación del vecino más cercano con margen amplio" . Avances en sistemas de procesamiento de información neuronal . 18 : 1473–1480 .
  2. Weinberger, KQ; Saul LK (2008). "Solucionadores rápidos e implementaciones eficientes para el aprendizaje de métricas de distancia" (PDF) . Actas de la Conferencia Internacional sobre Aprendizaje Automático : 1160–1167 . Archivado del original (PDF) el 24 de julio de 2011. Consultado el 14 de julio de 2010 .
  3. Weinberger, KQ; Saul LK (2009). "Aprendizaje de métricas de distancia para clasificación de margen amplio" (PDF) . Journal of Machine Learning Research . 10 : 207–244 .
  4. Kumar, MP; Torr PHS; Zisserman A. (2007). "Un clasificador invariante de vecino más cercano de margen amplio". 2007 IEEE 11.ª Conferencia Internacional sobre Visión por Computadora . págs. 1–8 . doi : 10.1109/ICCV.2007.4409041 . ISBN  978-1-4244-1630-1. S2CID 1326101 . 
  • Implementación en Matlab
  • Tutorial de ICML 2010 sobre aprendizaje métrico