Pregunta

Esta pregunta se hace en respuesta a una sierra comentario que en otra pregunta.

El comentario fue en relación con el programa del curso de aprendizaje de máquina en Coursera, ya lo largo de las líneas de "SVM no se utilizan mucho hoy en día".

he hecho más que terminar las clases correspondientes a mí mismo, y mi comprensión de las SVM es que son un algoritmo de aprendizaje robusto y eficiente para la clasificación, y que cuando se utiliza un kernel, que tienen un "nicho" que cubre varias características tal vez 10 a 1000 y el número de muestras de entrenamiento quizá 100 a 10.000. El límite de muestras de entrenamiento es porque los gira núcleo algoritmo de alrededor de optimizar los resultados generados a partir de una matriz cuadrada de dimensiones basado en el número de muestras de entrenamiento, no el número de características originales.

También lo hace la vi comentario refieren algunos cambios reales desde que se hizo el curso, y si es así, ¿cuál es ese cambio: Un nuevo algoritmo que cubre "punto dulce" de SVM igual de bien, mejores CPUs que significan ventajas computacionales de SVM no son vale tanto? O es que acaso opinión o experiencia personal del comentarista?

Me trató una búsqueda de, por ejemplo, "Son máquinas de vectores de soporte fuera de moda" y no encontró nada dar a entender que estaban siendo eliminado en favor de cualquier otra cosa.

Y Wikipedia tiene esto: http://en.wikipedia.org/wiki/Support_vector_machine#Issues . . . el punto de fricción principal parece ser dificultad de interpretar el modelo. Lo que hace bien SVM para un negro-caja de motor de predecir, pero no tan bueno para la generación de ideas. Yo no lo veo como un problema importante, más que otra cosa menor a tener en cuenta al momento de retirar la herramienta adecuada para el trabajo (junto con la naturaleza de los datos de entrenamiento y la tarea de aprendizaje, etc.).

¿Fue útil?

Solución

SVM es un potente clasificador. Tiene algunas ventajas agradables (que supongo que eran responsables de su popularidad) ... Estos son:

  • Eficiencia: Sólo los vectores de soporte juegan un papel en la determinación de los límites de clasificación. Todos los demás puntos de la necesidad conjunto de entrenamiento no se pueden almacenar en la memoria.
  • El llamado poder de granos: Con los núcleos adecuados puede transformar el espacio de características en una dimensión más elevada para que se convierta linealmente separables. La noción de granos de trabajar con objetos arbitrarios en los cuales puede definir una noción de similitud con la ayuda de los productos internos ... y por lo tanto las SVM puede clasificar objetos arbitrarios, tales como árboles, gráficos, etc.

Hay algunas desventajas significativas.

    sensibilidad
  • Parámetro: El rendimiento es muy sensible a la elección de la regularización parámetro C, lo que permite alguna variación en el modelo
  • .
  • adicionales de parámetros del kernel de Gauss: El radio del núcleo de Gauss puede tener un impacto significativo en la precisión del clasificador. Normalmente, una red de búsqueda tiene que ser llevado a cabo para encontrar los parámetros óptimos. LibSVM tiene un soporte para la red de búsqueda.

SVM generalmente pertenecen a la clase de "escasa Kernel Máquinas". Los vectores dispersas en el caso de SVM son los vectores de soporte que se eligen entre el criterio de máxima margen. Otras máquinas de vectores de escaso tales como el Relevance Vector Machine (RVM) se desempeñan mejor que SVM. La siguiente figura muestra un rendimiento comparativo de los dos. En la figura, el eje X muestra uno datos dimensionales de dos clases y = {0,1}. El modelo de mezcla se define como P (x | y = 0) = Unif (0,1) y P (x | y = 1) = Unif (.5,1.5) (Unif denota distribución uniforme). 1000 puntos se tomaron muestras de esta mezcla y una SVM y un RVM fueron utilizados para estimar la posterior. El problema de la SVM es que los valores predichos son muy lejos de las verdaderas probabilidades de registro.

RVM vs. SVM

Un clasificador muy eficaz, que es muy popular hoy en día, es la Random Forest . Las principales ventajas son:

  • sólo un parámetro para ajustar (es decir, el número de árboles en el bosque)
  • No completamente parámetro sensible
  • se puede extender fácilmente a múltiples clases
  • Se basa en los principios de probabilidad (maximizando la ganancia de información mutua con la ayuda de los árboles de decisión)

Otros consejos

Para responder a esta pregunta una distinción importante a tomar es si estamos hablando de linear Support Vector Machines o no lineal , es decir, kernelized Support Vector Machines.

lineal SVM

SVM son lineales en la teoría y la práctica muy buenos modelos cuando los datos se pueden explicar por las relaciones lineales de sus características. Son superiores a través de métodos clásicos, tales como lineal (también conocido como mínimos cuadrados) de regresión porque son robusta , en el sentido de que pequeñas perturbaciones en los datos de entrada no producen cambios significativos en el modelo. Esto se logra tratando de encontrar la línea (hiperplano) que maximiza la entre los puntos de datos. Este hiperplano máximo margen se ha demostrado para dar garantías sobre la capacidad de generalización del modelo sobre los puntos de datos que no se ven, los métodos de aprendizaje de una propiedad teórico otra máquina falta de.

SVMs lineales también son interpretable como cualquier otro modelo lineal, ya que cada entidad de entrada tiene un peso que influye directamente en la salida del modelo.

También SVM son lineales muy rápido para entrenar, que muestra los tiempos de formación sublineal de grandes bases de datos. Esto se consigue haciendo uso de técnicas de descenso de gradiente estocástico, gran parte de la forma de los métodos actuales de aprendizaje de profundidad.

no lineal SVMs

SVMs no lineales son todavía modelos lineales, y se jactan los mismos beneficios teóricos, pero que emplean la llamada kernel truco para construir este modelo lineal en un espacio ampliado. El resultado visible es que el modelo resultante puede tomar decisiones no lineales en sus datos. Ya que se puede proporcionar un costumbre kernel codificación similitudes entre puntos de datos, se puede hacer uso de los conocimientos problema para hacer tal enfoque del núcleo en las partes pertinentes de su problema. Hacer esto de manera efectiva, sin embargo, puede ser difícil, por lo que, en general, casi todo el mundo utiliza el plug-and-play kernel gaussiana.

SVMs no lineales son interpretables parcialmente, ya que le cual los datos de entrenamiento son relevantes para la predicción dicen, y cuáles no lo son. Esto no es posible para otros métodos tales como los bosques al azar o profunda Redes.

SVM Desafortunadamente no lineales son lentos. El algoritmo del estado de la técnica es secuencial mínimo de optimización , que muestra el rendimiento de segundo grado, y es ampliamente aplicado a través de la biblioteca LIBSVM en una serie de bibliotecas máquina de aprendizaje, aprender scikit incluido.

popularidad de estos métodos

Es cierto que las SVM no son tan populares como solían ser: esto se puede comprobar por google para trabajos de investigación o implementaciones de SVM vs Random Forests o aprendizaje profundo métodos. Aún así, son útiles en algunas situaciones prácticas, especialmente en el caso lineal.

Además, tenga en cuenta que debido a la almuerzo no-libre teorema hay un método de aprendizaje de máquina puede demostrarse que es superior a cualquier otro sobre todos los problemas. Mientras que algunos métodos funcionan mejor en general, siempre encontrará conjuntos de datos donde un método no tan común logrará mejores resultados.

Licenciado bajo: CC-BY-SA con atribución
scroll top