Redes neuronales frente a máquinas de vectores de soporte: ¿son las segundas definitivamente superiores?


52

Muchos autores de artículos que leí afirman que las SVM son una técnica superior para enfrentar su problema de regresión / clasificación, conscientes de que no podrían obtener resultados similares a través de las NN. A menudo, la comparación establece que

SVM, en lugar de NN,

  • Tener una fuerte teoría fundacional
  • Alcance el óptimo global debido a la programación cuadrática
  • No tiene problemas para elegir un número adecuado de parámetros
  • Son menos propensos al sobreajuste
  • Necesita menos memoria para almacenar el modelo predictivo
  • Produzca resultados más legibles y una interpretación geométrica.

¿Es en serio un pensamiento ampliamente aceptado? No cite el Teorema del almuerzo libre o declaraciones similares, mi pregunta es sobre el uso práctico de esas técnicas.

Por otro lado, ¿qué tipo de problema abstracto definitivamente enfrentarías con NN?


44
Creo que la pregunta podría ser un poco amplia. Pero en la práctica, los NN parecen ser mucho más ajustables con la elección de la estructura de NN, mientras que los SVM tienen menos parámetros. Hay dos preguntas, si un NN se configurara de manera óptima para resolver un problema, ¿cómo le iría frente a SVM? Y en manos del practicante promedio, ¿cómo se compara SVM con NN?
Patrick Caldon

2
@PatrickCaldon Entiendo tu punto de vista, pero más parámetros con los que lidiar no siempre significan una mejor herramienta, si no sabes cómo configurarlos de manera adecuada. Incluso si es posible, podría ser necesario un largo estudio; o, es posible que no necesite una capacidad de ajuste tan amplia para su aplicación
stackovergio

1
ese es mi punto. ¿Qué pregunta cómo funciona la herramienta en circunstancias ideales en problemas particulares? o ¿cómo funciona la herramienta para la mayoría de las personas la mayor parte del tiempo? Creo que el componente más importante aquí es la persona por cierto. Debido a esto, creo que los factores relevantes son a menudo: ¿Qué tan difícil es aprender cada herramienta? ¿Hay expertos que sepan cómo usarlo? etc. Eso puede explicar mucho de "Obtuve un buen rendimiento de X"
Patrick Caldon

1
Por lo que sé, las ANN de alimentación multicapa son aproximadores universales más o menos independientemente de la función de activación. No conozco un resultado similar para SVM que depende de mi conocimiento mucho más de la función del kernel utilizada.
Momo

2
En el uso práctico, considero que las NN son un poco más prácticas debido al tiempo de entrenamiento. Las SVM no lineales simplemente no pueden manejar grandes N muy bien. Ambos algoritmos pueden sobreajustar y ambos necesitan una fuerte regularización.
Shea Parkes

Respuestas:


43

Es una cuestión de compensaciones. SVM son en este momento, los NN que solía ser en . Encontrará un número creciente de artículos que afirman que se encuentran bosques aleatorios, modelos gráficos probabilísticos o métodos bayesianos no paramétricos . Alguien debería publicar un modelo de pronóstico en los Anales de Investigación Improbable sobre qué modelos se considerarán modernos.

Dicho esto, para muchos problemas supervisados ​​famosos y difíciles, los modelos individuales de mejor rendimiento son algún tipo de NN, algún tipo de SVM o un método de descenso de gradiente estocástico específico del problema implementado utilizando métodos de procesamiento de señal.


Ventajas de NN:

  • Son extremadamente flexibles en los tipos de datos que pueden soportar. Los NN hacen un trabajo decente al aprender las características importantes de básicamente cualquier estructura de datos, sin tener que derivar características manualmente.
  • NN aún se beneficia de la ingeniería de características, por ejemplo, debe tener una característica de área si tiene una longitud y un ancho. El modelo funcionará mejor para el mismo esfuerzo computacional.

  • La mayor parte del aprendizaje automático supervisado requiere que sus datos estén estructurados en una matriz de observaciones por características, con las etiquetas como un vector de observaciones de longitud. Esta restricción no es necesaria con NN. Hay un trabajo fantástico con SVM estructurado, pero es poco probable que alguna vez sea tan flexible como las NN.


