Las Máquinas Vectores de Soporte clasificación ofrece una precisión muy alta en comparación con otros clasificadores como la Regresión Logística y los Árboles de Decisión. Es conocido por su truco de kernel para manejar espacios de entrada no lineales. Se utiliza una variedad de aplicaciones tales como detección de rostros, detección de intrusos, clasificación de correos electrónicos, artículos de noticias y páginas web, entre otros.
El SVM, por sus siglas en inglés, construye un hiperplano en un espacio multidimensional para separar las diferentes clases. El SVM genera un hiperplano óptimo de forma iterativa, que se utiliza para minimizar un error. La idea central de SVM es encontrar un hiperplano marginal máximo que mejor divida el conjunto de datos en clases.
Definamos cada uno de los elementos que compone esta figura:
Vectores de Soporte: son los puntos de datos más cercanos al hiperplano. Estos puntos definirán mejor la línea de separación calculando los márgenes. Estos puntos son más relevantes para la construcción del clasificador.
Hiperplano: es un plano de decisión que separa entre un conjunto de objetos que tienen membresía de clase diferentes.
Margen: es un espacio entre las dos líneas en los puntos más cercanos de la clase. Se calcula como la distancia perpendicular desde la línea hasta los vectores de soporte o puntos más cercanos. Si el margen es mayor entre las clases, entonces se considera un buen margen, un margen menor es un mal margen.
Hablemos ahora de cómo función el algoritmo de Máquinas de Soporte de Vectores.
El objetivo principal es segregar el conjunto de datos de la mejor manera posible. La distancia entre los puntos más cercanos se conoce como el margen. El objetivo es seleccionar un hiperplano con el máximo margen posible entre vectores de soporte en el conjunto de datos dado.
Para buscar el mejor hiperplano se siguen los siguientes pasos:
- Generar hiperplanos que segreguen las clases de la mejor manera. Como podemos observar en la figura tenemos tres hiperplanos que separan los datos, pero solamente uno de ellos está separando las dos clases correctamente, el resto tienen mayor error de clasificación.
- Seleccionar el hiperplano correcto con la máxima segregación de los puntos de datos más cercanos, como se muestra en la figura.
En el ejemplo mostrado acá se puede resolver con un hiperplano lineal, pero no siempre esto se puede resolver tan fácilmente. En tales situaciones, el algoritmo utiliza un truco del núcleo para transformar el espacio de entrada en un espacio dimensional superior, como se muestra en la figura.
Los puntos de datos se grafican en los ejes “x” y “z”, en donde “z” es la suma cuadrada de “x” y “y” (z = x^2 + y^2). Ahora se puede separar fácilmente estos puntos utilizando la separación lineal.
A este truco se le conoce como kernel. Un kernel transforma un espacio de datos de entrada en la forma requerida. La explicación completa sobre kernel la encontrarás en otro video.
Ventajas
Los clasificadores de Máquinas de Vectores de Soporte ofrecen una buena precisión y realizan predicciones más rápidas en comparación con el algoritmo de Naive Bayes. También utilizan menos memoria porque utilizan un subconjunto de puntos de entrenamiento en la fase de decisión. Este algoritmo funciona bien con un claro margen de separación y con un espacio dimensional elevado.
Desventajas
Las Máquinas de Vectores de Soporte no son adecuadas para grandes conjuntos de datos debido a su alto tiempo de formación y también requiere más tiempo de formación en comparación con Naive Bayes. Funciona mal con clases superpuestas y también es sensible al tipo de núcleo utilizado.