En una explicación intuitiva, ¿cómo puedo calcular formas primarias y duales en SVM?

Imagine que hay dos categorías de puntos de datos que pueden estar separados por un hiperplano. Por ejemplo, la línea roja a continuación es un hiperplano que separa los puntos rojos y los cuadrados cian:


Suponga que x 1 yx 2 son dos puntos de datos de diferentes categorías que están más cerca del hiperplano. El objetivo es encontrar un hiperplano de separación óptimo que esté más alejado de los puntos de datos más cercanos, es decir, para maximizar el margen, como se muestra en la imagen.

Es evidente que las distancias entre el hiperplano óptimo y el punto de datos más cercano de cualquier categoría deberían ser iguales. Por lo tanto, si la ecuación del hiperplano es w’x + b = 0, entonces tendríamos w’x 1+ b = c y w’x 2+ b = – c . Tenga en cuenta que w , byc se pueden escalar simultáneamente para hacer que c se normalice a 1, por lo que sin pérdida de generalidad, asumimos que w’x 1+ b = 1 y w’x 2+ b = -1. Entonces tenemos w’x 1- w’x 2 = 2.

El margen es la distancia entre x 1 y x 2 en la dirección del vector w , por lo que sería | w’x 1- w’x 2 | / || w || = 2 / || w ||.

Por lo tanto, la maximización del margen es equivalente a la minimización de || w ||, con las restricciones:
w’x + b ≥ 1, para todos los puntos de datos x en la primera categoría;
w’x + b ≤ 1, para todos los puntos de datos x en la segunda categoría.

Intuitivamente, las restricciones aseguran que el hiperplano w’x + b = 0 sea una separación válida de las dos categorías, mientras que el objetivo (minimizar || w ||) maximiza el margen.

Para derivar la forma dual de la primaria, solo use las condiciones KKT. Creo que para este paso nada sería más intuitivo que la deducción matemática, que es realmente sencilla.

Por favor, consulte esta publicación de blog. puedes hacerte una buena idea sobre los vectores de soporte y las condiciones de KKT, dualidades,
Nota de Madhawa: SVM