¿Cuáles son los dominios en los que las SVM siguen siendo de vanguardia?

10

Parece que las redes neuronales profundas y otros modelos basados ​​en redes neuronales están dominando muchas áreas actuales como visión por computadora, clasificación de objetos, aprendizaje de refuerzo, etc.

¿Existen dominios donde los SVM (u otros modelos) todavía están produciendo resultados de vanguardia?

Steven Davis
fuente

Respuestas:

12

El estado del arte es una barra dura, porque no está claro cómo debe medirse. Un criterio alternativo, similar al estado de la técnica, es preguntar cuándo podría preferir probar un SVM.

Los SVM tienen varias ventajas:

  1. A través del truco del kernel, el tiempo de ejecución de un SVM no aumenta significativamente si desea aprender patrones sobre muchas combinaciones no lineales de características, en lugar del conjunto de características original. En contraste, un enfoque más moderno como una red neuronal profunda necesitará ser más profundo o más amplio para modelar los mismos patrones, lo que aumentará su tiempo de entrenamiento.
  2. Las SVM tienen un sesgo inherente hacia la selección de hipótesis "conservadoras", que tienen menos probabilidades de sobreajustar los datos, porque intentan encontrar hipótesis de margen máximo. En cierto sentido, "hornean" la navaja de Occam.
  3. Los SVM tienen solo dos hiperparámetros (la elección del núcleo y la constante de regularización), por lo que son muy fáciles de ajustar a problemas específicos. Por lo general, es suficiente ajustarlos realizando una simple búsqueda en la cuadrícula a través del espacio de parámetros, que se puede hacer automáticamente.

Los SVM también tienen algunas desventajas:

  1. Los SVM tienen un tiempo de ejecución que se escala cúbicamente en la cantidad de puntos de datos en los que desea entrenar (es decir, tiempo de ejecución) 1 . Esto no se compara bien con, por ejemplo, un enfoque de entrenamiento típico para una red neuronal profunda que se ejecuta en tiempo , donde es el número de puntos de datos, es el número de épocas de entrenamiento, y es el número de pesos en la red. Generalmente .O(n3)O ( w * n * e ) n e w w , e < < nO(wne)neww,e<<n
  2. Para hacer uso del truco Kernel, las SVM almacenan en caché un valor para la "distancia" kernelizada entre dos pares de puntos. Esto significa que necesitan memoria . Esto es mucho, mucho, más problemas que el tiempo de ejecución cúbico en la mayoría de los sets del mundo real. Más de unos pocos miles de puntos de datos dejarán servidores más modernos paliza , lo que aumenta el tiempo de ejecución efectiva en varios órdenes de magnitud. Junto con el punto 1, esto significa que los SVM tenderán a ser inviablemente lentos para conjuntos más allá de quizás 5,000-10,000 puntos de datos, en el límite superior.O(n2)

Todos estos factores apuntan a que las SVM son relevantes para exactamente un caso de uso: pequeños conjuntos de datos en los que se piensa, a priori, que el patrón objetivo es una función regular, pero altamente no lineal, de una gran cantidad de características. Este caso de uso en realidad surge con bastante frecuencia. Una aplicación de ejemplo reciente en la que encontré que las SVM eran un enfoque natural fue la construcción de modelos predictivos para una función objetivo que se sabía que era el resultado de interacciones entre pares de características (específicamente, comunicaciones entre pares de agentes). Un SVM con un núcleo cuadrático podría, por lo tanto, aprender conjeturas conservadoras y razonables de manera eficiente.


1 Existen algoritmos aproximados que resolverán el SVM más rápido que esto, como se señala en las otras respuestas.

John Doucette
fuente
7

El aprendizaje profundo y las redes neuronales están recibiendo la mayor parte del enfoque debido a los recientes avances en el campo y la mayoría de los expertos creen que es el futuro de resolver problemas de aprendizaje automático.

Pero no se equivoque, los modelos clásicos aún producen resultados excepcionales y, en ciertos problemas, pueden producir mejores resultados que el aprendizaje profundo.

La regresión lineal sigue siendo, con mucho, el algoritmo de aprendizaje automático más utilizado en el mundo.

Es difícil identificar un dominio específico donde los modelos clásicos siempre funcionan mejor ya que la precisión está muy determinada por la forma y la calidad de los datos de entrada.

Por lo tanto, la selección de algoritmos y modelos siempre es una compensación. Es una afirmación algo precisa para hacer que los modelos clásicos aún funcionen mejor con conjuntos de datos más pequeños. Sin embargo, se está investigando mucho para mejorar el rendimiento del modelo de aprendizaje profundo con menos datos.

La mayoría de los modelos clásicos requieren menos recursos computacionales, por lo que si su objetivo es la velocidad, es mucho mejor.

Además, los modelos clásicos son más fáciles de implementar y visualizar, lo que puede ser otro indicador de rendimiento, pero depende de sus objetivos.

Si tiene recursos ilimitados, un conjunto de datos observables masivos que está etiquetado correctamente y lo implementa correctamente dentro del dominio del problema, entonces el aprendizaje profundo probablemente le dará mejores resultados en la mayoría de los casos.

Pero en mi experiencia, las condiciones del mundo real nunca son tan perfectas

IsakBosman
fuente
0

Totalmente de acuerdo con la respuesta de @ John. Intentaremos complementarlo con algunos puntos más.

Algunas ventajas de SVM:

a) SVM se define por un problema de optimización convexo para el cual existen métodos eficientes para resolver, como SMO .

b) Efectivo en espacios de alta dimensión y también en casos donde el número de dimensiones es mayor que el número de muestras.

c) Utiliza un subconjunto de puntos de entrenamiento en la función de decisión (llamados vectores de soporte), por lo que también es eficiente en la memoria.

d) Se pueden especificar diferentes funciones de Kernel para la función de decisión. . En su forma más simple, el truco del núcleo significa transformar los datos en otra dimensión que tenga un claro margen de división entre clases de datos.

Las desventajas de las máquinas de vectores de soporte incluyen:

a) Si el número de características es mucho mayor que el número de muestras, es crucial evitar un ajuste excesivo al elegir las funciones del núcleo y el término de regularización. Los modelos de kernel pueden ser bastante sensibles al ajuste excesivo del criterio de selección de modelo

b) Los SVM no proporcionan directamente estimaciones de probabilidad. En muchos problemas de clasificación, realmente desea la probabilidad de pertenencia a la clase, por lo que sería mejor utilizar un método como Regresión logística, en lugar de procesar posteriormente la salida del SVM para obtener probabilidades.

ingenuo
fuente
-1

Para conjuntos de datos de datos tabulares de baja dimensión. Los DNN no son eficientes en la entrada de baja dimensión debido a la gran parametrización. Entonces, incluso si el conjunto de datos es de gran tamaño, pero cada muestra es SVM de baja dimensión superaría a DNN.

En términos más generales, si los datos son tabulares y la correlación entre los campos de la muestra es débil y ruidosa, SVM aún puede vencer a DNN incluso para datos de alta dimensión, pero eso depende de datos específicos.

Desafortunadamente, no puedo recordar ningún documento específico sobre el tema, por lo que es principalmente un razonamiento de sentido común, no tienes que confiar en él.

mirror2image
fuente