¿Cuál es el propósito de usar la variable slack en SVM?

* A2A *

¿Cuál es el propósito de las variables de holgura en cualquier problema de optimización? Cuando no puede resolver el problema de optimización (es decir, la región factible está vacía) para el conjunto dado de restricciones, entonces el siguiente paso lógico es relajar sus restricciones mediante la introducción de variables de holgura. SVM también es un problema de optimización que se parece a:
[matemáticas] \ min \ | w \ | [/ matemáticas]
sujeto a: [matemáticas] y_i (w ^ {\ top} x_i + b) \ geq 1; i = 1 \ ldots N [/ math]
donde [math] \ {(x_i, y_i) \} _ {i = 1} ^ N [/ math] son ​​los datos de entrenamiento.

Sin embargo, ¿se garantiza que la región factible del problema anterior no esté vacía para ningún dato de capacitación dado? No. Por defecto, este problema de optimización supone que el conjunto de datos de clase binaria dado es separable por un hiperplano. Si esta suposición falla, entonces no existe una región factible para el problema anterior. Para permitir una región factible no vacía, incluso en los casos en que las dos clases no son separables por un hiperplano, relajamos nuestras restricciones agregando variables de holgura de la siguiente manera:
[matemáticas] \ min \ | w \ | + C \ | \ xi \ | [/ matemáticas]
sujeto a: [matemáticas] y_i (w ^ {\ top} x_i + b) \ geq 1 – \ xi_i; i = 1 \ ldots N [/ math]
donde [math] \ xi [/ math] es un vector de [math] \ xi_i [/ ​​math] ‘s y C es simplemente un parámetro ajustable.

En el caso anterior, estamos relajando nuestras restricciones al considerar puntos para los cuales nuestras restricciones pueden fallar. Por lo tanto, ahora nuestra región factible no está vacía. Sin embargo, no queremos una solución que falle para todas las restricciones, ya que está completamente en contra de lo que pretendíamos resolver en primer lugar. Por lo tanto, agregamos estas variables de holgura al objetivo e intentamos encontrar una solución que falle por un número menor de puntos o por muchos puntos pero no por una gran cantidad (la elección aquí está dictada por la norma elegida en el objetivo )

Permite que haya una compensación entre aprender funciones “simples” y ajustar los datos exactamente. Sin variables de holgura, el SVM se vería obligado a ajustar siempre los datos exactamente y, como resultado, a menudo se sobreajustaría, a menos que sea imposible ajustarlo exactamente, entonces no hay solución sin variables de holgura y el software que no los incluye tendría que generar un error en este caso.

Desde una perspectiva no técnica, si tiene muchos datos dispersos, aún puede “dibujar” una línea de regresión. El ancho de la línea de regresión puede explicar o incluir puntos de datos que no se alinean exactamente en una línea. Los valores atípicos pueden impedir el uso de una línea de regresión, pero al incluir o clasificar estos valores atípicos como variables flojas y un investigador aún puede caracterizar el diagrama de dispersión de los puntos de datos por una línea.

More Interesting

¿Qué herramienta es mejor para aprender una red neuronal AI, C ++ o MATLAB?

¿Es justo evaluar una red neuronal profunda solo de acuerdo con su rendimiento en algunos conjuntos de datos específicos?

Al entrenar a un clasificador, ¿cómo trato con clases que tienen números muy diferentes de muestras en el conjunto de entrenamiento? ¿Cómo evito un ajuste excesivo en la clase que tiene la mayor cantidad de muestras?

¿Por qué el código de paralelo de GPU es más complicado que el código de paralelo de CPU?

Cómo construir una PC para juegos y para aprendizaje profundo

¿Cuáles son las industrias que probablemente se verán afectadas por el aprendizaje profundo?

¿Cuál es una buena manera de entender la maldición de la alta dimensión en el aprendizaje automático?

¿Por qué Apple no equipa sus máquinas con mejores opciones de tarjeta de video?

¿Cuáles son los pros y los contras de las diferentes técnicas de factorización matricial: rango bajo, SVD y NMF? ¿Cuáles son algunos ejemplos prácticos de cada uno?

¿Está muriendo la investigación en aprendizaje profundo?

Estoy interesado en el aprendizaje automático y la inteligencia artificial y recién comencé a aprender Python. ¿Qué otras habilidades debo tener en mi haber para tener éxito en este campo?

Cómo construir la matriz del núcleo para un polinomio de grado finito

¿Cómo se determina el tamaño del paso de actualización para el algoritmo de retropropagación ADADELTA?

Cómo usar Azure Machine Learning para la clasificación de documentos

Cómo probar un conjunto de datos no se puede clasificar