61 votos

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

Muchos de los autores de los artículos que he leído afirman que las SVM son una técnica superior para afrontar 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 afirma que

SVMs, en lugar de NNs,

  • Tener una sólida teoría fundacional
  • Alcanzar el óptimo global gracias 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
  • Proporcionar resultados más legibles y una interpretación geométrica

¿Es realmente un pensamiento ampliamente aceptado? No cites el Teorema del No-Free Lunch o afirmaciones similares, mi pregunta es sobre el uso práctico de esas técnicas.

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

4 votos

Creo que la pregunta puede ser un poco amplia. Pero en la práctica las NN parecen ser mucho más sintonizables con la elección de la estructura de la NN, mientras que las SVM tienen menos parámetros. Hay dos preguntas, si una NN estuviera configurada de forma óptima para resolver un problema, ¿cómo se comportaría frente a la SVM? Y en manos del profesional medio, ¿cómo se compara la SVM con la NN?

2 votos

@PatrickCaldon Entiendo tu punto de vista, pero más parámetros a tratar no siempre significan mejor herramienta, si no sabes configurarlos de forma adecuada. Incluso si es posible, podría ser necesario un largo estudio; o, puede que no necesites una sintonización tan amplia para el propósito de tu aplicación

1 votos

Ese es mi punto. La pregunta es ¿cómo funciona la herramienta en circunstancias ideales en problemas particulares? o ¿cómo funciona la herramienta para la mayoría de la gente la mayor parte del tiempo? Creo que el mayor componente aquí es la persona, sin embargo. Por eso creo que los factores relevantes suelen ser: ¿Qué tan difícil es aprender cada herramienta? ¿Hay expertos que sepan utilizarla? etc. Eso puede explicar mucho el "he sacado buen rendimiento a X".

51voto

markymuy Puntos 21

Es una cuestión de compensaciones. Las SVM son en ahora mismo, las NN solían ser en . Encontrará un número creciente de artículos que afirman que los bosques aleatorios, los modelos gráficos probabilísticos o los métodos bayesianos no paramétricos son en. Alguien debería publicar un modelo de previsión en el Anales de investigación improbable sobre qué modelos se considerarán de moda.

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


Pros de NN:

  • Son extremadamente flexibles en cuanto a los tipos de datos que pueden admitir. Las NN hacen un trabajo decente en el aprendizaje de las características importantes de básicamente cualquier estructura de datos, sin tener que derivar manualmente las características.
  • Las NN siguen beneficiándose de la ingeniería de rasgos, por ejemplo, debería tener un rasgo de área si tiene una longitud y una anchura. El modelo funcionará mejor con el mismo esfuerzo computacional.

  • La mayor parte del aprendizaje automático supervisado requiere tener los datos 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 sea tan flexible como las NN.


Ventajas de la SVM:

  • Menos hiperparámetros. Por lo general, las SVM requieren menos búsqueda de cuadrículas para obtener un modelo razonablemente preciso. La SVM con un kernel RBF suele funcionar 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 las SVM, pero dudo que sean tan intuitivas como las GLM. Esto es un problema serio en algunos dominios de problemas.
  • Si vas a aceptar una caja negra, por lo general puedes obtener un poco más de precisión agrupando/apilando/reforzando muchos modelos con diferentes compensaciones.

    • Los bosques aleatorios son atractivos porque pueden producir predicciones fuera de la bolsa (predicciones fuera de la bolsa) sin esfuerzo adicional, son muy interpretables, tienen una buena compensación de sesgo-varianza (genial para los modelos de bolsa) y son relativamente robustos al sesgo de selección. Es estúpidamente sencillo escribir una implementación paralela.

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

    • Los métodos bayesianos no paramétricos (o realmente muy paramétricos) son atractivos porque producen directamente intervalos de confianza. Funcionan muy bien con tamaños de muestra pequeños y muy bien con tamaños de muestra grandes. Es estúpidamente sencillo escribir una implementación de álgebra lineal.

45 votos

Con el reciente auge del aprendizaje profundo, las NN pueden considerarse "más in" que las SVM, diría yo.

0 votos

¿Cómo garantiza la SVM un óptimo global?

32voto

John Richardson Puntos 1197

