38
Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna Fernando Pérez Nava Introducción En el tema anterior se ha visto como aproximar la frontera de decisión óptima h(x)=P(w 1 |x)-P(w 2 |x) mediante: Una función lineal: g(x)= w T x+w 0 = w 1 x 1 + w 2 x 2 +...+ w d x d + w 0 Una combinación de función lineal y logística: 1/(1+exp(- g(x))) En ambos casos la frontera de decisión generada es lineal. En la práctica, cuando la frontera de decisión óptima no es lineal los resultados obtenidos con clasificadores lineales no son satisfactorios. En este tema se verán métodos para dividir el espacio de características en regiones de decisión cuya frontera no es lineal. Se presentarán dos tipos de clasificadores: Clasificador polinomial. Máquina del vector soporte.

Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Introducción

• En el tema anterior se ha visto como aproximar la frontera de decisión óptima h(x)=P(w1|x)-P(w2|x) mediante:

– Una función lineal: g(x)= wTx+w0 = w1 x1 + w2 x2 +...+ wd xd + w0

– Una combinación de función lineal y logística: 1/(1+exp(- g(x)))

• En ambos casos la frontera de decisión generada es lineal.

• En la práctica, cuando la frontera de decisión óptima no es lineal los resultados obtenidos con clasificadores lineales no son satisfactorios.

• En este tema se verán métodos para dividir el espacio de características en regiones de decisión cuya frontera no es lineal.

• Se presentarán dos tipos de clasificadores:

– Clasificador polinomial.

– Máquina del vector soporte.

Page 2: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Clasificador Polinomial (1)

• ¿Cómo transformar el clasificador lineal para obtener fronteras de decisión no lineales?

• Una idea simple:– La forma del clasificador lineal es:

g(x)= wTx+w0 = w1 x1 + w2 x2 +...+ wd xd + w0

– Introduzcamos los términos de grado 2:

g(x)= w11 x12 + w12 x1x2 +...+ w1d x1xd + w21 x2x1+...+ wdd xd

2 +

w1 x1 + w2 x2 +...+ wd xd + w0

Este tipo de función ya la encontramos en el Tema 2: es una

función discriminante cuadrática.

– Podemos seguir con el grado 3:

g(x)= w111 x13 + w112 x1

2 x2 +...+ w0

y seguir hasta un grado arbitrario.

Page 3: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Clasificador Polinomial (2)

• Las funciones discriminantes polinomiales anteriores tienen una forma común:

g(x)= w1φ1 (x) + w2 φ2 (x) +...+ wd φd* (x) + w0

• Ejemplo:Si la función g es:

g(x)= w11 x12 + w12 x1x2+ w21 x2x1+ w22 x2

2 + w1 x1 + w2 x2+ w0

Entonces definiendo:

φ1 (x)= x12, φ2 (x)= x1x2, φ3 (x)= x2x1, φ4 (x)= x2

2, φ5 (x)= x1, φ6 (x)= x2

Podemos escribir:

g(x)= w11 φ1 (x)+ w12 φ2 (x)+ w21 φ3 (x)+ w22 φ4 (x) + w1 φ5 (x) + w2 φ6 (x) + w0.

Page 4: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Función Discriminante Lineal Generalizada (FDLG)

• Llamaremos Función Discriminante Lineal generalizada a toda función discriminante con la forma:

g(x)= w1 φ1 (x)+ w2 φ2 (x)+...+ wd φd* (x)+ w0=

• Las funciones φφφφ pueden ser polinomiales o de otro tipo:– Gausianas, Splines, etc...

• La idea de descomponer una función compleja como suma de otras más simples es una idea recurrente en Matemáticas:– Series de Taylor (1715).

– Series de Fourier (1822).

– Series de Wavelets. (1986)

• De hecho, ya la hemos usado con las ventanas de Parzen:

0

*

