¿Aplicando el "truco del núcleo" a los métodos lineales?

20

El truco del kernel se usa en varios modelos de aprendizaje automático (por ejemplo, SVM ). Se introdujo por primera vez en el documento "Fundamentos teóricos del método de función potencial en el aprendizaje de reconocimiento de patrones" en 1964.

La definición de Wikipedia dice que es

un método para usar un algoritmo de clasificador lineal para resolver un problema no lineal mapeando las observaciones no lineales originales en un espacio de dimensiones superiores, donde el clasificador lineal se usa posteriormente; Esto hace que una clasificación lineal en el nuevo espacio sea equivalente a una clasificación no lineal en el espacio original.

Un ejemplo de un modelo lineal que se ha extendido a problemas no lineales es el kernel PCA . ¿Se puede aplicar el truco del núcleo a cualquier modelo lineal o tiene ciertas restricciones?

Shane
fuente
1
Por cierto, los núcleos no son realmente esenciales para SVM. El "corazón" de SVM es el principio de la maximización del margen blando. Ir a la representación del núcleo hace que la dimensionalidad de su problema sea O (m ^ 2) en lugar de O (d) donde m es el número de ejemplos y d es la dimensión de su espacio de características, por lo que si m ^ 2 es más que d, podría ser mejor acabar con los núcleos jmlr.csail.mit.edu/papers/v6/keerthi05a.html
Yaroslav Bulatov
@Yaroslav: Gracias por la referencia. ¿Conoces alguna implementación de ese "Método modificado de Newton finito"?
Shane
no, pero las páginas de Keerthi y Langford tienen enlaces a algún software que puede estar relacionado, ya que ambos trabajaron en Yahoo Research
Yaroslav Bulatov el

Respuestas:

17

El truco del kernel solo se puede aplicar a modelos lineales donde los ejemplos en la formulación del problema aparecen como productos de puntos (Support Vector Machines, PCA, etc.).

ébano1
fuente
Gracias por la respuesta. @mbq @ ebony1: en mi opinión, tenemos que hacer un mayor esfuerzo para publicar preguntas más serias de aprendizaje automático en el sitio, con el fin de atraer a más de esa comunidad.
Shane
@Shane Estoy completamente de acuerdo, pero ¿qué pasa con otro sitio SO como metaoptimize.com/qa ?
chl
@chl: Esa también es una opción, pero no es parte del StackExchange (está controlado por una persona y en un software diferente) y personalmente preferiría que estas diferentes comunidades de análisis de datos se mezclen en un solo lugar.
Shane
@ Shane Bueno, está bien, tiene sentido.
chl
también hay una propuesta de intercambio de pila de Aprendizaje automático area51.stackexchange.com/proposals/7607/machine-learning
Yaroslav Bulatov
2

@ ebony1 da el punto clave (+1), fui coautor de un artículo que discutía cómo kernelizar modelos lineales generalizados, por ejemplo, regresión logística y regresión de Poisson, es bastante sencillo.

GC Cawley, GJ Janacek y NLC Talbot, máquinas de kernel generalizadas, en Actas de la Conferencia conjunta internacional IEEE / INNS sobre redes neuronales (IJCNN-2007), páginas 1732-1737, Orlando, Florida, EE. UU., 12-17 de agosto de 2007. ( www , pdf )

También escribí una caja de herramientas MATLAB (calidad de investigación) (lamentablemente sin instrucciones), que puedes encontrar aquí .

Ser capaz de modelar la distribución objetivo es bastante útil en la cuantificación de la incertidumbre, etc., por lo que es una adición útil (aunque bastante incremental) a los métodos de aprendizaje del núcleo.

Dikran Marsupial
fuente