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

machine learning ensembles futuristic robotic

Comprendiendo los Tipos de Ensambles en Machine Learning

Los ensambles en Machine Learning son una técnica para mejorar el rendimiento de los modelos de aprendizaje automático. Estos incluyen ensambles de promedio, ensambles de votación, ensambles de boosting y ensambles de aprendizaje profundo. Cada uno de estos tipos de ensambles ofrece diferentes beneficios y desventajas.

Leave a Reply

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