Está en la página 1de 40

Mg.

Jesús Salinas Flores

Máquinas de Soporte Vectorial con R

Mg. Jesús Salinas Flores


jsalinas@lamolina.edu.pe jsalinas@lamolina.edu.pe
Mg. Jesús Salinas Flores

Expositor

Ingeniero Estadístico, egresado de la Universidad Nacional Agraria


La Molina

Mg. en Ingeniería Industrial con especialidad en Gestión


Industrial, egresado de la Universidad Nacional Mayor de San
Marcos

Consultor estadístico
Mg. Jesús Salinas Flores

Expositor

Profesor principal del dpto. de Estadística e Informática (UNA La Molina)

Docente en la maestría de Estadística Aplicada (UNA La Molina)

Miembro del staff de docentes de Data Mining Consulting (DMC)

Docente en la carrera de Ingeniería de Tecnologías de Información y Sistemas (U ESAN)

Expositor

Áreas de interés Facebook YouTube


• Machine Learning •Grupo: Estadística Para Todos •Estadística Para Todos
• Reconocimiento estadístico
de patrones
Mg. Jesús Salinas Flores

Estadística Para Todos

Introducción

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe


Mg. Jesús Salinas Flores

Fuente: https://openwebinars.net/blog/modelos-de-machine-learning/

Transacciones fraudulentas

Fuga de clientes

Deserción de alumnos en una universidad

Detección de enfermedades raras en diagnósticos médicos


Mg. Jesús Salinas Flores

Algoritmos de
clasificación

Introducción

Las máquinas de vectores de


soporte o máquinas de vector
soporte (del inglés Support Vector
Machines, SVM) son un conjunto
de algoritmos de aprendizaje
supervisado desarrollados
por Vladimir Vapnik y su equipo
en los laboratorios AT&T.
Mg. Jesús Salinas Flores

Casos separables

Buen pagador

Mal pagador
Maximal Margin Classifier

Casos separables linealmente


Mg. Jesús Salinas Flores

Casos casi separables

Buen pagador

Mal pagador
Soft Margin Classifier
Support Vector Classifier

Casos no separables

Buen pagador

Mal pagador
Support Vector Machine
Mg. Jesús Salinas Flores

Casos no separables

Truco del kernel

Casos no separables linealmente

Kernel
Mg. Jesús Salinas Flores

Máquinas de Soporte Vectorial (SVM)


Maximal Margin Classifier
• Separable data

Support Vector Classifiers


• Non-separable data

Support Vector Machines


• Non Linear class boundaries

Ventajas de las SVM

• SVM tiene un buen rendimiento en el caso de datos no linealmente


separables utilizando el kernel trick
• Funciona bien en el espacio de alta dimensión (es decir, con gran cantidad
de predictores)
• Funciona bien en caso de clasificación de texto o imagen
• No sufre problemas de multicolinealidad.
Mg. Jesús Salinas Flores

Desventajas de las SVM


• Computacionalmente es costoso. El procesamiento toma mucho tiempo en
conjuntos de datos de gran tamaño.
 Debido a la utilización de kernels, en el ajuste de un SVM participa una
matriz n x n, donde n es el número de observaciones de entrenamiento. Por
ello, lo que más influye en el tiempo de computación necesario para
entrenar un SVM es el número de observaciones, no el de predictores.
 No devuelve directamente las estimaciones de probabilidad.

Maximal Margin Classifier

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe


Mg. Jesús Salinas Flores

¿Qué es un hiperplano?
 Un hiperplano es una línea en 2D y un plano en 3D.
 En dimensiones mayores (más de 3D), se le llama hiperplano.
 SVM permite encontrar un hiperplano (o un límite de separación) que puede
separar dos clases (puntos rojos y azules).

Maximal Margin Classifier

 Las Maquinas de Soporte Vectorial se fundamentan en el Maximal Margin


Classifier, que a su vez se basa en el concepto de hiperplano.
 En un espacio p-dimensional, un hiperplano se define como un subespacio
plano y afín de dimensiones 𝑝−1. El término afín significa que el subespacio
no tiene por qué pasar por el origen.
 En un espacio de dos dimensiones, el hiperplano es un subespacio plano de 1
dimensión, es decir, una recta. En un espacio tridimensional, un hiperplano es
un subespacio plano de dos dimensiones, un plano convencional.
Mg. Jesús Salinas Flores

Maximal Margin Classifier


 Para dimensiones de 𝑝>3 no es intuitivo visualizar un hiperplano, pero el
concepto de subespacio plano con 𝑝−1 dimensiones se mantiene.
 En el caso de dos dimensiones, el hiperplano se describe acorde a la ecuación
de una recta: 𝛽0+𝛽1𝑋1+𝛽2𝑋2=0
 Dados los parámetros 𝛽0, 𝛽1 y 𝛽2, todos los pares de valores 𝑋=(𝑋1,𝑋2) para los
que se cumple la igualdad son puntos del hiperplano. Esta ecuación puede
generalizarse para p-dimensiones: 𝛽0+𝛽1𝑋1+𝛽2𝑋2+...+𝛽𝑝𝑋𝑝=0