Pros de SVM:

  • Menos hiperparámetros. En general, las SVM requieren menos búsqueda en la cuadrícula para obtener un modelo razonablemente preciso. SVM con un núcleo RBF generalmente funciona bastante bien.

  • Óptimo global garantizado.


Contras de NN y SVM:

  • Para la mayoría de los propósitos, ambos son cajas negras. Hay algunas investigaciones sobre la interpretación de SVM, pero dudo que alguna vez sea tan intuitivo como GLM. Este es un problema grave en algunos dominios problemáticos.
  • Si va a aceptar una caja negra, generalmente puede obtener un poco más de precisión al embolsar / apilar / aumentar muchos modelos con diferentes compensaciones.

    • Los bosques aleatorios son atractivos porque pueden producir predicciones fuera de bolsa (predicciones de dejar uno afuera) sin esfuerzo adicional, son muy interpretables, tienen una buena compensación de variación de sesgo (ideal para modelos de ensacado) y son relativamente robustos al sesgo de selección. Estúpidamente simple de escribir una implementación paralela de.

    • Los modelos gráficos probabilísticos son atractivos porque pueden incorporar conocimiento específico del dominio directamente en el modelo y son interpretables a este respecto.

    • Los métodos bayesianos no paramétricos (o realmente extremadamente paramétricos) son atractivos porque producen intervalos de confianza directamente. Se desempeñan muy bien en muestras pequeñas y muy bien en muestras grandes. Estúpidamente simple de escribir una implementación de álgebra lineal.


41
Con el reciente aumento del aprendizaje profundo, las NN pueden considerarse "más en" que las SVM, diría.
bayerj

30

La respuesta a su pregunta es, en mi experiencia, "no", los SVM no son definitivamente superiores, y lo que funciona mejor depende de la naturaleza del conjunto de datos en cuestión y de la habilidad relativa del operador con cada conjunto de herramientas. En general, los SVM son buenos porque el algoritmo de entrenamiento es eficiente y tiene un parámetro de regularización, que lo obliga a pensar en la regularización y el ajuste excesivo. Sin embargo, hay conjuntos de datos en los que los MLP ofrecen un rendimiento mucho mejor que los SVM (ya que se les permite decidir su propia representación interna, en lugar de tenerla preespecificada por la función del núcleo). Una buena implementación de MLP (por ejemplo, NETLAB) y la regularización o la detención temprana o la selección de arquitectura (o mejor aún, las tres) a menudo pueden dar muy buenos resultados y ser reproducibles (al menos en términos de rendimiento).

La selección del modelo es el principal problema con los SVM, elegir el kernel y optimizar el kernel y los parámetros de regularización a menudo pueden llevar a un ajuste excesivo si se optimiza en exceso el criterio de selección del modelo. Si bien la teoría que apuntala el SVM es un consuelo, la mayoría solo se aplica a un núcleo fijo, por lo que tan pronto como intente optimizar los parámetros del núcleo ya no se aplica (por ejemplo, el problema de optimización que se resolverá al ajustar el núcleo generalmente no es convexo y puede tener mínimos locales).


77
Estoy totalmente de acuerdo con esto. Actualmente estoy entrenando SVM y ANN en datos de interfaz cerebro-computadora y hay algunos conjuntos de datos donde los SVM son mejores y algunos conjuntos de datos donde los ANN son mejores. Lo interesante es: cuando promedio el rendimiento de todos los conjuntos de datos que estoy usando, los SVM y los ANN alcanzan exactamente el mismo rendimiento. Por supuesto, esto no es una prueba. Es solo una anécdota. :)
alfa

27

