Máquinas de Vectores de Apoyo-Mejor que las Redes Neuronales Artificiales en qué situaciones de aprendizaje?


Sé que los SVM son supuestamente 'asesinos de ANN' en que seleccionan automáticamente la complejidad de la representación y encuentran un óptimo global (ver aquí para algunas citas de elogios de SVM).

Pero aquí es donde no estoy claro do ¿todas estas afirmaciones de superioridad se sostienen solo para el caso de un problema de decisión de clase 2 o van más allá? (Supongo que se mantienen para clases no linealmente separables o de lo contrario a nadie le importaría)

Así que una muestra de algunos de los casos que me gustaría ser aclarado subir:

  • ¿Son los SVM mejores que los ANN con muchas clases?
  • en un entorno en línea?
  • ¿Qué pasa en un caso semi-supervisado como el aprendizaje por refuerzo?
  • ¿Hay una mejor versión no supervisada de SVMs?

No espero que alguien responda a todas estas subcuestiones de lil, sino que dé algunos límites generales para cuando las SVM son mejores que los equivalentes ANN comunes (por ejemplo, FFBP, BP recurrente, máquinas Boltzmann, SOMs, etc.). en la práctica, y preferiblemente, en teoría también.

Author: zergylord, 2011-07-15

4 answers

Son SVMs mejores que ANN con muchas clases? Probablemente se esté refiriendo al hecho de que los SVM son, en esencia, clasificadores de una o dos clases. De hecho lo son y no hay manera de modificar un algoritmo SVM para clasificar más de dos clases.

La característica fundamental de un SVM es el hiperplano de margen máximo de separación cuya posición se determina maximizando su distancia de los vectores de soporte. Y, sin embargo, las SVM se utilizan rutinariamente para clasificación multiclase, que se logra con una envoltura de procesamiento alrededor de múltiples clasificadores SVM que funcionan en un patrón " uno contra muchos "i es decir, los datos de entrenamiento se muestran al primer SVM que clasifica esas instancias como" Clase I "o"no Clase I". Los datos de la segunda clase, se muestran a un segundo SVM que clasifica estos datos como " Clase II " o " no Clase II", y así sucesivamente. En la práctica, esto funciona bastante bien. Así que como era de esperar, la resolución superior de los SVM en comparación con otros clasificadores no se limita a datos de dos clases.

Por lo que puedo decir, los estudios reportados en la literatura confirman esto, por ejemplo, en el artículo titulado provocativamente Sexo con Máquinas de Vectores de Soporte se informó de una resolución sustancialmente mejor para la identificación del sexo (Masculino/Femenino) en imágenes de 12 píxeles cuadrados para SVM en comparación con la de un grupo de clasificadores lineales tradicionales; SVM también superó a RBF NN, así como as large ensemble RBF NN). Pero parece haber mucha evidencia similar para el rendimiento superior de la SVM en problemas de varias clases: por ejemplo, la SVM superó a la NN en el reconocimiento del pliegue proteico y en el pronóstico de series temporales .

Mi impresión de la lectura de esta literatura durante la última década más o menos, es que la mayoría de los estudios cuidadosamente diseñados by por personas expertas en configurar y usar ambas técnicas, y el uso de datos suficientemente resistentes a clasificación para provocar alguna diferencia significativa en la resolución report reporta el desempeño superior de SVM en relación a NN. Pero como sugiere su pregunta, ese delta de rendimiento parece ser, en cierto grado, específico del dominio.

Por ejemplo, NN superó a SVM en un estudio comparativo de identificación del autor a partir de textos en escritura árabe; En un estudio comparando predicción de calificación crediticia, no hubo diferencia discernible en la resolución clasificadores; un resultado similar fue reportado en un estudio de clasificación de partículas de alta energía .

He leído, de más de una fuente en la literatura académica, que SVM supera a NN a medida que disminuye el tamaño de los datos de entrenamiento.

Finalmente, el grado en que se puede generalizar a partir de los resultados de estos estudios comparativos es probablemente bastante limitado. Por ejemplo, en un estudio que compara la precisión de SVM y NN en la predicción de series temporales, los investigadores informaron que la SVM de hecho superó a una NN convencional (propagación inversa sobre nodos en capas), pero el rendimiento de la SVM fue aproximadamente el mismo que el de una NN RBF (función de base radial).

[Son SVMs mejores que ANN] En un entorno en línea? Los SVM no se utilizan en un entorno en línea (es decir, capacitación incremental). La esencia de SVMs es el hiperplano de separación cuya posición está determinada por un pequeño número de vectores de soporte . Tan incluso un solo punto de datos adicional podría, en principio, influir significativamente en la posición de este hiperplano.

¿Qué pasa en un caso semi-supervisado como el aprendizaje por refuerzo ? Hasta el comentario de la OP a esta respuesta, no estaba al tanto de las Redes Neuronales o SVM utilizadas de esta manera but pero lo están.

La variante semi-supervisada más utilizada de SVM se llama Transductive SVM (TSVM), mencionada por primera vez por Vladimir Vapnick (el mismo tipo que descubrió / inventó SVM convencional). No sé casi nada sobre esta técnica que no sea cómo se llama y que sigue los principios de transducción (aproximadamente razonamiento lateral i es decir, el razonamiento de los datos de entrenamiento a los datos de prueba). Aparentemente TSV es una técnica preferida en el campo de clasificación de texto.