Maximal Margin Classifier


 De igual manera, todos los puntos definidos por el vector
𝑋=(𝑋1,𝑋2,...,𝑋𝑝) que cumplen la ecuación pertenecen al hiperplano.
 Cuando 𝑋 no satisface la ecuación: 𝛽0+𝛽1𝑋1+𝛽2𝑋2+...+𝛽𝑝𝑋𝑝 <0
o bien 𝛽0+𝛽1𝑋1+𝛽2𝑋2+...+𝛽𝑝𝑋𝑝 >0
el punto 𝑋 cae a un lado o al otro del hiperplano.
 Un hiperplano divide un espacio p-dimensional en dos mitades. Para saber en
qué lado del hiperplano se encuentra un determinado punto 𝑋, solo es
necesario calcular el signo de la ecuación.
Mg. Jesús Salinas Flores

Maximal Margin Classifier

Casos perfectamente separables linealmente


Mg. Jesús Salinas Flores

Casos perfectamente separables linealmente

 Una solución consiste en seleccionar como clasificador al que se conoce


como maximal margin hyperplane o hiperplano óptimo de separación, que
es el hiperplano que se encuentra más alejado de todas las observaciones de
entrenamiento.
 Para obtenerlo, se calcula la distancia perpendicular de cada observación a
un determinado hiperplano. La menor de estas distancias (conocida como
margen) determina como de alejado está el hiperplano de las observaciones
de entrenamiento.

Casos perfectamente separables linealmente

Fuente: Serrano, L. (2021). Grokking Machine Learning. Manning Publications


Mg. Jesús Salinas Flores

Casos perfectamente separables linealmente

Fuente: Serrano, L. (2021). Grokking Machine Learning. Manning Publications

Casos perfectamente separables linealmente

Vector Soporte

Vector Soporte

Vector Soporte
Mg. Jesús Salinas Flores

¿Qué es un margen?

 Un margen es la línea de separación a los puntos de clase más cercanos.


 Es la distancia entre el hiperplano y el punto de datos más cercano. Si se
duplica, sería igual al margen.
 Objetivo: Maximizar el margen entre dos categorías
Mg. Jesús Salinas Flores

¿Qué es un margen?

Casos perfectamente separables linealmente

 El maximal margin hyperplane es el hiperplano que consigue un mayor


margen, es decir, que la distancia mínima entre el hiperplano y las
observaciones es lo más grande posible.
 Es intuitivo llegar a la conclusión de que el maximal margin hyperplane está
situado en el punto medio entre las observaciones de clases distintas más
cercanas.
Mg. Jesús Salinas Flores

Casos perfectamente separables linealmente

 Cualquier modificación en estas observaciones (vectores soporte) conlleva


cambios en el maximal margin hyperplane.
 Sin embargo, modificaciones en observaciones que no son vector soporte no
tienen impacto alguno en el hiperplano.

Limitaciones del Maximal Margin Classifier

1. Maximal Margin Classifier no puede


ser usado si las dos clases no son
separables por un hiperplano.
Mg. Jesús Salinas Flores

Limitaciones del Maximal Margin Classifier

2. Maximal Margin Classifier es muy sensible a los vectores soporte, una


observación adicional puede producir un cambio drástico en el Margin
Maximal Hyperplane.

Support Vector Classifier

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe


Mg. Jesús Salinas Flores

Casos casi separables

Buen pagador

Mal pagador
Soft Margin Classifier
Support Vector Classifier

Casos cuasi-separables linealmente


Mg. Jesús Salinas Flores

Casos cuasi-separables linealmente

 En estas situaciones, se puede extender el concepto de hiperplano de


separación para obtener un hiperplano que casi separe las clases permitiendo
que cometa unos pocos errores, a este último se le conoce como Support
Vector Classifier o soft margin.

Support Vector Classifier o hiperplano de


separación de margen blando
 Es preferible crear un clasificador basado en un hiperplano que, aunque no
separe perfectamente las dos clases, sea más robusto y tenga mayor
capacidad predictiva al aplicarlo a nuevas observaciones (menos problemas
de overfitting).
 Esto es exactamente lo que consiguen los clasificadores de vector soporte,
también conocidos como Soft Margin Classifiers o Support Vector
Classifiers.
Mg. Jesús Salinas Flores

Support Vector Classifier o hiperplano de


separación de margen blando
 En lugar de buscar el margen de clasificación más ancho posible que
consigue que las observaciones estén en el lado correcto del margen; se
permite que ciertas observaciones estén en el lado incorrecto del margen o
incluso del hiperplano.
 El termino Soft Margin hace referencia a que ciertas observaciones pueden
violar el margen de clasificación.

Support Vector Classifier o hiperplano de


separación de margen blando
Mg. Jesús Salinas Flores

Introducción

Fuente: Serrano, L. (2020). Grooking Machine Learning. Maning Publications.

Introducción
Error = Error de Clasificación + Error de Distancia

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.


Mg. Jesús Salinas Flores

Introducción. Error de Clasificación

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.

Introducción. Error de Clasificación

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.


