+ All Categories
Home > Documents > Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis...

Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis...

Date post: 22-Sep-2018
Category:
Upload: doannhan
View: 238 times
Download: 1 times
Share this document with a friend
45
Aprendizaje Supervisado Máquinas Vectoriales de Soporte
Transcript
Page 1: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Aprendizaje

Supervisado

Máquinas Vectoriales

de Soporte

Page 2: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Tipos de Variables

Page 3: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Modelo general de los métodos de Clasificación

|Id Reembolso Estado Civil

Ingresos Anuales Fraude

1 Sí Soltero 125K No

2 No Casado 100K No

3 No Soltero 70K No

4 Sí Casado 120K No

5 No Divorciado

95K Sí

6 No Casado 60K No 10

Tabla de Aprendizaje

Id Reembolso Estado Civil

Ingresos Anuales Fraude

7 No Soltero 80K No

8 Si Casado 100K No

9 No Soltero 70K No 10

Tabla de Testing

Generar

el

Modelo

Aplicar

el

Modelo

Modelo

Algoritmo

de

Aprendizaje

Nuevos

Individuos

Evaluar

Page 4: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Clasificación: Definición

• Dada una colección de registros (conjunto de

entrenamiento) cada registro contiene un conjunto de

variables (atributos) denominado x, con un variable

(atributo) adicional que es la clase denominada y.

• El objetivo de la clasificación es encontrar un modelo (una

función) para predecir la clase a la que pertenecería cada

registro, esta asignación una clase se debe hacer con la

mayor precisión posible.

• Un conjunto de prueba (tabla de testing) se utiliza para

determinar la precisión del modelo. Por lo general, el

conjunto de datos dado se divide en dos conjuntos al azar

de el de entrenamiento y el de prueba.

Page 5: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Definición de Clasificación

Dada una base de datos 𝐷 = {𝑡1, 𝑡2,… , 𝑡𝑛} de tuplas o registros

(individuos) y un conjunto de clases 𝐶 = {𝐶1,𝐶2,… ,𝐶𝑚 }, el

problema de la clasificación es encontrar una función 𝑓:𝐷 → 𝐶

tal que cada 𝑡𝑖 es asignada una clase 𝐶𝑗 .

𝑓:𝐷 → 𝐶 podría ser una Red Neuronal, un Árbol de Decisión, un

modelo basado en Análisis Discriminante, o una Red Beyesiana.

Page 6: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

v1

v2

v4

v3

v5

v6

v8

Page 7: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo: Créditos en un Banco

Tabla de Aprendizaje

Con la Tabla de Aprendizaje se entrena (aprende) el modelo matemático

de predicción, es decir, a partir de esta tabla se calcula la función f de la

definición anterior.

Variable

Discriminante

Page 8: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo: Créditos en un Banco

Tabla de Testing

• Con la Tabla de Testing se valida el modelo matemático de predicción, es

decir, se verifica que los resultados en individuos que no participaron en la

construcción del modelo es bueno o aceptable.

• Algunas veces, sobre todo cuando hay pocos datos, se utiliza la Tabla de

Aprendizaje también como de Tabla Testing.

Variable

Discriminante

Page 9: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo: Créditos en un Banco

Nuevos Individuos

Con la Tabla de Nuevos Individuos se predice si estos serán o no

buenos pagadores.

Variable

Discriminante

Page 10: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Idea: Las Máquinas Vectoriales de Soporte (Support

Vector Machines) tratan de encontrar el hiperplano que

separe a las clases con el mayor “margen” posible.

Margen

denota +1

denota -1

Page 11: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

n=Vector Director

¿Por qué se denominan Máquinas Vectoriales de

Soporte (Support Vector Machines)?

Page 12: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

x1

x2 Margen

x+

x+

x-

n

Vectores de Soporte

Vector Director

¿Por qué se denominan Máquinas Vectoriales de

Soporte (Support Vector Machines)?

Page 13: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

g(x) es una función lineal:

( ) Tg b x w x

x1

x2

wT x + b < 0

wT x + b > 0

Se busca un hiperplano en

el espacio de las variables

n es el vector normal del

hiperplano

w

nw

n

Función discriminante lineal

Page 14: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

¿Cómo clasificar estos

puntos mediante una función

discriminante lineal

reduciendo al mínimo el

error?

x1

x2

Podrían existir una cantidad

infinita de posibles hiperplanos!

Función discriminante lineal

Page 15: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

x1

x2 ¿Cómo clasificar estos

puntos mediante una función

discriminante lineal

reduciendo al mínimo el

error?

Podrían existir una cantidad

infinita de posibles hiperplanos!

Función discriminante lineal

Page 16: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

x1

x2 ¿Cómo clasificar estos

puntos mediante una función

discriminante lineal

reduciendo al mínimo el

error?

Podrían existir una cantidad

infinita de posibles hiperplanos!

Función discriminante lineal

Page 17: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

x1

x2

¿Cuál es el mejor?

¿Cómo clasificar estos

puntos mediante una función

discriminante lineal

reduciendo al mínimo el

error?

Podrían existir una cantidad

infinita de posibles hiperplanos!

Función discriminante lineal

Page 18: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Clasificador lineal con el margen más amplio

“zona segura” La función discriminante

lineal con el máximo

margen es la mejor

El margen se define como

la ancho que limita los

datos (podría no existir)

¿Por qué es la mejor?

Generalización robusta y

resistente a los valores

atípicos x1

x2 Margen