1

)( wwd

iii +∑

=

xφφφφ

)(1

)(ˆ1

i

n

inp xxx −= ∑

=

δ

Page 5: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

FDLG: Notación y Representación Gráfica

• Notación:

– Tal y como ocurrió con las FDL escribiremos:

g(x)= w1 φ1 (x)+ w2 φ2 (x)+...+ wd φd* (x)+ w0 1=

. g(x)= w1 φ1 (x)+ w2 φ2 (x)+...+ wd φd* (x)+ w0 φ0 (x)

donde φ0 (x) es la función que siempre vale uno.

– Entonces: g(x)= wTφ(x)

w=(w1, w2 ,...,wd* , w0 )T, φ(x)=(φ1(x), φ2(x),...,φd* (x),φ0 (x))T

• Representación gráfica:

g1 gc

...

...

φd*(x)

w10 w11 wc0 wc1 w1d* wcd*

x1 xd

φ1(x)φ0(x)=1

FDL generalizada: Representación gráfica (c clases)

... φd*(x)

w0 w1 wd*

x1 xd

φ1(x)φ0(x)=1

FDL generalizada: Representación gráfica (dos clases)

g(x)

Page 6: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

FDLG: Entrenamiento

• Una observación crucial:

– Las funciones φ transforman el

el espacio original de características

en un nuevo espacio.

– En este nuevo espacio el problema

es determinar una función discriminante

lineal.

• Por tanto, el esquema de aprendizaje es:

– Paso 1:

Transformar los datos de entrada con las funciones φ

– Paso 2:

Aplicar a los datos transformados alguno de los métodos del tema anterior

...φd*(x)

w0 w1 wd*

x1 xd

φ1(x)φ0(x)=1

g(x)

Espacio

Original

Espacio

Transformado

Page 7: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Clasificador Cuadrático:Ejemplo

• Un clasificador cuadrático capaz de resolver el problema del XOR:

• La función discriminante es:

g(x)=-1/4 -2 x1x2 + x1 + x2

w0=-1/4 w1=1 w2=1 w3=-2

x1 x2

φ1(x)=x1φ0(x)=1

g(x)

φ1(x)=x2 φ3(x)= x1x2

0 1

0

1

El Problema del XOR: Solución cuadrática

Page 8: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Separabilidad Lineal: Teorema de Cover• Observación:

– El problema del XOR se resuelve porque hemos pasado del espacio de características original de dimensión 2 definido por x=(x1, x2) a un espacio de transformado de dimensión 4 definido por φ(x)=(1, x1, x2, x1x2) donde el problema sí es linealmente separable.

• Puede probarse que el incremento de la dimensionalidad hace más fácil lograr la separabilidad lineal– Teorema de Cover

La probabilidad de que dos clases sean linealmente separables seaproxima a 1 cuando la dimensionalidad del espacio de características d tiende a infinito y el número de muestras crece de limitado por 2(d+1).

• La aproximación tiene por tanto múltiples ventajas:– Aumentando el número de características es más probable que las

clases sean linealmente separables ( esto puede hacerse para clasificadores polinomiales incrementando el grado del polinomio)

– Se tienen algoritmos de entrenamiento para determinar los pesos.

Page 9: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Problemas...• El número de parámetros a estimar es inmenso.

– Por ejemplo para diez características y un polinomio de grado 10 el

número de parámetros es: 184.756

• La presencia de un número tan grande de parámetros hace que el clasificador sufra de sobreajuste:

FDLG Polinomial: Grado 1 FDLG Polinomial: Grado 3

FDLG Polinomial: Grado 5 FDLG Polinomial: Grado 9

Page 10: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Sobreajuste: Regularización• Observación:

– En general, cuando se produce sobreajuste los pesos son cada vez más grandes.

• Podemos introducir como información adicional que pensamos que el vector de pesos debe ser pequeño.– La inserción de información adicional en el esquema estadístico

bayesiano se hace mediante la probabilidad a priori.

– Por tanto definiremos: p(w)=N(0;σ 2 I) • Aprendizaje:

– Puesto que hay información a priori se utiliza la estimación MAP (ya se ha visto como se hace en el tema anterior para regresión logística).

– ¿Cuál es el valor de σ 2 ?

Como siempre se determina mediante un conjunto de entrenamiento y otro de testeo

• Este esquema se suele llamar regularización.• Aún así queda el problema de estimar un enorme número de

parámetros.

Page 11: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Máquina del Vector Soporte (MVS)

• La MVS “Support Vector Machine (SVM)” es un clasificador desarrollado por Vapnik (1995).

• Está basada en la teoría de aprendizaje computacional de Vapnik-Chernovenkis (VC).

• Además de utilizarse en problemas de clasificación puede extenderse a:

– Regresión

– Estimación de funciones de densidad.

• Como clasificador está diseñado tanto para proporcionar una alta capacidad de generalización como para trabajar en espacios de alta dimensionalidad.

• Combina una sólida fundamentación teórica con buenos resultados en problemas reales.

• Representa actualmente el “estado del arte” en clasificación.

Page 12: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS: Caso Lineal (CL)• Caso Linealmente Separable:

– Dados conjuntos linealmente separables ¿Qué frontera lineal

proporciona una mejor capacidad de generalización?

– Al abordar este problema desde la teoría de aprendizaje VC se

demuestra que la frontera óptima es aquella que proporciona un

mayor margen

Frontera óptima según la teoría VC

Frontera Óptima

Margen

Fronteras de separación lineal

Page 13: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Separación Lineal • Recordamos:

– Toda frontera lineal se escribe como: g(x)= wTx+w0 =0

– La regla de decisión es:

Elegir w1 si g(x) ≥ 0 ; Elegir w2 si g(x) ≤0

(Si g(x) es positivo elegir w1 , si g(x) es negativo elegir w2).

• Representaremos el signo deseado para cada elemento del conjunto de entrenamiento como:– yi = 1 si xi ∈ w1, yi = -1 si xi ∈ w2

• Para que todo el conjunto de entrenamiento esté bien clasificado es necesario que:

– El signo deseado y el obtenido coincidan: yi (wTxi +w0 )>0, i=1...n

Signos deseados y obtenidos

g(x)=0g(x)>0

g(x)<0

yi= 1

yi= -1

Page 14: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

• Clasificación unidimensional: g(x)=wx+w0

– Conjunto de entrenamiento:x1=-1, x2=0 ∈∈∈∈ w1; x3=2, x4=5 ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

– Condiciones de separabilidad lineal:

+(wx1 +w0)>0: -w+w0>0

+(wx2 +w0)>0: w0>0

-(wx3 +w0)>0: -2w-w0>0

-(wx4 +w0)>0: -6w-w0>0

Un Ejemplo Inicial (1)

y1=1 y2=1 y3=-1 y4=-1

x1=-1 x2=0 x3=2 x4=5

w

w0

-w+w0=0

w0=0

-2w-w0=0

-6w-w0=0

Región sombreada: valores de w y w0 que producen separación lineal

Page 15: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Formulación Inicial• En el caso de separabilidad lineal:

– La distancia de un punto xi a la frontera lineal g(x)= wTx+w0 =0 es:

• Por tanto para calcular el margen debemos calcular la menor distancia del conjunto de entrenamiento H a la frontera.

para los valores de w y w0 que representan fronteras que separan los puntos del conjunto de entrenamiento:

yi (wTxi +w0 )>0, i=1...n

• Por lo tanto se obtiene un problema de optimización con restricciones:

ww

xwx

T

0T )(

),(wy

gdist iii

+=

ww

xww

T

0T

...10

)(min),(margen

wyw ii

ni

+=

=

niwy

w

ii ...10)( s.a

),(margenmax

0T

0

=>+xw

ww

Margen y frontera de decisión

g(x)=0

Margen

Page 16: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Normalización (1)• Un problema para buscar la frontera óptima:

– Una frontera lineal no tiene una representación única.

– Si se tiene g(x)= wTx+w0 =0 y se multiplica en ambos miembros de

la ecuación por una constante no nula la ecuación no cambia.

– Es decir, la frontera lineal representada por g(x)= wTx+w0 =0 es

equivalente a λ(wTx+w0)=0 , λ ≠ 0.

– Esto hace que el problema de optimización sea complicado de

resolver.

• Solución:

– Elegir de todas las representaciones de una frontera lineal dada

aquella para la que el menor valor de |g(xi)|= yi (wTx+w0 ) sea igual

a 1.

Normalización

g(x)=0

g(x)=1

g(x)=-1

Page 17: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Normalización (2)• De esta forma se tiene que:

– El margen se calcula de forma simple como:

– Las ecuaciones yi (wTxi +w0 ) ≥ 0 pasan a yi (w

Txi +w0 ) ≥ 1 pues el menor valor que toma yi (wTx+w0 ) es uno.

• Por tanto se obtiene el problema:

• Para hacer máximo el cociente podemos hacer mínimo el denominador con lo que se obtiene el problema equivalente:

• Este un problema de programación cuadrática, tiene un único óptimo y puede resolverse con complejidad computacional polinomial.

niwy ii ...11)( s.a

)(1max

0T

2/1T

=≥+xw

www

niwy ii ...11)( s.a

2

1min

0T

T

=≥+xw

www

wwww

xww

x TT

0T

0

1)(min),(margen =

+=

wyw ii

Hi

Page 18: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Un Ejemplo Inicial (2)• Clasificación unidimensional: g(x)=wx+w0

– Conjunto de Entrenamiento :x1=-1, x2=0 ∈∈∈∈ w1; x3=2, x4=5 ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

• Normalización: Ejemplo– La frontera determinada por g(x)=wx+w0=0 con (w,w0)=(-1,3/2) cumple las

restricciones de separación lineal.

Para normalizarla, el menor valor de |g(x)|= yi (wxi+w0 ) debe ser igual a 1.

– Calculamos los valores:

y1 (wx1+w0 )=5/2 ; y2 (wx2+w0 )=3/2; y3 (wx3+w0 )=1/2; (wx4+w0 )=7/2

El menor valor es 1/2 y ocurre para x3=2.

– Entonces dividiendo por 1/2 obtenemos

el nuevo vector (w,w0)=(-2,3) que define

exactamente la misma frontera que antes

pero ahora:

y1 (wx1+w0 )=5 ; y2 (wx2+w0 )=3;

y3 (wx3+w0 )=1; (wx4+w0 )=7

– Además ahora siempre yi (wx+w0 ) ≥1

y el margen es 1/ =1/2

Marrón: g(x) sin normalizar.Naranja: g(x) normalizada

2w

Frontera: -2x+3=0

y1=1 y2=1 y3=-1 y4=-1

Margen=1/2

x1=-1 x2=0 x3=2 x4=5

g(x)=-2x+3

g(x)=-x+3/2

Page 19: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Óptimo

Un Ejemplo Inicial (3):Solución• Clasificación unidimensional: g(x)=wx+w0

– Cjto. Entrenamiento H:x1=-1, x2=0 ∈∈∈∈ w1; x3=2, x4=5 ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

• Condiciones de separabilidad lineal normalizadas:

+(wx1 +w0) ≥ 1: -w+w0 ≥ 1

+(wx2 +w0) ≥ 1: w0 ≥ 1

-(wx3 +w0) ≥ 1: -2w-w0 ≥ 1

-(wx4 +w0) ≥ 1: -6w-w0 ≥ 1

• Función a minimizar:

1/2 (wTw)=1/2 w2

• Valor óptimo:– El menor valor que puede tomar 1/2 w2 en la región sombreada se

obtiene con w=-1 w0=1.

– Por tanto el clasificador MVS es:

g(x)=-x+1 y la frontera g(x)=0 es

x=1

w

w0

-w+w0=1

w0=1

-2w-w0=1

-5w-w0=1

Región sombreada: separabilidad lineal normalizada

x1=-1 x2=0 x3=2 x4=5

Clasificador MVS

Frontera: x=1

y1=1 y2=1 y3=-1 y4=-1

Margen=1

g(x)

Page 20: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Resolución Práctica (1)• Para resolver el problema:

• Se halla su problema dual:

• Una vez resuelto el problema dual:

– Si la solución óptima es α =(α1, α2,...,αn) el valor óptimo de w es:

– El valor óptimo de w0 se obtiene como:

niwy ii ...11)( s.a

2

1min

0T

T

=≥+xw

www

niy

yy

ii

n

ii

ji

n

jijiji

n

ii

...10,0 s.a

)(2

1max

1

T

1,1

=≥=

∑∑

=

==

αααααααα

αααααααααααα xxα

ii

n

ii y xw ∑

=

=1

ˆˆ αααα

^ ^ ^ ^

0ˆ y con,ˆ1ˆ1

T0 >∈−= iiiw ααααwxxw

Page 21: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Resolución Práctica (2)• Vectores soporte

– En la solución óptima del problema dual

α =(α1, α2,...,αn) los únicos valores no nulos

son los correspondientes a las muestras

sobre el margen. Estas muestras se llaman

vectores soporte.

– En la práctica son pocos los elementos que

están sobre el margen. Por tanto la mayoría de los αi son nulos.

– Llamaremos Sop a los índices correspondientes a los vectores

soporte. Entonces:

^ ^ ^ ^

Vectores Soporte: Representación

Vectores Soporte

Frontera Óptima

0T

0

T

0T )(ˆˆˆ)( wywywg ii

Sopiiii

Sopiii +=+

=+= ∑∑

∈∈

xxxxxwx αααααααα

iiSopi

iii

n

ii yy xxw ∑∑

∈=

== αααααααα ˆˆˆ1

0ˆ y con),(ˆ1ˆ1

T0 >∈−= ∑

∈iiij

Sopjjj yw αααααααα wxxx

Page 22: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS:(CL).Resolución Práctica (3)

• Productos escalares

– En la formulación del problema dual los elementos del conjunto de

entrenamiento solo intervienen a través de sus productos escalares

(xi Txj).

– Para calcular w0 solo aparecen los productos escalares

– Para calcular la clase de un vector x de nuevo solo aparecen

productos escalares:

niy

yy

ii

n

ii

ji

n

jijiji

n

ii

...10,0 s.a

)(2

1max

1

T

1,1

=≥=

∑∑

=

==

αααααααα

αααααααααααα xxα

0ˆ y con),(ˆ1ˆ1

T0 >∈−= ∑

∈iiij

Sopjjj yw αααααααα wxxx

0T )(ˆ)( wyg ii

Sopii += ∑

xxx αααα

Page 23: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Un Ejemplo Inicial (4):Solución Dual• Clasificación unidimensional: g(x)=wx+w0

– Cjto. Entrenamiento H:x1=-1, x2=0 ∈∈∈∈ w1; x3=2, x4=5 ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

• Problema a resolver:

• Problema dual:

15

12

1

1

s.a

2

1min

...11)( s.a

2

1min

0

0

0

0

2

0T

T

≥−−

≥−−

≥+−⇒

=≥+

ww

ww

w

ww

w

niwy

w

ii xw

www

0,0,0,0

0s.a

251005

10402

0000

520

2/1max

,...100 s.a

)(2

1max

4321

4321

24342414

43232313

42322212

41312121

4321

1

T

1,1

≥≥≥≥

=−−+

+++

++++

++++

++++

−+++

=≥=

∑∑

=

==

αααααααααααααααα

αααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααα

αααααααα

αααααααααααα αα

xx

niy

yy

ii

n

ii

ji

n

jijiji

n

ii

Page 24: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Un Ejemplo Inicial (5):Solución Dual• Solución óptima:

– α=(0,1/2,1/2,0)

• Vector óptimo:–

• Constante óptima:

– w0=1-wx2=1-(-1)⋅0=1

• Clasificador:

– Por tanto el clasificador MVS es g(x)=-x+1 y la frontera g(x)=0 es

x=1

^

12)1()2/1(01)2/1(ˆˆ −=⋅−⋅+⋅⋅== ∑∈

iiSopi

i y xw αααα

^ ^

x1=-1 x2=0 x3=2 x4=5

Clasificador MVS

Frontera: x=1

y1=1 y2=1 y3=-1 y4=-1

g(x)

Vectores Soporte

Margen=1

Page 25: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS: Caso no Separable (1)

• En el caso no separable no es posible clasificar sin errores todo el conjunto de entrenamiento mediante un clasificador lineal.

• Ya no será posible cumplir todas las condiciones yi (wTxi +w0 ) ≥ 1

– Por tanto será yi (wTxi +w0 ) ≥ 1- ξI con ξI ≥ 0

– Entonces:

› Si ξI = 0 la muestra está en la zona de su

clase.

› Si 1 ≥ ξI ≥ 0 la muestra se mete en la zona

› del margen.

› Si ξI > 1 se mete en la zona de la otra clase.

• Ahora tenemos dos criterios:

– Obtener la frontera de mayor margen.

– Que esta frontera tenga pocas “equivocaciones” (es decir que ξI sea lo más cercano a 0).

• Lo que se hace es combinar los dos criterios.

Caso no lineal

g(x)=0

g(x)=1

g(x)=-1

ξi

Page 26: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS: Caso no Separable (2)

• Combinación de criterios:

– El primer término de la suma a optimizar busca el mayor margen, el segundo el menor número de equivocaciones. La importancia de cada uno se expresa a través de la constante C que pone el usuario.

• Problema dual:

• Vector óptimo:

0

...11)( s.a

2

1min

0T

1

T

=−≥+

+ ∑=

i

iii

N

ii

niwy

C

ξξξξ

ξξξξ

ξξξξ

xw

www

niCy

yy

ii

n

ii

ji

n

jijiji

n

ii

...100 s.a

)(2

1max

1

T

1,1

=≥≥=

∑∑

=

==

αααααααα

αααααααααααα xxα

iiSopi

i y xw ∑∈

= αααα̂ˆ

Page 27: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS no lineal• Con una MVS lineal solo pueden obtenerse fronteras lineales

• La forma de obtener una MVS para fronteras no lineales se basa en la misma idea que las Funciones Discriminantes generalizadas.– Transformar los datos de entrada mediante un conjunto de

funciones no lineales φ(x)=(φ1(x), φ2(x),...,φd* (x)) T y luego aplicar la MVS lineal.

• Tras esta transformación se tiene (por ej. para el caso separable):– Problema dual:

– w óptimo:

– w0 óptimo:

– Clasificador óptimo: g(x)=wTφ(x)+w0

niy

yy

ii

n

ii

ji

n

jijiji

n

ii

...100 s.a

))()((2

1max

1

T

1,1

=≥=

∑∑

=

==

αααααααα

φφφφφφφφαααααααααααα xxα

^ ^

0ˆ y con),(ˆ1ˆ1

T0 >∈−= iiiw ααααφφφφ wxxw

)(ˆˆii

Sopii y xw φφφφαααα∑

=

Page 28: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

El Truco del Núcleo (1)• Problema:

– Ya vimos que uno de los problemas de trabajar con funciones no

lineales φ(x)=(φ1(x), φ2(x),...,φd* (x)) T consiste en que generalmente el número de ellas d* es muy grande.

– El costo computacional de calcular los productos escalares (φ(xi )T

φ( xj)) es también d* y por tanto muy grande.

• Observación:– En determinadas circunstancias en posible evaluar los productos

escalares (φ(xi )T φ( xj)) sin calcular las funciones φ.

• Ejemplo:

– Si φ(x)=(x12, x2

2, x1x2) entonces:

– (φ(x)T φ( y)) = (x12, x2

2, x1x2)T (y1

2, y22, y1y2) = (x T y)2

• Truco:

– El truco del núcleo consiste en calcular (φ(x)T φ( y)) mediante alguna función de las muestras originales k(x,y). A esta función se

la llama función núcleo.

2

2 2

Page 29: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

El Truco del Núcleo (2)• Todo el problema MVS no lineal se puede poner con funciones

núcleo.

• Por ejemplo para el caso linealmente separable:– Problema dual:

– w0 óptimo:

– Clasificador óptimo:

0ˆ),(ˆ)( wkyg ii

Sopii += ∑

xxx αααα

niy

kyy

ii

n

ii

ji

n

jijiji

n

ii

...1,00 s.a

),(2

1max

1

1,1

=≥=

∑∑

=

==

αααααααα

αααααααααααα xxα

0ˆ y con),,(ˆ1ˆ10 >∈−= ∑

∈iiji

Sopjii kyw αααααααα wxxx

Page 30: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

El Truco del Núcleo (3)

• La función núcleo k(x , y) mide la similitud entre las muestras x e y.

• No toda función k (x , y) puede ser utilizada como función núcleo. Debe satisfacer la denominada condición de Mercer.

• Algunas funciones núcleo:

– Lineal: k(x , y)=x T y

– Polinomial: k(x , y)=(λ (x T y) + θ)p, p=1,2,...

– Función de base radial: k(x , y)= exp(- λ (x -y)T(x -y) ), λ>0

– Tangente hiperbólica: k(x , y)= tanh(λ (x T y) - θ)

• Observación:– La forma final del clasificador lineal:

indica que el clasificador g(x) está siendo aproximado por las

funciones k(x, xi) correspondientes a los vectores soporte.

0ˆ),(ˆ)( wkyg ii

Sopii += ∑

xxx αααα

Page 31: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Ejemplo no Lineal (1)

• El problema del XOR resuelto con una MVS no lineal (sin núcleo).– Cjto. entrenamiento:x1=(0,1), x2=(1,0) ∈∈∈∈ w1 x3=(0,0), x4=(1,1) ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

– Funciones φ: φ(x)=(x12, x2

2, x1x2, x1, x2, 1)

› Puntos transformados

(0,1)→(0,1,0,0, ,1); (1,0)→(1,0,0, ,0,1);

(0,0)→(0,0,0,0,0,1); (1,1)→(1,1, ,1);

› Productos Escalares (φ(xi )T φ( xj))

(φ(x1)T φ( x1))= (0,1,0,0, ,1)T (0,1,0,0, ,1)=4

(φ(x1)T φ( x2))= (0,1,0,0, ,1)T (1,0,0, ,0,1)=1

...

...

(φ(x4)T φ( x4))= (1,1, ,1)T (1,1, ,1)=9

2 22

2 2

2,2,2

2 2

2 2

2,2,2 2,2,2

Page 32: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Ejemplo no Lineal (2)

• Problema a resolver:

• Solución:

– α=(8/3,8/3,10/3,2)

4...100 s.a

944

44

44

2

1max

4321

24342414

43232313

42322212

41312121

4321

=≥=−−+

++−−

+++−−

+−−+

+−−+

−+++

iiαααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

ααααααααααααααααα

niy

yy

ii

n

ii

ji

n

jijiji

n

ii

...100 s.a

))()((2

1max

1

T

1,1

=≥=

∑∑

=

==

αααααααα

φφφφφφφφαααααααααααα xxα

^

Page 33: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Ejemplo no Lineal (3)• Vector w:

– w=(8/3)(0,1,0,0, ,1)+(8/3)(1,0,0, ,0,1)-(10/3)(0,0,0,0,0,1)-

-2 (1,1, ,1)=(2/3,2/3,-2 ,2/3 ,2/3 ,0)

• Constante w0:

– w0=1-(2/3,2/3,-2 ,2/3 ,2/3 ,0)T (0,1,0,0, ,1)=-1

• Clasificador:

– g(x)=wTφ(x)+w0

– g(x)=(2/3,2/3,-2 ,2/3 ,2/3 ,0)T(x12, x2

2, x1x2, x1, x2, 1)-1=

=2/3 x12+ 2/3 x2

2-4 x1x2+2/3 x1+ 2/3 x2-1

^ 2 2

2,2,2 2 2 2

0ˆ y con),(ˆ1ˆ1

T0 >∈−= iiiw ααααφφφφ wxxw

)(ˆˆii

Sopii y xw φφφφαααα∑

=

2 2 2 2^

^ ^

2 2 2 2 22

Page 34: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Ejemplo no Lineal (4)• El problema del XOR resuelto con una MVS no lineal (con núcleo).

– Cjto. entrenamiento:x1=(0,1), x2=(1,0) ∈∈∈∈ w1 x3=(0,0), x4=(1,1) ∈∈∈∈ w2

– Signos deseados: y1=1, y2=1, y3=-1, y4=-1

– Funciones φ: φ(x)=(x12, x2

2, x1x2, x1, x2, 1)

– Productos escalares: (φ(xi )T φ( xj)) =((xi

T xj) + 1)2

– Por tanto la función núcleo es k(x,y)=((xT y) + 1)2

k(x1 , x1)= ((x1T x1) + 1)2= ( (0,1)T (0,1) +1)2 =4

k(x1 , x2)= ((x1T x2) + 1)2= ( (0,1)T (0,1) +1)2 =1

...

k(x4 , x4)= ((x4T x4) + 1)2= ( (1,1)T (1,1) +1)2 =9

• Problema dual (el mismo de antes):

2 22

4...100 s.a

944

44

44

2

1max

4321

24342414

43232313

42322212

41312121

4321

=≥=−−+

++−−

+++−−

+−−+

+−−+

−+++

iiαααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

αααααααααααααααααααααααααααα

ααααααααααααααααα⇒

=≥=

∑∑

=

==

niy

kyy

ii

n

ii

ji

n

jijiji

n

ii

...1,00 s.a

),(2

1max

1

1,1

αααααααα

αααααααααααα xxα

Page 35: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Ejemplo no Lineal (5)

• Solución:

– α=(8/3,8/3,10/3,2)

• Constante w0 (la misma de antes):

– w0=1-((8/3)4+8/3-(10/3)-(6/3)4)=-1

• Clasificador (el mismo de antes):–

– g(x)=(8/3) (x2+1)2 + (8/3)(x1+1)2 -

(10/3) –(6/3)(x1+ x2+1)2 –1=

(2/3)( (x1 –1/2)2 + (x2 –1/2)2 –

6(x1 –1/2)(x2 –1/2) –1/2)

^

0ˆ y con),,(ˆ1ˆ10 >∈−= ∑

∈iiji

Sopjii kyw αααααααα wxxx

^

0ˆ),(ˆ)( wkyg ii

Sopii += ∑

xxx ααααg(x)=0g(x)=1

g(x)=-1

Frontera de decisión de la MVS (rojo)

Page 36: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

MVS: Aspectos Prácticos• A la hora de clasificar es conveniente seguir esta guía:

– Escalar:

› Es recomendable escalar todas las características al rango [-1,1] o

[0,1]

› De esta forma se evita que una característica domine a los demás y se

evitan dificultades numéricas

– Selección del modelo

› En general se suele utilizar la función de base radial como una primera

elección. La razón fundamental es que la función núcleo tiene un único

parámetro y además tiene el proceso de optimización tiene menos

dificultades numéricas

› La selección de los parámetros de las funciones núcleo y el parámetro

C del caso no lineal se hace mediante un conjunto de testeo.

› En el caso de funciones de base radial se suele seleccionar las

sucesiones: C=2-5, 2-3 ,..., 215 , λ =2-15, 2-13 ,..., 23

• Clasificación multiclase:– Se construye una MVS por clase.

› El problema a resolver es el de esa clase contra el resto.

– Se elige la clase a partir del máximo valor de los clasificadores

Page 37: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

• Distribuciones verdaderas:

– p(x | w1 ,θθθθ1 )~ , p(x | w2 ,θθθθ2 )~

– P(w1)=0.5, P(w2)=0.5

• Clasificación:– Conjunto de testeo:

› 50 muestras por clase

– Conjunto de entrenamiento:› 50 muestras por clase

– Núcleo: lineal

– Valor óptimo calculado para C: › 0.0005

– Error de clasificación estimado:› 0.28

– Error bayesiano:› 0.23

Clasificación con MVS: Ejemplo

10

01,

0

0N

10

01,

1

1N

Ejemplo de clasificación tras estimación por MVS Circulos: muestras de la clase 1Aspas: muestras de la clase 2Linea negra: Frontera de decisión a partir de la estimaciónLinea roja: Frontera de decisión bayesiana

Page 38: Reconocimiento de Patrones Tema 5: Clasificadores no ... · Reconocimiento de Patrones Tema 5: Clasificadores no Lineales Escuela Técnica Superior de Ingeniería Informática. Universidad

Reconocimiento de Patrones Tema 5: Clasificadores no Lineales

Escuela Técnica Superior de Ingeniería Informática. Universidad de La Laguna

Fernando Pérez Nava

Resumiendo...• Los clasificadores no lineales:

– Permiten trabajar con fronteras de decisión no lineales

• Los clasificadores presentados en este tema se basan en:1. Realizar transformaciones no lineales de las características.

2. Aplicar a los datos transformados un clasificador lineal

• Un primer problema:– Si el número de transformaciones es muy grande el clasificador

sufre de sobreajuste.

• Solución:

– Clasificador cuadrático: Regularización

– MVS: Máximo margen.

• Un segundo problema:

– ¿Cuál debe ser la transformación no lineal de los datos?

• Una Solución:

– Elegir una de las conocidas (Polinomial, funciones de base

radial...)