
Unos de los problemas más habituales en aprendizaje automático son los problemas de clasificación. El objetivo en este tipo de problemas es asignar la clase correcta a cada uno de los registros de un conjunto de datos. Un caso particular de estos es la clasificación binaria, en el que solamente existen dos clases que suelen etiquetadas como verdadero y falso. Los algoritmos de clasificación buscan una función que separe de la mejor forma posible los registros. Entre los algoritmos que se utilizan para resolver este tipo de problemas dos de los más habituales son la regresión logística y las máquinas de vector soporte (SVM, “Support Vector Machine”). En esta entrada se realizará una comparación entre la regresión logística y SVM.
La regresión logística
En la regresión logística se utiliza la función sigmoide para asignar un valor entre 0 y 1 a cada punto del espacio de características. La etiqueta que se le asigna a cada registro dependerá del valor que tome la función. Por encima de un valor umbral, generalmente 0,5, se le asigna el valor positivo y por debajo el valor negativo. La función sigmoidea es una curva en forma de S que solamente puede tener valores entre 0 y 1, pero nunca valores fuera de estos límites. La expresión que define la función sigmoidea es
f(x) = \frac{1}{1 + e^{-\omega x}}Máquinas de vector soporte (SVM)
En objetivo de SVM es localizar el hiperplano del espacio de características que separe de forma optima a los puntos de cada clase. Siendo el hiperplano la extensión del concepto de plano en espacios de tres dimensiones a espacios con N dimensiones. Ya que, en tres dimensiones, los planos dividen el espacio en dos mitades. Por ejemplo, en una recta (espacio de una dimensión) el punto es el hiperplano y en un plano (espacio de dos dimensiones) la recta es el hiperplano. Así los puntos que caen a un lado del hiperplano se pueden atribuir a una clase y el resto a otra.
Comparación de la función de coste
Ambos métodos se entrenan minimizando su función de coste, la que nos indica el error que se comete al clasificar. Las diferencias que existen entre ambas nos pueden ayudar a comprender las diferencias que existen entre los dos métodos. En el caso de la regresión logística la función de coste es:
Por otro lado, para las máquinas de vector soporte la función de coste es:
J_{SVM}(\omega) = \sum_i \max\left\{0, 1 - y_i \omega^T x_i\right\}Al analizar ambas funciones de esfuerzo de la regresión logística frente a SVM hay dos aspectos a tener en cuenta:
- La función de coste de la regresión logística diverge más rápido que la de las SVM, por lo que será más sensible a la presencia de datos atípicos. Provocando peores resultados cuando existe este tipo de valores en el conjunto de datos.
- La función de coste logística no puede ser cero, aunque la clasificación sea muy precisa. Lo que podría conducir a una menor degradación en la precisión.
Ambos puntos indican que normalmente las SVM ofrecerán un rendimiento superior al de la regresión logística. Además, se puede observar que en el caso de SVM se maximiza el margen entre los vectores de soporte más cercanos, mientras que en la regresión logística busca maximizar la probabilidad de la clase posterior. Por lo que SVM suele encontrar soluciones que son más económicas para las dos categorías.
Otra diferencia entre ambos métodos es que la regresión logística ofrece un valor probabilístico de la clase, en lugar de una predicción como SVM. Lo que puede ser una ventaja, dado que ofrece una gran flexibilidad. En la regresión logística la predicción se realiza a fijando un valor umbral, por encima del cual la clase es verdadera y por debajo falsa. Esto permite adaptar las predicciones para reducir los falsos positivos o los falsos negativos, según nos interese en cada situación.
Conclusiones
Generalmente es aconsejable probar primero con la regresión logística, para ver cómo clasifica el algoritmo más sencillo. En caso de que falle o los resultados no sean satisfactorios se puede probar con SVM. La regresión logística y SVM pueden fallar porque los datos no se pueden separar linealmente. En estas situaciones se puede probar evaluar SVM con kernels no lineales.
En la entrada de hoy se han comparado la regresión logística frente a SVM, dos de los métodos más utilizados en aprendizaje automático. Ambos ofrecen buenos resultados en la mayoría de las ocasiones, aunque cada uno tiene sus ventajas.
Imágenes: Unsplash (Franck V.)
Deja una respuesta