Mg. Jesús Salinas Flores

Introducción

Error = 𝑎2 + 𝑏 2

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.

Introducción
Error = 𝑎2 + 𝑏 2

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.


Mg. Jesús Salinas Flores

Introducción

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.

Introducción

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.


Mg. Jesús Salinas Flores

Introducción

Fuente: Serrano, L. (2021). Grooking Machine Learning. Maning Publications.

Parámetro de Regularización: Costo

 El argumento costo determina la penalización aplicada por violar el margen.


 El costo controla el número y severidad de las violaciones del margen (y del
hiperplano) que se toleran en el proceso de ajuste.
 Cuanto menor es el valor de costo, más ancho es el margen y con ello más
observaciones pasan a ser vectores soporte.
 Si el valor de costo es alto, la penalización por cada violación del margen es
mayor, lo que resulta en márgenes más estrechos y por lo tanto menos
observaciones actuando como vectores soporte.
Mg. Jesús Salinas Flores

Parámetro de Regularización: Costo

Parámetro de Regularización: Costo

Costo = 1 Costo = 10
Mg. Jesús Salinas Flores

Parámetro de Regularización: Costo

Bajo valor de regularización Alto valor de regularización

Support Vector Machine in Javascript

Fuente: https://cs.stanford.edu/~karpathy/svmjs/demo/
Mg. Jesús Salinas Flores

Limitaciones del Support Vector Classifier


1. Support Vector Classifier es una clasificador lineal, no puede clasificar
datos que no son separables linealmente.

Support Vector Machines

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe


Mg. Jesús Salinas Flores

Support Vector Machines

Support Vector Machines


Mg. Jesús Salinas Flores

Support Vector Machines


 El método de Support Vector Machines se puede considerar como una
extensión del Support Vector Classifier obtenida al aumentar la
dimensionalidad mediante el uso de kernels.
 Los límites de separación lineales generados en el espacio aumentado se
convierten en límites de separación no lineales en el espacio original.
 Un kernel (K) es una función que cuantifica la similitud entre dos
observaciones en un nuevo espacio dimensional.
Mg. Jesús Salinas Flores

Kernel

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe

¿Qué es un kernel?
 Es un método para hacer que SVM se ejecute en el caso de puntos de datos
que no son separables linealmente.
 La función kernel transforma los datos en un espacio de características
dimensionales más altas para posibilitar la separación lineal.
Mg. Jesús Salinas Flores

¿Qué es un kernel?

Fuente: https://www.analyticsvidhya.com/

¿Qué es un kernel?
Mg. Jesús Salinas Flores

Kernel Lineal

Si se emplea un kernel lineal, el


clasificador Support Vector
Machine obtenido es equivalente
al Support Vector Classifier.

Kernel Polinómico

 Si 𝑑>1, se generan límites de


decisión no lineales.
 Es al combinar el Support Vector
Classifier con un kernel no lineal
cuando se obtiene un
clasificador Support Vector
Machine.
Mg. Jesús Salinas Flores

Kernel Radial

Fuente: Serrano, L. (2021). Grokking Machine Learning. Manning Publications

Kernel Radial

 En este tipo de kernel, es necesario indicar


el valor del tunning parameter 𝛾.
 Cuanto mayor es su valor, mayor la
flexibilidad (no linealidad) del clasificador
SVM obtenido.
 Gamma explica hasta dónde llega la
influencia de un solo ejemplo de
entrenamiento.
 Cuando gamma es muy pequeño, el modelo es demasiado limitado y no puede
capturar la complejidad o "forma" de los datos.
Mg. Jesús Salinas Flores

Support Vector Machine in Javascript

Fuente: https://cs.stanford.edu/~karpathy/svmjs/demo/

¿Cómo trabaja SVM?


1. Elige un hiperplano óptimo que maximice el margen.
2. Aplica una penalización por clasificación errónea (parámetro de ajuste del
costo “Cost”).
3. Si los puntos de datos no son linealmente separables, se transforman los
datos en un espacio de mayor dimensión donde es más fácil clasificarlos
con superficies de decisión lineales (truco del kernel)
Mg. Jesús Salinas Flores

Estandarización de datos en SVM


1. Todos los métodos del kernel se basan en la distancia. Por lo tanto, se
requiere estandarizar las variables, caso contrario, la variable con el rango
más grande dominará completamente en el cálculo de la matriz del kernel.
2. Se recomienda estandarizar cada variable en el rango [-1,1] o [0,1]. El z-
score y min-max son los dos métodos populares para estandarizar variables.

Estandarización de datos en SVM


1. Otra razón para la estandarización es evitar dificultades numéricas durante
el cálculo.
2. Debido a que los valores del kernel generalmente dependen de los
productos internos de los vectores de características - como el kernel lineal
y polinomial - los valores de los atributos grandes pueden causar problemas
numéricos.
Mg. Jesús Salinas Flores

Recursos para seguir


aprendiendo

Mg. Jesús Salinas Flores jsalinas@lamolina.edu.pe


Mg. Jesús Salinas Flores

Bibliografía

Bibliografía

También podría gustarte