sirven redes que ppt para neuronales neuronal las inteligencia humana funcionan estadistica ejemplos como artificial aplicaciones actualidad artificial-intelligence machine-learning neural-network svm

artificial intelligence - redes - SVM y red neuronal



redes neuronales inteligencia artificial (5)

Al ejecutar una comparación simple entre máquinas de vectores de soporte y redes neuronales (SIN selección de parámetros) en varios conjuntos de datos de regresión y clasificación populares se demuestran las diferencias prácticas: SVM se convierte en un predictor muy lento si se están utilizando muchos vectores de soporte creado mientras la velocidad de predicción de la red neuronal es mucho más alta y el tamaño del modelo es mucho más pequeño. Por otro lado, el tiempo de entrenamiento es mucho más corto para SVM. En cuanto a la precisión / pérdida, a pesar de los inconvenientes teóricos antes mencionados de las redes neuronales, ambos métodos están a la par, especialmente para los problemas de regresión, las redes neuronales a menudo superan a las máquinas de vectores de soporte. Dependiendo de su problema específico, esto podría ayudar a elegir el modelo correcto.

¿Cuál es la diferencia entre SVM y Neural Network? ¿Es cierto que el svm lineal es el mismo NN, y para los problemas separables no lineales, NN utiliza la adición de capas ocultas y el SVM utiliza el cambio de las dimensiones del espacio?


En realidad, son exactamente equivalentes entre sí. La única diferencia está en sus implementaciones estándar con selecciones de función de activación y regularización, etc., que obviamente difieren entre sí. Además, todavía no he visto una formulación doble para redes neuronales, pero las SVM se están moviendo hacia el primario de todos modos.


Hay dos partes en esta pregunta. La primera parte es "¿cuál es la forma de función que se aprende con estos métodos?" Para NN y SVM esto suele ser lo mismo. Por ejemplo, una sola red neuronal de capa oculta utiliza exactamente la misma forma de modelo que una SVM. Es decir:

Dado un vector de entrada x, la salida es: output (x) = sum_over_all_i weight_i * nonlinear_function_i (x)

En general, las funciones no lineales también tendrán algunos parámetros. Entonces, estos métodos necesitan aprender cuántas funciones no lineales se deben usar, cuáles son sus parámetros y cuál debe ser el valor de todos los pesos de weight_i.

Por lo tanto, la diferencia entre una SVM y una NN radica en cómo deciden en qué se deben establecer estos parámetros. Por lo general, cuando alguien dice que está utilizando una red neuronal, quiere decir que está tratando de encontrar los parámetros que minimizan el error de predicción cuadrático medio con respecto a un conjunto de ejemplos de entrenamiento. También usarán casi siempre el algoritmo de optimización de descenso de gradiente estocástico para hacer esto. Las SVM, por otro lado, intentan minimizar tanto el error de entrenamiento como alguna medida de "complejidad de hipótesis". Entonces encontrarán un conjunto de parámetros que se ajusta a los datos pero también es "simple" en algún sentido. Puedes pensar que es como la navaja de Occam para el aprendizaje automático. El algoritmo de optimización más común utilizado con SVM es la optimización mínima secuencial .

Otra gran diferencia entre los dos métodos es que no se garantiza que el descenso de gradiente estocástico encuentre el conjunto óptimo de parámetros cuando se usa de la forma en que las implementaciones de NN lo emplean. Sin embargo, cualquier implementación decente SVM va a encontrar el conjunto óptimo de parámetros. A la gente le gusta decir que las redes neuronales se quedan atascadas en un mínimo local, mientras que las SVM no lo hacen.


Los NN son heurísticos, mientras que los SVM están teóricamente fundados. Se garantiza que una SVM converge hacia la mejor solución en el sentido PAC (probablemente aproximadamente correcto). Por ejemplo, para dos clases linealmente separables, SVM dibujará el hiperplano de separación directamente a medio camino entre los puntos más cercanos de las dos clases (estos se convierten en vectores de soporte ). Una red neuronal dibujaría cualquier línea que separe las muestras, lo cual es correcto para el conjunto de entrenamiento, pero podría no tener las mejores propiedades de generalización.

Entonces, no, incluso para problemas linealmente separables, los NN y los SVM no son los mismos.

En el caso de clases linealmente no separables, tanto las SVM como las NN aplican una proyección no lineal en un espacio de dimensiones superiores. En el caso de las NN, esto se logra introduciendo neuronas adicionales en la (s) capa (s) oculta (s). Para las SVM, una función de kernel se usa para el mismo efecto. Una buena propiedad de la función kernel es que la complejidad computacional no aumenta con el número de dimensiones, mientras que para NN obviamente aumenta con el número de neuronas.


SVM y NN tienen el mismo bloque de creación que perceptron, pero SVM también utiliza un truco de kernel para elevar la dimensión de 2 a 3 por traducción, como Y = (x1,2, .. ^ 2, y1,2 ... ^ 2) que puede separar llanuras linealmente inseparables usando línea recta. quiero un demo como este y pregúntame :)