vectorial vectores tutorial support soporte para maquinas maquina machine funciona for ejemplos ejemplo dummies como code clasificador machine-learning neural-network classification svm

machine-learning - vectores - support vector machine for dummies



¿Cuáles son las ventajas de las redes neuronales artificiales sobre las máquinas de vectores de soporte? (6)

A juzgar por los ejemplos que proporcionas, supongo que por AN, te refieres a redes de avance de múltiples capas (redes FF para abreviar), como los perceptrones de múltiples capas, porque están en competencia directa con las SVM.

Un beneficio específico que tienen estos modelos sobre los SVM es que su tamaño es fijo: son modelos paramétricos , mientras que los SVM no son paramétricos. Es decir, en una ANN tiene un grupo de capas ocultas con tamaños h 1 a h n, dependiendo del número de características, más los parámetros de sesgo y los que conforman su modelo. Por el contrario, una SVM (al menos una kernelizada) consiste en un conjunto de vectores de soporte, seleccionados del conjunto de entrenamiento, con un peso para cada uno. En el peor de los casos, el número de vectores de soporte es exactamente el número de muestras de entrenamiento (aunque esto ocurre principalmente con conjuntos de entrenamiento pequeños o en casos degenerados) y, en general, el tamaño de su modelo se amplía linealmente. En el procesamiento de lenguaje natural, los clasificadores SVM con decenas de miles de vectores de soporte, cada uno con cientos de miles de características, no son desconocidos.

Además, la capacitación en línea de redes FF es muy simple en comparación con el ajuste SVM en línea, y la predicción puede ser un poco más rápida.

EDITAR : todo lo anterior se refiere al caso general de SVM kernelized. Los SVM lineales son un caso especial porque son paramétricos y permiten el aprendizaje en línea con algoritmos simples, como el descenso de gradiente estocástico.

ANN (Artificial Neural Networks) y SVM (Support Vector Machines) son dos estrategias populares para la clasificación y el aprendizaje automático supervisado. A menudo no está claro qué método es mejor para un proyecto en particular, y estoy seguro de que la respuesta siempre es "depende". A menudo, se utiliza una combinación de ambos junto con la clasificación bayesiana.

Estas preguntas sobre Stackoverflow ya se han hecho con respecto a ANN vs SVM:

Clasificación ANN y SVM

¿Cuál es la diferencia entre ANN, SVM y KNN en mi pregunta de clasificación?

¿Es compatible con Vector Machine o Artificial Neural Network para el procesamiento de texto?

En esta pregunta, me gustaría saber específicamente qué aspectos de una ANN (específicamente, un Perceptrón multicapa) pueden hacer que sea deseable usarla en un SVM. La razón por la que pregunto es porque es fácil responder a la pregunta opuesta : las máquinas de vectores de soporte a menudo son superiores a las ANN porque evitan dos debilidades principales de las ANN:

(1) Las ANN a menudo convergen en mínimos locales en lugar de mínimos globales, lo que significa que a veces faltan esencialmente el "panorama general" (o faltan el bosque para los árboles)

(2) Las ANN a menudo se adaptan si el entrenamiento dura demasiado, lo que significa que para cualquier patrón dado, una ANN podría comenzar a considerar el ruido como parte del patrón.

Los SVM no sufren ninguno de estos dos problemas. Sin embargo, no es evidente que los SVM estén destinados a ser un reemplazo total de los ANN. Entonces, ¿qué ventaja (es) específica (s) tiene una ANN sobre una SVM que podría hacerla aplicable a ciertas situaciones? He enumerado las ventajas específicas de un SVM sobre un ANN, ahora me gustaría ver una lista de los beneficios de ANN (si corresponde).


Si desea utilizar un SVM del kernel, debe adivinar el kernel. Sin embargo, las ANN son aproximadores universales y solo se tiene que adivinar el ancho (precisión de aproximación) y la altura (eficiencia de aproximación. Si diseña el problema de optimización correctamente, no se ajusta demasiado (consulte la bibliografía para obtener información adicional). depende de los ejemplos de entrenamiento si escanean de manera correcta y uniforme el espacio de búsqueda. El descubrimiento de ancho y profundidad es el tema de la programación de enteros.

Supongamos que tiene funciones limitadas f (.) Y aproximadores universales limitados en I = [0,1] con rango nuevamente I = [0,1] por ejemplo, que están parametrizados por una secuencia real de soporte compacto U (., A) con La propiedad con la que existe una secuencia de secuencias.

lim sup { |f(x) - U(x,a(k) ) | : x } =0

y dibuja ejemplos y pruebas (x,y) con una distribución D en IxI .

Para un soporte prescrito, lo que usted hace es encontrar el mejor a tal que

sum { ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal

Deje esto a=aa que es una variable aleatoria !, entonces el ajuste excesivo es

promedio usando D and D^{N} of ( y - U(x,aa) )^{2}

Déjeme explicarle por qué, si selecciona aa tal manera que el error se minimice, entonces para un conjunto de valores poco comunes tiene un ajuste perfecto. Sin embargo, como son raros, el promedio nunca es 0. Desea minimizar el segundo aunque tenga una aproximación discreta a D. Y tenga en cuenta que la longitud del soporte es libre.


También debemos considerar que el sistema SVM se puede aplicar directamente a espacios no métricos, como el conjunto de gráficos o cadenas etiquetados. De hecho, la función interna del kernel puede generalizarse adecuadamente a prácticamente cualquier tipo de entrada, siempre que se cumpla con el requisito de firmeza positiva del kernel. Por otro lado, para poder utilizar una ANN en un conjunto de gráficos etiquetados, se deben considerar los procedimientos de incrustación explícitos.


Una cosa a tener en cuenta es que los dos están realmente muy relacionados. Las SVM lineales son equivalentes a las NN de una sola capa (es decir, perceptrones), y las NN de múltiples capas se pueden expresar en términos de las SVM. Vea here para algunos detalles.


Una respuesta que me falta aquí: el perceptrón multicapa es capaz de encontrar la relación entre las características. Por ejemplo, es necesario en la visión por computadora cuando se proporciona una imagen sin procesar al algoritmo de aprendizaje y ahora se calculan las características sofisticadas. Esencialmente los niveles intermedios pueden calcular nuevas características desconocidas.


Una ventaja obvia de las redes neuronales artificiales sobre las máquinas de vectores de soporte es que las redes neuronales artificiales pueden tener cualquier número de salidas, mientras que las máquinas de vectores de soporte tienen solo una. La forma más directa de crear un clasificador n-ary con máquinas de vectores de soporte es crear n máquinas de vectores de soporte y entrenar cada una de ellas una por una. Por otro lado, un clasificador n-ario con redes neuronales se puede entrenar de una sola vez. Además, la red neuronal tendrá más sentido porque es un todo, mientras que las máquinas de vectores de soporte son sistemas aislados. Esto es especialmente útil si las salidas están interrelacionadas.

Por ejemplo, si el objetivo era clasificar los dígitos escritos a mano, serían suficientes diez máquinas de vectores de soporte. Cada máquina de vectores de soporte reconocería exactamente un dígito y no reconocería todos los demás. Como cada dígito escrito a mano no puede contener más información que solo su clase, no tiene sentido intentar resolver esto con una red neuronal artificial.

Sin embargo, supongamos que el objetivo era modelar el equilibrio hormonal de una persona (para varias hormonas) en función de factores fisiológicos fáciles de medir, como el tiempo transcurrido desde la última comida, la frecuencia cardíaca, etc. La regresión de red tiene más sentido que la regresión de la máquina de vectores de soporte.