Page 19: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Dada una tabla de

aprendizaje:

Con una transformación de

variables para w y b, el

problema es equivalente a:

x1

x2

{( , )}, 1,2, ,i iy i nx

Clasificador lineal con el margen más amplio

denota +1

denota -1

For 1, 0

For 1, 0

T

i i

T

i i

y b

y b

w x

w x

Para

Para

For 1, 1

For 1, 1

T

i i

T

i i

y b

y b

w x

w x

Para

Para

Page 20: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Se sabe que:

Entonces el margen es:

x1

x2

1

1

T

T

b

b

w x

w x

Margen

x+

x+

x-

( )

2 ( )

M

x x n

wx x

w w

n

Vectores de Soporte

Clasificador lineal con el margen más amplio

Page 21: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

El problema es:

x1

x2 Margen

x+

x+

x-

n

Tal que:

Clasificador lineal con el margen más amplio

2maximize

wMaximizar

For 1, 1

For 1, 1

T

i i

T

i i

y b

y b

w x

w x

Para

Para

Page 22: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

El problema es:

x1

x2 Margen

x+

x+

x-

n

Tal que:

Clasificador lineal con el margen más amplio

For 1, 1

For 1, 1

T

i i

T

i i

y b

y b

w x

w x

Para

Para

21minimize

2wMinimizar

Page 23: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

El problema es:

x1

x2 Margen

x+

x+

x-

n

Tal que:

Clasificador lineal con el margen más amplio

21minimize

2wMinimizar

( ) 1T

i iy b w x

Page 24: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Resolver un Problema Optimización

Un problema de

programación

cuadrática con

restricciones

lineales ( ) 1T

i iy b w x

21minimize

2w

s.t.

Minimizar

2

1

1minimize ( , , ) ( ) 1

2

nT

p i i i i

i

L b y b

w w w x

s.t.

Minimización de

Lagrange

0i

Minimizar

Page 25: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Margen de

soporte débil

(más vectores

de soporte)

El número de vectores de soporte entra a jugar cuando los datos no son

linealmente separable, o sea, no existe un hiperplano que separe las 2 clases

en los datos.

En este caso el método trata entonces de encontrar un margen débil, lo cual

quiere decir que permite que algunos puntos de ambas clases queden dentro

del margen, esto se logra permitiendo más vectores de soporte lo cual hace

que el error aumente.

Esto se hace porque de contrario entonces no existiría el plano de

separación, claro el precio es un mayor error.

Page 26: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

MVS no linealmente separables Datos linealmente separables:

0 x

0 x

x2

0 x

Datos no linealmente separables:

La idea es… Encontrar una función para trasladar los datos a

un espacio de mayor dimensión:

Page 27: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

MVS no linealmente separables

Idea general: Los datos de entrada se puede trasladar a

algún espacio de mayor dimensión en el que la Tabla de

Entrenamiento sí sea separable:

Φ: x → φ(x)

Page 28: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

MVS no linealmente separables

Page 29: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

SVM en Rattle

> library(rattle)

Rattle: A free graphical interface for data mining with R.

Versión 2.6.21 Copyright (c) 2006-2012 Togaware Pty Ltd.

Escriba 'rattle()' para agitar, sacudir y rotar sus datos.

> rattle()

Page 30: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo 1: IRIS.CSV

Ejemplo con la tabla de datos IRIS

IRIS Información de variables:

1.sepal largo en cm

2.sepal ancho en cm

3.petal largo en cm

4.petal ancho en cm

5.clase:

• Iris Setosa

• Iris Versicolor

• Iris Virginica

Page 31: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

> library(scatterplot3d)

> scatterplot3d(datos$p.ancho,datos$s.largo,datos$s.ancho)

Page 32: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

> library(rgl)

> D <- as.matrix(dist(datos[,1:4]))

> heatmap(D)

Page 33: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo 1: iris.csv

Page 34: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

SVM en Rattle

Page 35: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla
Page 36: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Matriz de confusión en Rattle

(Matriz de Error)

Page 37: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Usando solo 2 variables para poder graficar

Page 38: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Ejemplo 2:

Credit-Scoring MuestraAprendizajeCredito2500.csv

MuestraTestCredito2500.csv

Page 39: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Descripción de Variables

MontoCredito MontoCuota 1= Muy Bajo 1 =Muy Bajo 2= Bajo 2 =Bajo 3= Medio 3 =Medio 4= Alto 4 =Alto

IngresoNeto GradoAcademico 1= Muy Bajo 1 =Bachiller 2= Bajo 2 =Licenciatura 3= Medio 3 =Maestría 4= Alto 4 =Doctorado

CoeficienteCreditoAvaluo BuenPagador 1= Muy Bajo 1 =NO 2= Bajo 2 =Si 3= Medio 4= Alto

Page 40: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Árboles de Decisión en Ratlle

Page 41: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla
Page 42: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Matriz de confusión en Rattle

(Matriz de Error)

Page 43: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Curva ROC

Una curva ROC

compara la tasa

de falsos positivos

con la de

verdaderos

positivos.

El área bajo la

curva ROC =

0.8880

Page 44: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Curvas ROC - Árboles y SVM

Page 45: Máquinas Vectoriales de Soporte - oldemarrodriguez.com · modelo basado en Análisis Discriminante, o una Red Beyesiana. v1 v2 v4 v3 v5 v6 v8 . Ejemplo: Créditos en un Banco Tabla

Gracias….


Recommended