La respuesta a su pregunta es, según mi experiencia, "no", las 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, las SVM son buenas porque el algoritmo de entrenamiento es eficiente y tiene un parámetro de regularización que obliga a pensar en la regularización y el sobreajuste. Sin embargo, hay conjuntos de datos en los que los MLP ofrecen un rendimiento mucho mejor que las SVM (ya que se les permite decidir su propia representación interna, en lugar de tenerla preestablecida 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 la arquitectura (o mejor aún, las tres cosas) 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 de las SVM, ya que la elección del núcleo y la optimización de los parámetros del núcleo y de la regularización pueden conducir a menudo a un sobreajuste grave si se sobreoptimiza el criterio de selección del modelo. Aunque la teoría en la que se basa la SVM es reconfortante, la mayor parte de ella sólo se aplica a un núcleo fijo, por lo que en cuanto se intenta optimizar los parámetros del núcleo ya no se aplica (por ejemplo, el problema de optimización que hay que resolver para ajustar el núcleo no suele ser convexo y puede tener mínimos locales).

7 votos

Estoy totalmente de acuerdo con esto. Actualmente estoy entrenando SVM y RNA en datos de la interfaz cerebro-ordenador y hay algunos conjuntos de datos en los que las SVM son mejores y otros conjuntos de datos en los que las RNA son mejores. Lo interesante es que cuando promedio el rendimiento de todos los conjuntos de datos que estoy utilizando, las SVM y las RNA alcanzan exactamente el mismo rendimiento. Por supuesto, esto no es una prueba. Es sólo una anécdota. :)

29voto

Dmitry Laptev Puntos 1846

Sólo trataré de explicar mi opinión, que parece ser compartida por la mayoría de mis amigos. Tengo las siguientes preocupaciones sobre NN que no tienen nada que ver con SVM:

  1. En una NN clásica, la cantidad de parámetros es enormemente alta. Supongamos que tiene los vectores de la longitud 100 que quiere clasificar en dos clases. Una capa oculta del mismo tamaño que la capa de entrada te llevará a más de 100000 parámetros libres. Imagínese lo mal que puede ajustarse (lo fácil que es caer en un mínimo local en un espacio así), y cuántos puntos de entrenamiento necesitará para evitarlo (y cuánto tiempo necesitará para entrenar).
  2. Normalmente hay que ser un auténtico experto para elegir la topología de un vistazo. Eso significa que si quiere obtener buenos resultados debe realizar muchos experimentos. Por eso es más fácil usar SVM y decir que no se podrían obtener resultados similares con NN.
  3. Por lo general, los resultados de NN no son reproducibles. Incluso si ejecuta el entrenamiento de la 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. Eso es una pequeña preocupación, pero de todos modos.

Eso no significa que no debas usar NN, sólo debes usarlo con cuidado. Por ejemplo, las NN convolucionales pueden ser extremadamente buenas para el procesamiento de imágenes, y otras NN profundas han demostrado ser buenas también para otros problemas.

Espero que sea de ayuda.

5 votos

Para que los resultados de la RNA sean reproducibles, hay que sembrar la función aleatoria.

0 votos

@Franck Eso no es reproducibilidad real.

19voto

karatchov Puntos 230

Estoy utilizando redes neuronales para la mayoría de los problemas. La cuestión es que en la mayoría de los casos se trata más de la experiencia del usuario que del modelo. Estas son algunas de las razones por las que me gustan las NN.

  1. Son flexibles. Puedo lanzar cualquier pérdida que quiera en ellos: pérdida de bisagra, cuadrado, entropía cruzada, lo que sea. Mientras sea diferenciable, puedo incluso diseñar una pérdida que se ajuste exactamente a mis necesidades.
  2. Pueden tratarse de forma probabilística: Redes neuronales bayesianas, Bayes variacional, MLE/MAP, todo está ahí. (Pero en algunos casos es más difícil).
  3. Son rápidos. La mayoría de los MLP son dos multiplicaciones de matrices y una no linealidad aplicada por componentes en el medio. Supera eso con una SVM.

Revisaré sus otros puntos paso a paso.

Tener una sólida teoría fundacional

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

Alcanzar el óptimo global gracias 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ás si has encontrado el óptimo global también.

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

Con las SVM, también hay que seleccionar los hiperparámetros.

Necesita menos memoria para almacenar el modelo predictivo

Es necesario almacenar los vectores de apoyo. Las SVM no serán en general más baratas de almacenar que las MLP, depende del caso.

Proporcionar 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 una interpretación probabilística también.

0 votos

¿Por qué necesito almacenar vectores de apoyo? ¿No es suficiente con almacenar el hiperplano/margen de la SVM?

0 votos

Eso es porque el hiperplano se representa a través de vectores de apoyo. Para calcular la distancia de un nuevo punto a él, se iterará sobre ellos.

2voto

darken Puntos 91

En cierto modo, estas dos amplias categorías de técnicas de aprendizaje automático están relacionadas. Aunque no son perfectos, dos artículos que he encontrado útiles para mostrar las similitudes de estas técnicas son los siguientes

Ronan Collobert y Samy Bengio. 2004. Vínculos entre los perceptrones, los MLP y SVM. En Proceedings of the twenty-first international conference on Machine learning (ICML '04). ACM, New York, NY, USA, 23-. DOI: https://doi.org/10.1145/1015330.1015415

y

Andras, Peter. (2002). La equivalencia de las máquinas de vectores de apoyo y las redes neuronales de regularización. Regularization Neural Networks. Neural Processing Letters. 15. 97-104. 10.1023/A:1015292818897.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X