Support Vector Machine (SVM) – Machine Learning

SVM1

Si pensamos en separar estos dos grupos, vemos como la línea que mejor lo hace a la que logra el camino más ancho entre ellos. Es decir, el margen más grande logrado por el hiperplano (línea en rojo) según los support vectors. Para maximizar el margen, estudiaremos el problema como una optimización con restricciones que se resuelve mediante multiplicadores de Lagrange.

En los casos en que una línea recta no se ajuste, el modelo SVM tiene un parámetro C que regula la penalización de esa falla de clasificación. Con valores bajos de C, el modelo es más permisivo y logra márgenes suaves; con valores de C altos, es más estricto dejando márgenes más pequeños y aumentando la posibilidad de overfitting.

SVM machine learning OVR OVO support vector

En varias dimensiones podemos encontrarnos con casos en que una línea no separa correctamente grupos de datos y un plano no es claramente la solución. Python dispone de diferentes kernels que pueden resolver el problema. Para el Kernel = RBF (Radial Basis Function), este introduce dos parámetros más: C (ya explicado) y Gamma. Al igual que C, cuanto mayor es Gamma, más overfitting.

model = svm.SVC(kernel=’rbf’, C=1, gamma=2**-5)

Github Code

Check Also

Cómo usar mapas de folium en PyQt5 – Python

Folium tiene la capacidad de guardar los mapas resultados en un archivo html para ser …

Leave a Reply

Your email address will not be published. Required fields are marked *