Articulo de referencia

Método del núcleo

En aprendizaje automático , las máquinas de kernel son una clase de algoritmos para análisis de patrones , cuyo miembro más conocido es la máquina de vectores de soporte (SVM). ...

En aprendizaje automático , las máquinas de kernel son una clase de algoritmos para análisis de patrones , cuyo miembro más conocido es la máquina de vectores de soporte (SVM). Estos métodos implican el uso de clasificadores lineales para resolver problemas no lineales. [ 1 ] La tarea general del análisis de patrones es encontrar y estudiar tipos generales de relaciones (por ejemplo , clústeres , clasificaciones , componentes principales , correlaciones , clasificaciones ) en conjuntos de datos. Para muchos algoritmos que resuelven estas tareas, los datos en representación bruta deben transformarse explícitamente en representaciones de vectores de características a través de un mapa de características especificado por el usuario ; en contraste, los métodos de kernel solo requieren un kernel especificado por el usuario , es decir, una función de similitud sobre todos los pares de puntos de datos calculada usando productos internos . El mapa de características en las máquinas de kernel es de dimensión infinita, pero solo requiere una matriz de dimensión finita de entrada del usuario según el teorema del representante . Las máquinas de kernel son lentas para calcular conjuntos de datos mayores a un par de miles de ejemplos sin procesamiento paralelo.

Los métodos de kernel deben su nombre al uso de funciones de kernel , que les permiten operar en un espacio de características implícito de alta dimensión sin calcular las coordenadas de los datos en ese espacio, sino simplemente calculando los productos escalares entre las imágenes de todos los pares de datos en el espacio de características. Esta operación suele ser computacionalmente más económica que el cálculo explícito de las coordenadas. Este enfoque se conoce como el " truco del kernel ". [ 2 ] Se han introducido funciones de kernel para datos de secuencia, grafos , texto, imágenes y vectores.

Entre los algoritmos capaces de operar con núcleos se incluyen el perceptrón de núcleo , las máquinas de vectores de soporte (SVM), los procesos gaussianos , el análisis de componentes principales (PCA), el análisis de correlación canónica , la regresión de cresta , la agrupación espectral , los filtros adaptativos lineales y muchos otros.

La mayoría de los algoritmos de kernel se basan en la optimización convexa o en problemas de valores propios y están bien fundamentados estadísticamente. Normalmente, sus propiedades estadísticas se analizan utilizando la teoría del aprendizaje estadístico (por ejemplo, utilizando la complejidad de Rademacher ).

Motivación y explicación informal

