¿El aprendizaje profundo ha vuelto obsoletos los métodos del núcleo?

Los métodos del kernel son prácticamente obsoletos, pero sus matemáticas aún brillan y vale la pena echarle un vistazo.

Los métodos del kernel no solo son prácticamente obsoletos debido a su rendimiento predictivo inferior en comparación con el aprendizaje profundo, sino también porque requieren mucha ingeniería de características y porque están severamente limitados por las dimensiones de los datos.

Mi amigo me estaba contando acerca de sus dolores de cabeza al obtener una tubería de máquina de vectores de soporte que funcionaba con datos de EGG, donde su tarea era clasificar los datos de EGG en dos grupos: (1) Personas sanas o (2) personas con enfermedades cardíacas. Jugó con los datos durante muchas horas y fue paso a paso a lo largo de la tubería de ingeniería de características que es habitual en ese campo (se sabía que su profesor era un experto en este asunto y le recomendó que hiciera estos pasos para obtener buenos resultados) . Finalmente consiguió que todo funcionara, y después de 30-45 minutos de entrenamiento en máquinas de vectores de soporte, recuperó los resultados: aproximadamente 95% de precisión.

Luego estaba desempacando su caja de herramientas de aprendizaje profundo. Rápidamente escribió un guión en Keras con una red convolucional y acaba de cargar los datos sin procesar de la serie temporal. Escribir ese guión le llevó unos 5 minutos. Después de 30 segundos de entrenamiento, el rendimiento se estabilizó con una precisión del 99.5%.

El aprendizaje profundo es muy simple de usar y la mayoría de las veces proporciona buenos resultados. Intente utilizar una máquina de vectores de soporte en gigabytes de datos y no será tan feliz; por el contrario, eso no sería un problema para los algoritmos de aprendizaje profundo.

Sin embargo, la matemática de los métodos del núcleo es bastante valiosa para saber. No solo se usa en el aprendizaje automático, sino también en el dominio relacionado de las estadísticas (estimación de densidad del núcleo). Un concepto importante que uno debe conocer es el truco del núcleo, donde se calcula implícitamente la similitud entre los vectores en el espacio de alta dimensión, de modo que se obtiene la similitud en este espacio de alta dimensión sin expandir los datos en este espacio de alta dimensión en el primer lugar. Esto ahorra muchos cálculos.

Más allá de eso, los métodos del núcleo pueden reaparecer más tarde en combinación con el aprendizaje profundo. Sin embargo, si observa el campo del aprendizaje profundo, puede estar bastante seguro de que otros métodos nuevos probablemente serán más importantes que el resurgir de los métodos del núcleo en combinación con el aprendizaje profundo.

Me preocupa el fanboying generalizado de los métodos de aprendizaje profundo (DNN). Reconozco plenamente su facilidad de uso y éxito hasta la fecha. Dicho esto, tengo pocos pensamientos extraviados sobre el tema.

  1. El teorema de No Free Lunch básicamente dice que no hay una solución única para el problema de ML. Me preocupa defender solo los DNN como la forma de resolver todos los problemas.
  2. Entiendo que los DNN realmente brillan en grandes conjuntos de datos. Normalmente trabajo conjuntos de datos pequeños (<100 MB), por lo que me pregunto si DNN es realmente una bala mágica aquí. El problema es tener muchos pesos aprendidos, cuando no hay suficientes datos para ajustarlos a todos de una manera que sea generalizable.
  3. Las redes profundas se han fusionado con éxito con los métodos del núcleo. La fuerza de un DNN es la extracción automática de funciones. Si piensa en la última capa de un DNN, es la regresión logística aplicada a las características aprendidas. Si uno cree que el algoritmo X es superior a la regresión logística, uno debería / podría reemplazar esa última capa de DNN con X (como ejemplo considere este documento, que intercambia la última capa de DNN para un SVM http://arxiv.org/pdf /1306.0239.pdf )

Bueno, las técnicas de aprendizaje profundo prosperan cuando hay muchos datos etiquetados, pero la realidad es que siempre habrá dominios donde los datos pueden ser limitados. El SVM funciona muy bien cuando tiene pocos puntos de datos. El núcleo lineal es bueno cuando tienes datos dimensionales muy altos.

También he oído hablar de usar un DNN con un SVM. El DNN se usa para extraer características y el SVM se usa para la clasificación.