Vectores de Soporte Regresión – Teoría
El algoritmo de Vectores de Soporte Regresión se basa en buscar la curva o hiperplano que modele la tendencia de los datos de entrenamiento y según ella predecir cualquier dato en el futuro. No te preocupes, ya vas a entender mejor este concepto.
Este algoritmo se puede utilizar tanto para problemas de regresión como de clasificación, para esta publicación nos enfocaremos a explicar el algoritmo de regresión.
Definición
El algoritmo de Vectores de Soporte Regresión se basa en predecir valores numéricos, dado que la salida es un número real, se vuelve muy difícil predecir la información disponible, que tiene infinitas posibilidades, sin embargo, la idea principal es siempre la misma: minimizar el error, individualizar el hiperplano que maximiza el margen, teniendo en cuenta que se tolera parte del error.
El hiperplano que se obtiene dentro de este algoritmo siempre tratará de moldear el comportamiento de los datos y esta curva siempre viene acompañada con un rango (máximo margen), tanto del lado positivo como en el negativo, el cual tiene el mismo comportamiento o forma de la curva.
Todos los datos que se encuentren fuera del rango son considerados errores por lo que es necesario calcular la distancia entre el mismo y los rangos. Esta distancia lleva por nombre epsilon y afecta la ecuación final del modelo.
Representación matemática de los vectores de soporte regresión
Este algoritmo funciona muy bien para datos lineales como no lineales, pero realicemos la explicación con datos lineales para que sea más fácil de entender. Entonces expliquemos paso a paso cómo se construye este algoritmo.
Tenemos el siguiente conjunto de datos, que, como podemos observar son datos lineales:
Lo primero que debemos realizar es obtener un hiperplano que mejor represente el comportamiento de los datos, como el ejemplo que estamos usando son datos lineales este hiperplano es simplemente una línea, pero cuando se trabaja con datos no lineales el hiperplano es mucho más complicado a este. La fórmula para este hiperplano será la misma a la de una línea:
El siguiente paso es construir unas bandas paralelas al hiperplano que cubra la mayor cantidad de datos, a estas bandas se le conoce como vectores de apoyo o de soporte.
Ahora bien, como podemos observar estas bandas no cubrieron todos los datos, todavía tenemos puntos fuera de la misma, estos datos serían los errores y los que se deben considerar para la fórmula del algoritmo. Acá lo que se calcula es la distancia entre las bandas y el punto, a esta distancia se le da el nombre de epsilon.
Al final la fórmula completa para el cálculo de este algoritmo, utilizando datos lineales es la siguiente:
En donde:
w es la magnitud del vector o hiperplano
C es una constante y debe ser mayor a 0, determina el equilibrio entre la regularidad de la función y la cuantía hasta la cual toleramos desviaciones mayores que las bandas de soporte.
ξ y ξ* son las variables que controlan el error cometido por la función de regresión al aproximar a las bandas.
Si el valor de la constante C es muy grande, en el caso límite C tiende a infinito , estaríamos considerando que el conjunto está perfectamente representado por nuestro hiperplano predictor, ξ tiende a 0. Al contrario, un número demasiado pequeño para C permitirá valores de ξ elevados, es decir, estaríamos admitiendo un número muy elevado de ejemplos mal representados.
Por su parte para datos no lineales el procedimiento es exactamente igual, la diferencia es que se implementa de un Kernel para convertir los datos lineales. Sobre el Kernel hablaremos en otra entrada dedicado completamente explicar sobre todo lo referente a este tema. Acá lo importante es mostrar es que una vez llegados estos datos de forma lineal el procedimiento explicado acá es exactamente igual.
Suposiciones sobre los Vectores de Soporte Regresión
- Los datos deben estar limpios, por lo que se deben preprocesar con anterioridad.
- No es adecuado para conjuntos de datos grandes ya que el tiempo de entrenamiento puede ser alto.
- No es tan efectivo en conjuntos de datos con clases superpuestas o características muy similares.
Adicionalmente a esto, el rendimiento del algoritmo de Vectores de Soporte Regresión depende de una buena configuración de los parámetros C y de los del Kernel. El problema de la selección óptima de parámetros se complica aún más por el hecho de que la complejidad del modelo de Vectores de Soporte Regresión depende de estos parámetros. Por tal motivo se debe usar librerías de programación que tenga muy bien desarrollados la implementación de este algoritmo como por ejemplo Scikit Learn.
Respuesta a la pregunta del video
Opción 1: Predecir la temperatura de un lugar específico de acuerdo a los datos históricos. Respuesta Correcta. Con este algoritmo se puede predecir la temperatura de un sitio utilizando como variables independientes los datos históricos.
Opción 2: Predecir si una acción de la bolsa de valores va a subir o bajar, utilizando los valores histórico. Respuesta Incorrecta. Con este algoritmo no se puede predecir si una acción de la bolsa va a subir o bajar ya que para esto requiere un algoritmo de clasificación y no un algoritmo de regresión.
Opción 3: Predecir la distancia en que un auto se detiene de acuerdo a la velocidad del mismo. Respuesta Correcta. Con este algoritmo se puede calcular la distancia en que un auto se detiene, acá se observa la velocidad del auto y las distancias recorridas para predecir el valor.