Los métodos de kernel pueden considerarse como aprendices basados ​​en instancias : en lugar de aprender un conjunto fijo de parámetros que corresponden a las características de sus entradas, en cambio "recuerdan" lasi{\displaystyle i}-th ejemplo de entrenamiento(incógnitai,yi){\displaystyle (\mathbf {x} _{i},y_{i})}y aprende para ello un peso correspondientewi{\displaystyle w_{i}}La predicción para entradas no etiquetadas, es decir, aquellas que no están en el conjunto de entrenamiento, se trata mediante la aplicación de una función de similitud .k{\displaystyle k}, llamado núcleo , entre la entrada sin etiquetarincógnita{\displaystyle \mathbf {x'} }y cada uno de los insumos de entrenamientoincógnitai{\displaystyle \mathbf {x} _ {i}}. Por ejemplo, un clasificador binario kernelizado normalmente calcula una suma ponderada de similitudes y^=sgni=1nortewiyik(incógnitai,incógnita),{\displaystyle {\hat {y}}=\operatorname {sgn} \sum _{i=1}^{n}w_{i}y_{i}k(\mathbf {x} _{i},\mathbf {x'} ),} dónde

  • y^{1,+1}{\displaystyle {\hat {y}}\in \{-1,+1\}}es la etiqueta predicha por el clasificador binario kernelizado para la entrada sin etiquetarincógnita{\displaystyle \mathbf {x'} }cuya etiqueta verdadera ocultay{\displaystyle y}es de interés;
  • k:incógnita×incógnitaR${\displaystyle k\colon {\mathcal {X}}\times {\mathcal {X}}\to \mathbb {R} }$es la función kernel que mide la similitud entre cualquier par de entradas.incógnita,incógnitaincógnita{\displaystyle \mathbf {x} ,\mathbf {x'} \in {\mathcal {X}}};
  • La suma abarca los n ejemplos etiquetados.{(incógnitai,yi)}i=1norte{\displaystyle \{(\mathbf {x} _{i},y_{i})\}_{i=1}^{n}}en el conjunto de entrenamiento del clasificador, conyi{1,+1}{\displaystyle y_{i}\in \{-1,+1\}};
  • elwiR{\displaystyle w_{i}\in \mathbb {R} }son los pesos para los ejemplos de entrenamiento, determinados por el algoritmo de aprendizaje;
  • la función signosgn{\displaystyle \operatorname {sgn} }determina si la clasificación previstay^{\displaystyle {\hat {y}}}da positivo o negativo.

Los clasificadores de kernel se describieron ya en la década de 1960, con la invención del perceptrón de kernel . [ 3 ] Alcanzaron gran prominencia con la popularidad de la máquina de vectores de soporte (SVM) en la década de 1990, cuando se descubrió que la SVM era competitiva con las redes neuronales en tareas como el reconocimiento de escritura a mano .

Matemáticas: el truco del núcleo

SVM con mapa de características dado porφ((a,b))=(a,b,a2+b2){\displaystyle \varphi ((a,b))=(a,b,a^{2}+b^{2})}y por lo tanto con la función kernelk(incógnita,y)=incógnitay+incógnita2y2{\displaystyle k(\mathbf {x} ,\mathbf {y} )=\mathbf {x} \cdot \mathbf {y} +\left\|\mathbf {x} \right\|^{2}\left\|\mathbf {y} \right\|^{2}}Los puntos de entrenamiento se representan en un espacio tridimensional donde se puede encontrar fácilmente un hiperplano separador.

El truco del kernel evita el mapeo explícito que se necesita para que los algoritmos de aprendizaje lineal aprendan una función no lineal o un límite de decisión . Para todosincógnita{\displaystyle \mathbf {x} }yincógnita{\displaystyle \mathbf {x'} }en el espacio de entradaincógnita{\displaystyle {\mathcal {X}}}ciertas funcionesk(incógnita,incógnita){\displaystyle k(\mathbf {x} ,\mathbf {x'} )}puede expresarse como un producto interno en otro espacioV{\displaystyle {\mathcal {V}}}. La funciónk:incógnita×incógnitaR{\displaystyle k\colon {\mathcal {X}}\times {\mathcal {X}}\to \mathbb {R} }A menudo se le denomina núcleo o función núcleo . La palabra "núcleo" se utiliza en matemáticas para denotar una función de ponderación para una suma o integral ponderada .

Ciertos problemas en el aprendizaje automático tienen más estructura que una función de ponderación arbitraria.k{\displaystyle k}El cálculo se simplifica mucho si el núcleo se puede escribir en forma de "mapa de características".φ:incógnitaV{\displaystyle \varphi \colon {\mathcal {X}}\to {\mathcal {V}}}lo cual satisface k(incógnita,incógnita)=φ(incógnita),φ(incógnita)V.{\displaystyle k(\mathbf {x} ,\mathbf {x'} )=\langle \varphi (\mathbf {x} ),\varphi (\mathbf {x'} )\rangle _{\mathcal {V}}.}La restricción clave es que,V{\displaystyle \langle \cdot ,\cdot \rangle _{\mathcal {V}}}debe ser un producto interno adecuado. Por otro lado, una representación explícita paraφ{\displaystyle \varphi }no es necesario, siempre y cuandoV{\displaystyle {\mathcal {V}}}es un espacio de producto interno . La alternativa se deduce del teorema de Mercer : una función definida implícitamente.φ{\displaystyle \varphi }existe siempre que el espacioincógnita{\displaystyle {\mathcal {X}}}puede equiparse con una medida adecuada que garantice la funciónk{\displaystyle k}Satisface la condición de Mercer .

El teorema de Mercer es similar a una generalización del resultado del álgebra lineal que asocia un producto interno a cualquier matriz definida positiva . De hecho, la condición de Mercer se puede reducir a este caso más simple. Si elegimos como nuestra medida la medida de conteoμ(T)=|T|{\displaystyle \mu (T)=|T|}a pesar deTincógnita{\displaystyle T\subset X}, que cuenta el número de puntos dentro del conjuntoT{\displaystyle T}, entonces la integral en el teorema de Mercer se reduce a una sumatoriai=1nortej=1nortek(incógnitai,incógnitaj)doidoj0.{\displaystyle \sum _{i=1}^{n}\sum _{j=1}^{n}k(\mathbf {x} _{i},\mathbf {x} _{j})c_{i}c_{j}\geq 0.}Si esta suma se cumple para todas las secuencias finitas de puntos(incógnita1,,incógnitanorte){\displaystyle (\mathbf {x} _{1},\dotsc ,\mathbf {x} _{n})}enincógnita{\displaystyle {\mathcal {X}}}y todas las opciones denorte{\displaystyle n}coeficientes de valor real(do1,,donorte){\displaystyle (c_{1},\dots ,c_{n})}(cf. núcleo definido positivo ), entonces la funciónk{\displaystyle k}Satisface la condición de Mercer.

Algunos algoritmos que dependen de relaciones arbitrarias en el espacio nativoincógnita{\displaystyle {\mathcal {X}}}De hecho, tendría una interpretación lineal en un contexto diferente: el espacio de rangos deφ{\displaystyle \varphi }La interpretación lineal nos da una idea del algoritmo. Además, a menudo no es necesario calcularφ{\displaystyle \varphi }directamente durante el cálculo, como ocurre con las máquinas de vectores de soporte . Algunos citan este atajo en el tiempo de ejecución como la principal ventaja. Los investigadores también lo utilizan para justificar el significado y las propiedades de los algoritmos existentes.

Teóricamente, una matriz de GramKRnorte×norte{\displaystyle \mathbf {K} \in \mathbb {R} ^{n\times n}}con respecto a{incógnita1,,incógnitanorte}{\displaystyle \{\mathbf {x} _{1},\dotsc ,\mathbf {x} _{n}\}}(a veces también llamada "matriz de núcleo" [ 4 ] ), dondeKij=k(incógnitai,incógnitaj){\displaystyle K_{ij}=k(\mathbf {x} _{i},\mathbf {x} _{j})}, debe ser semidefinida positiva (PSD) . [ 5 ] Empíricamente, para las heurísticas de aprendizaje automático, las elecciones de una funciónk{\displaystyle k}que no satisfacen la condición de Mercer aún pueden funcionar razonablemente sik{\displaystyle k}al menos se aproxima a la idea intuitiva de similitud. [ 6 ] Independientemente de sik{\displaystyle k}es un núcleo Mercer,k{\displaystyle k}Todavía se le puede denominar "núcleo".

Si la función kernelk{\displaystyle k}También es una función de covarianza como la que se usa en los procesos gaussianos , luego la matriz de GramK{\displaystyle \mathbf {K} }También se la puede llamar matriz de covarianza . [ 7 ]

Aplicaciones

Las áreas de aplicación de los métodos de kernel son diversas e incluyen geoestadística , [ 8 ] kriging , ponderación de distancia inversa , reconstrucción 3D , bioinformática , quimioinformática , extracción de información y reconocimiento de escritura a mano .

Véase también

Referencias

  1. "Método del núcleo" . Engati . Consultado el 4 de abril de 2023 .
  2. Theodoridis, Sergios (2008). Reconocimiento de patrones . Elsevier BV pág. 203. ISBN  9780080949123.
  3. Aizerman, MA; Braverman, Emmanuel M.; Rozonoer, LI (1964). "Fundamentos teóricos del método de la función potencial en el aprendizaje del reconocimiento de patrones". Automatización y control remoto . 25 : 821–837 .Citado en Guyon, Isabelle; Boser, B.; Vapnik, Vladimir (1993). Ajuste automático de capacidad de clasificadores de dimensión VC muy grande . Avances en sistemas de procesamiento de información neuronal. CiteSeerX 10.1.1.17.7215 . 
  4. Hofmann, Thomas; Schölkopf, Bernhard; Smola, Alexander J. (2008). "Métodos de kernel en aprendizaje automático" . The Annals of Statistics . 36 (3). arXiv : math/0701907 . doi : 10.1214/009053607000000677 . S2CID 88516979 . 
  5. Mohri, Mehryar ; Rostamizadeh, Afshin; Talwalkar, Ameet (2012). Fundamentos del aprendizaje automático . EE. UU., Massachusetts: MIT Press. ISBN 9780262018258.
  6. Sewell, Martin. "Máquinas de vectores de soporte: la condición de Mercer" . Máquinas de vectores de soporte. Archivado del original el 15 de octubre de 2018. Consultado el 30 de mayo de 2014 .
  7. Rasmussen, Carl Edward; Williams, Christopher KI (2006). Gaussian Processes for Machine Learning . MIT Press. ISBN 0-262-18253-X.
  8. Honarkhah, M.; Caers, J. (2010). "Simulación estocástica de patrones mediante modelado de patrones basado en distancias". Geociencias matemáticas . 42 (5): 487– 517. Bibcode : 2010MaGeo..42..487H . doi : 10.1007/s11004-010-9276-7 . S2CID 73657847 . 

Lecturas adicionales

  • Shawe-Taylor, J .; Cristianini, N. (2004). Métodos de núcleo para el análisis de patrones . Cambridge University Press. ISBN 9780511809682.
  • Liu, W.; Principe, J.; Haykin, S. (2010). Filtrado adaptativo de kernel: una introducción completa . Wiley. ISBN 9781118211212.
  • Schölkopf, B .; Smola, AJ; Bach, F. (2018). Aprendizaje con núcleos  : máquinas de vectores de soporte, regularización, optimización y más allá . MIT Press. ISBN 978-0-262-53657-8.
  • Artículo sobre métodos de kernel en onlineprediction.net