¿Hay una mejor versión no supervisada de SVMs? No creo que los SVM sean adecuados para el aprendizaje sin supervisión. La separación se basa en la posición del hiperplano de margen máximo determinado por vectores de soporte. Esto podría ser fácilmente mi propia comprensión limitada, pero no veo cómo sucedería si esos vectores de soporte no estuvieran etiquetados (es decir, si no sabías de antemano lo que estabas tratando de separar). Un caso de uso crucial de algoritmos no supervisados es cuando no tiene datos etiquetados o sí y está mal desequilibrado. Por ejemplo, fraude en línea; aquí puede tener en sus datos de entrenamiento, solo unos pocos puntos de datos etiquetados como" cuentas fraudulentas "(y generalmente con una precisión cuestionable) frente al >99% restante etiquetado como "no fraude"."En este escenario, un clasificador de una clase , una configuración típica para SVMs, es una buena opción. En particular, los datos de entrenamiento consisten en instancias etiquetadas como "no fraude" y " unk "(o alguna otra etiqueta para indicar que no están en la clase), en otras palabras," dentro del límite de decisión "y" fuera del límite de decisión"."

Yo quería para concluir mencionando que, 20 años después de su "descubrimiento", el SVM es un miembro firmemente arraigado en la biblioteca ML. Y de hecho, la resolución consistentemente superior en comparación con otros clasificadores de última generación está bien documentada.

Su pedigrí es tanto una función de su rendimiento superior documentado en numerosos estudios rigurosamente controlados, así como su elegancia conceptual. W / r / t el último punto, considerar que los perceptrones multicapa (MLP), aunque a menudo son los clasificadores excelentes, son impulsados por una rutina de optimización numérica, que en la práctica rara vez encuentra el mínimo global; además, esa solución no tiene significado conceptual. Por otro lado, la optimización numérica en el corazón de la construcción de un clasificador SVM de hecho encuentra el mínimo global. Lo que es más que la solución es el límite de decisión real.

Aún así, creo que la reputación de SVM ha disminuido un poco durante los últimos años.

La razón principal por la que sospecho es la competencia de NetFlix. NetFlix enfatizó el poder de resolución de las técnicas fundamentales de descomposición de la matriz y aún más significativamente el poder de combinando clasificadores. La gente combinaba clasificadores mucho antes que NetFlix, pero más como una técnica contingente que como un atributo del diseño del clasificador. Además, muchas de las técnicas para combinar clasificadores son extraordinariamente simples de entender y también de implementar. Por el contrario, los SVM no solo son muy difíciles de codificar (en mi opinión, por mucho el algoritmo ML más difícil de implementar en código) pero también difícil de configurar e implementar como una biblioteca pre-compilada e por ejemplo, un núcleo debe ser seleccionado, los resultados son muy sensibles a cómo los datos se re-escalan/normalizan, etc.

 52
Author: doug,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-28 17:51:38

Me encantó la respuesta de Doug. Quisiera añadir dos observaciones.

1) Vladimir Vapnick también co-inventó la dimensión VC que es importante en la teoría del aprendizaje.

2) Creo que los SVM fueron los mejores clasificadores generales de 2000 a 2009, pero después de 2009, no estoy seguro. Creo que las redes neuronales han mejorado muy significativamente recientemente debido al trabajo en el Aprendizaje Profundo y los Auto-Codificadores de Eliminación de ruido Dispersos. Me pareció ver una serie de puntos de referencia donde superaron a SVMs. Ver, por ejemplo, la diapositiva 31 de

Http://deeplearningworkshopnips2010.files.wordpress.com/2010/09/nips10-workshop-tutorial-final.pdf

Algunos de mis amigos han estado usando la técnica del codificador automático disperso. Las redes neuronales construidas con esa técnica superaron significativamente a las redes neuronales de propagación posterior más antiguas. Voy a tratar de publicar algunos resultados experimentales en artent.net si tengo algo de tiempo.

 8
Author: Hans Scundal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-29 15:19:08

Espero que los SVM sean mejores cuando tienes buenas características para empezar. ES decir, sus características capturan sucintamente toda la información necesaria. Puede ver si sus entidades son buenas si las instancias de la misma clase se "agrupan" en el espacio de entidades. Entonces SVM con kernel euclidiano debería hacer el truco. Esencialmente, puede ver SVM como un clasificador de vecino más cercano sobrealimentado, por lo que siempre que NN lo haga bien, SVM debería hacerlo aún mejor, agregando control de calidad automático sobre los ejemplos en su establecer. Al contrario SV si es un conjunto de datos donde se espera que el vecino más cercano (en el espacio de entidades) haga mal, SVM también lo hará mal.

 1
Author: Yaroslav Bulatov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-30 01:54:54

- ¿Hay una mejor versión no supervisada de SVMs?

Solo respondiendo esta pregunta aquí. El aprendizaje no supervisado se puede realizar mediante las llamadas máquinas vectoriales de soporte de una clase. Una vez más, similar a SVMs normales, hay un elemento que promueve sparsity. En SVMs normales solo unos pocos puntos son considerados importantes, los vectores de soporte. En SVMs de una clase nuevamente solo se pueden usar unos pocos puntos para:

  1. "separar" un conjunto de datos hasta el momento desde el origen como sea posible, o
  2. defina un radio lo más pequeño posible.

Las ventajas de los SVM normales se trasladan a este caso. En comparación con la estimación de la densidad, solo se deben considerar unos pocos puntos. Las desventajas se arrastran también.

 0
Author: Anne van Rossum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-20 10:30:44