Solo intentaré explicar mi opinión que parecía ser compartida por la mayoría de mis amigos. Tengo las siguientes preocupaciones sobre NN que no son sobre SVM en absoluto:

  1. En un NN clásico, la cantidad de parámetros es enormemente alta. Digamos que tiene los vectores de la longitud 100 que desea clasificar en dos clases. Una capa oculta del mismo tamaño que una capa de entrada lo llevará a más de 100000 parámetros libres. Solo imagine cuán mal puede sobreajustar (cuán fácil es caer al mínimo local en ese espacio) y cuántos puntos de entrenamiento necesitará para evitar eso (y cuánto tiempo necesitará para entrenar).
  2. Por lo general, debe ser un verdadero experto para elegir la topología de un vistazo. Eso significa que si desea obtener buenos resultados, debe realizar muchos experimentos. Es por eso que es más fácil usar SVM y decir que no se pueden obtener resultados similares con NN.
  3. Por lo general, los resultados de NN no son reproducibles. Incluso si ejecuta su entrenamiento NN dos veces, probablemente obtendrá resultados diferentes debido a la aleatoriedad de un algoritmo de aprendizaje.
  4. Por lo general, no tiene ninguna interpretación de los resultados en absoluto. Esa es una pequeña preocupación, pero de todos modos.

Eso no significa que no debas usar NN, solo debes usarlo con cuidado. Por ejemplo, Convolutional NN puede ser extremadamente bueno para el procesamiento de imágenes, otros Deep NN también demostraron ser buenos para otros problemas.

Espero que ayude.


2
Para que los resultados de ANN sean reproducibles, siembra la función aleatoria.
Franck Dernoncourt

@Franck Eso no es reproducibilidad real.
cordura

17

Estoy usando redes neuronales para la mayoría de los problemas. El punto es que, en la mayoría de los casos, se trata más de la experiencia del usuario que del modelo. Aquí hay algunas razones por las que me gustan las NN.

  1. Son flexibles Puedo lanzar cualquier pérdida que quiera a ellos: pérdida de bisagra, cuadrado, entropía cruzada, lo que sea. Siempre que sea diferenciable, incluso puedo diseñar una pérdida que se ajuste exactamente a mis necesidades.
  2. Se pueden tratar probabilísticamente: redes neuronales bayesianas, Bayes variacionales, MLE / MAP, todo está ahí. (Pero en algunos casos más difícil).
  3. Ellos son rápidos. La mayoría de los MLP serán dos multiplicaciones de matriz y un componente aplicado de no linealidad en el medio. Batir eso con un SVM.

Revisaré tus otros puntos paso a paso.

Tener una fuerte teoría fundacional

Yo diría que los NN son igualmente fuertes en ese caso: ya que los entrenas en un marco probabilístico. Eso hace posible el uso de tratamientos previos y un tratamiento bayesiano (por ejemplo, con técnicas o aproximaciones variacionales).

Alcance el óptimo global debido a la programación cuadrática

Para un conjunto de hiperparámetros. Sin embargo, la búsqueda de buenos hps no es convexa, y no sabrá si también encontró el óptimo global.

No tiene problemas para elegir un número adecuado de parámetros

Con SVM, también debe seleccionar hiperparámetros.

Necesita menos memoria para almacenar el modelo predictivo

Necesita almacenar los vectores de soporte. Los SVM en general no serán más baratos para almacenar MLP, depende del caso.

Produzca resultados más legibles y una interpretación geométrica.

La capa superior de un MLP es una regresión logística en el caso de la clasificación. Por lo tanto, hay una interpretación geométrica (separando el hiperplano) y también una interpretación probabilística.


¿Por qué necesito almacenar vectores de soporte? ¿No es suficiente almacenar el hiperplano / unión de SVM?
Julian

Esto se debe a que el hiperplano se representa a través de vectores de soporte. Para calcular la distancia de un nuevo punto desde él, recorrerá iterativamente sobre ellos.
bayerj

0

De alguna manera, estas dos amplias categorías de técnicas de aprendizaje automático están relacionadas. Aunque no es perfecto, dos documentos que he encontrado útiles para mostrar las similitudes en estas técnicas están a continuación

Ronan Collobert y Samy Bengio. 2004. Enlaces entre perceptrones, MLP y SVM. En Actas de la vigésima primera conferencia internacional sobre aprendizaje automático (ICML '04). ACM, Nueva York, NY, EE. UU., 23-. DOI: https://doi.org/10.1145/1015330.1015415

y

Andras, Peter. (2002) La equivalencia de la máquina de vectores de soporte y las redes neuronales de regularización. Cartas de procesamiento neuronal. 15. 97-104. 10.1023 / A: 1015292818897.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.