Está en la página 1de 31

Introduccin a los mtodos Kernel

Universidad Autnoma de Madrid


29 de abril de 2008
Manel Martnez Ramn
Universidad Carlos III de Madrid
Departamento de Teora de la Seal y Comunicaciones
Transparencias disponibles en www.tsc.uc3m.es/manel
p. 1/31
Kernels

Transformaciones no lineales

Truco de los kernels

Ejemplos

Kernels compuestos
p. 2/31
Introducci on

Mtodos Krnel.

Se basan en el viejo truco de los Kernels (Teorema de Mercer).

Permiten versiones no lineales de los algoritmos lineales.

Teora del aprendizaje estadstico

Introducida por Vapnik y Chervonenkis.

Porporcionan buena generalizacin a travs del control de la


complejidad.

Las SVM se derivan de esta teora.


Es posible formular mquinas no lineales que reducen drsticamente los
inconvenientes de los mtodos clsicos de aprendizaje no lineal:

Tienen menor coste computaciona y menos heursticos.

Hay existencia y unicidad de soluciones.

Se establece un contro explcito del sobreentrenamiento.


p. 3/31
Transformaciones no lineales
Para construir un estimador no lineal, debemos transformar los datos de
entrada no linealmente.
La transformacin no lineal implica una correspondencia hacia un espacio de
mayor dimensin, posiblemente innita:
x : R
n
(x) : H
Un ejemplo de transformacin no lineal a un espacio de mayor
dimensionalidad es una transformacin polinmica: sea un conjunto de datos
unidimiensional x
i
. Aplicamos la siguiente transformacin no lineal:
(x) = {x
2
,

2x, 1}
T
: R
3
La pregunta es: existe un producto escalar en ese espacio que pueda ser
expresado como funcin de los datos de entrada x?
p. 4/31
Transformaciones no lineales
El producto escalar explcito es:
(x
1
)
T
(x
2
) = {x
2
1
,

2x
1
, 1}{x
2
2
,

2x
2
, 1}
T
= x
2
1
x
2
2
+ 2x
1
x
2
+ 1
Que puede ser escrito como
(x
1
)
T
(x
2
) = x
2
1
x
2
2
+ 2x
1
x
2
+ 1 = (x
1
x
2
+ 1)
2

Existe una expresin del producto escalar en funcin del espacio de


entrada.

Ese producto escalar se denomina Kernel, y el espacio de mayor


dimensionalidad (espacio de caractersticas) es un espacio de Hilbert
(Reproducing Kernel Hilbert Space, RKHS).

No necesitamos la expresin de las componentes del vector en el


espacio de caractersticas.
p. 5/31
Transformaciones no lineales
(x
1
)
T
(x
2
) =
x
2
1
x
2
2
+ 2x
1
x
2
+ 1 = (x
1
x
2
+ 1)
2
Esta transformacin incrementa la
posibilidad de que haya separabilidad
lineal.
Este es un ejemplo de
correspondencia en un espacio de
Hilbert.
En una dimensin, no es posible
clasicar los datos linealmente.
2 0 2 4 6 8 10 12 14 16
0
1
2
3
4
5
6
Este es un ejemplo en dos dimensiones; en dimensin innita, siempre se
puede clasicar linealmente cualquier conjunto de datos. Y eso es bueno y es
malo: La complejidad es innita, y hay que controlarla.
p. 6/31
El truco de los kernels
El hecho de necesitar slo los productos escalares nos permite reproducir
cualquier algoritmo lineal en un espacio de Hilbert. Esto es:
Existe una versin no lineal de cualquier algoritmo lineal basado en datos.
Si encontramos una transformacin no lineal
(x)
a un espacio de mayor dimensionalidad provisto de un producto escalar que
puede ser expresado como (kernel):
K(x
i
, x
j
) = (x
i
)
T
(x
j
) (1)
entonces podremos construir una versin no lineal del mismo algoritmo donde
la transformacin no lineal es . Este es el truco de los kernels.
p. 7/31
El truco de los kernels
Recordemos que no se necesitan los vectores, as que no debemos
preocuparnos por la dimensin del espacio en cuanto a coste computacional.
Lo que necesitamos es conocer el kernel.
Los ms comunes son:

Lineal: K(x
i
, x
j
) = x
T
i
x
j

Gausiano:K(x
i
, x
j
) = exp
_
||x
i
x
j
||
2
2
2
_

Polinmico: K(x
i
, x
j
) =
_
x
T
i
x
j
+ 1
_
n
Son kernels todas aquellas funciones K(u, v) que verican el teorema de
Mercer, es decir, para las cuales
_
u,v
K(u, v)g(u)g(v)dudv > 0 (2)
para toda funcin g() de cuadrado integrable.
p. 8/31
Ejemplos
El algoritmo de mnimos cuadrados admite una versin no lineal inmediata.
Sea un estimador lineal
y
i
= w
T
x
i
+ e
i
(3)
Se desea minimizar el error cuadrtico medio de la estimacin, es decir:
minE
_
y
i
w
T
x
i
_
2
(4)
La solucin a esta optimizacin es
w = R
1
p (XX
T
)
1
Xy (5)
donde X es una matriz conteniendo un conjunto de vectores columna x
i
, e y
es un vector con los valores deseados de y
i
.
p. 9/31
Ejemplos
Primer paso: encuntrese una formulacin basada en productos escalares.
Para ello, tngase en cuenta el siguiente hecho:
w es una combinacin lineal de los datos de entrada.
Por lo tanto:
w =

i
x
i
= X (6)
Cunto vale el vector ? Se encuentra relacionando (5) (primal) con (6)
(dual):
X = (XX
T
)
1
Xy (7)
y de ah
X
T
X = X
T
(XX
T
)
1
Xy = y (8)
=
_
X
T
X
_
1
y = K
1
y (9)
p. 10/31
Ejemplos
La matriz K contiene los productos escalares de los datos. Una vez hallado
, el estimador puede reescribirse como:
y
i
=

j
x
T
j
x
i
(10)
Segundo paso: Aplquese una transformacin no lineal () a los datos hacia
un espacio de Hilbert provisto de un kernel K(, ). El estimador (ahora no
lineal) se reescribe como
y
i
=

j
(x
j
)
T
(x
i
) =

j
K(x
j
, x
i
) (11)
donde las variables duales
i
se calculan como
= K
1
y (12)
con
K
ij
= K(x
i
, x
j
) (13)
p. 11/31
Kernels compuestos

Diferentes kernels proporcionan diferentes caractersticas a los


estimadores.

Los datos pueden transformarse hacia varios espacios de Hilbert (con


diferentes kernels) a la vez.

Alternativamente, diferentes fragmentos de cada patrn se pueden


transformar a diferentes espacios de Hilbert
La concatenacin de estos espacios de Hilbert es un nuevo espacio de Hilbert.
p. 12/31
Kernels compuestos
En efecto, dado un vector
x =
_
x
a
x
b
_
una transformacin de la forma
(x) =
_

a
(x
a
)

b
(x
b
)
_
lo sita en un espacio de Hilbert compuesto de los espacios H
a
y H
b
cuyo
producto escalar es
(x
1
)
T
(x
2
) = (x
a
1
)
T
(x
a
2
) + (x
b
1
)
T
(x
b
2
)
= K(x
a
1
, x
a
2
) + K(x
b
1
, x
b
2
)
(14)
Lo que demuestra que una suma de kernels es un kernel. Esta tcnica se
denomina suma directa de Espacios de Hilbert.
p. 13/31
Kernels compuestos
Existen aproximaciones an ms generales basadas en las propiedades de
los espacios de Hilbert.
De la misma forma se puede demostrar que si se construye un vector con el
producto tensorial de los vectores (x
a
) y (x
b
), se consigue el kernel
tensorial, de la forma
K(x
1
, x
2
) = K(x
a
1
, x
a
2
)K(x
b
1
, x
b
2
) (15)
p. 14/31
Mquinas de vectores soporte

Complejidad

Clasicador lineal

Interpretacin Geomtrica

Optimizacin prctica de la SVM

Condiciones de Karush Kuhn Tucker

Solucin

Ejemplos
p. 15/31
Complejidad

Vapnik y Chervonenkis demostraron que el riesgo de error en test de una


mquina de clasicacin aumenta con su complejidad (Vase tambien
Thikonov).

Demostraron que la complejidad de una mquina lineal disminuye con el


mdulo de su vector de pesos.
min{Complejidad} min{||w||
2
}

As que tenemos un mtodo sencillo de controlar el sobreentrenamiento


de una mquina lineal

...y un mtodo sencillo para encontrar versiones no lineales.


p. 16/31
Clasicador SVM lineal

The SVM idea:


Dado un clasicador lineal f(x) = w
T
x + b minimizamos el error en
entrenamiento y, a la vez, su complejidad, minimizando el mdulo de su
vector de pesos.

Algoritmo:
Minimizar
||w||
2
+ C
N

i=1

i
(16)
sujeto a
y
i
(w
T
x
i
+ b) 1
i
(17)

i
0 es la prdida para la muestra x. C es el compromiso entre error
emprico y complejidad.
p. 17/31
Interpretaci on Geom etrica
Llamamos margen al rea entre los
planos y(w
T
x + b) 1.
Para una muestra dentro del margen
denimos una prdida
i
. Queremos
minimizar la suma de prdidas.
A la vez, minimizamos el mdulo de
los pesos
Esto es equivalente a maximizar el margen: es inmediato demostrar que
d
2
=
1
||w||
2
p. 18/31
Optimizaci on prctica de la SVM
La minimizacin del funcional primal
1
2
||w||
2
+ C
N

i=1

i
(18)
sujeto a
y
i
(w
T
x
i
+ b) +
i
1 (19)
con
i
0 es un problema con restricciones.
Debemos usar multiplicadores de Lagrange
El lagrangiano es
L =
1
2
||w||
2
+ C
N

i=1

i=1

i
_
y
i
(w
T
x
i
+ b) +
i
1
_

i=1

i
(20)
p. 19/31
Optimizaci on prctica de la SVM
2 4 6 8 10 12 14 16 18 20
2
4
6
8
10
12
14
16
18
20
Constraints
Weight vector gradient
Constraints gradient
L =
1
2
||w||
2
+ C
N

i=1

i=1

i
_
y
i
(w
T
x
i
+ b) +
i
_

i=1

i
(21)
p. 20/31
Condiciones de Karush Kuhn Tucker
Las condiciones para este problema son:
L
pd
w
= 0
dL
pd
db
= 0
L
pd

i
= 0
(22)

i
,
i
0 (23)

i
y
i
[(w
T
x
i
+ b) 1 +
i
] = 0 (24)

i
= 0 (25)
p. 21/31
Soluci on
Si se aplican las condiciones (22) se obtiene
L
pd
w
= w
N

i=1

i
y
i
x
i
= 0 (26)
dL
pd
db
=
N

i=1

i
y
i
= 0 (27)
L
pd

i
= C
i

i
= 0 (28)
El resultado (26) da la solucin para los parmetros
w =
N

i=1

i
y
i
x
i
(29)
p. 22/31
Soluci on
Combinando esas ecuaciones con el lagrangiano se obtiene el dual
L
d
=
1
2
N

i=1
N

j=1

j
y
i
y
j
x
i
T
x
j
+
N

i=1

i
(30)
que puede escribirse como
L
d
=
1
2

T
Y KY +1
T
(31)
siendo un vector columna conteniendo los multiplicadores de Lagrange
i
,
Y una matriz diagonal Y
ii
= y
i
, y K la matroz de productos escalares.
K
ij
= x
T
i
x
j
(32)
p. 23/31
Soluci on

La solucin es una combinacin lineal de muestras x. Los parmetros de


la combinacin son los multiplicadores de Lagrange
i
.

Slo un subconjunto ser diferente de cero. Sus muestras asociadas son


los llamados vectores soporte. La solucin ser dispersa.

A partir de (29) la mquina puede expresarse como:


f(x
j
) = w
T
x
j
+ b =
N

i=1

i
y
i
x
T
i
x
j
+ b (33)
p. 24/31
Resumen del algoritmo

Tmese un conjunto de muestras etiquetadas {x


i
, y
i
} .

Calclese la matriz K de productos escalares.

Optimcese el funcional
L
d
=
1
2

T
Y KY +1
T

Constryase la mquina usando la expresin (29) del vector de pesos:


f(x
j
) =
N

i=1

i
y
i
x
T
i
x
j
+ b (34)
p. 25/31
Notas

SLO SE NECESITAN PRODUCTOS ESCALARES.

La solucin es dispersa.

Hay existencia y unicidad de solucin, ya que


L
d
=
1
2

T
Y KY +1
T

es una forma cuadrtica.


p. 26/31
Ejemplos
Clasicador lineal
3 2 1 0 1 2 3
3
2
1
0
1
2
3
0 5 10 15 20
20
0
20
40
60
80
100
120
Clasicador SVM lineal y los valores de los multiplicadores de Lagrange.
p. 27/31
Ejemplos
Comparacin del clasicador lineal SVM y el MMSE
0.5 0 0.5 1 1.5
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
p. 28/31
Ejemplos
Construir una mquina no lineal es inmediato:
Aplquese una transformacin no lineal () a los datos. El clasicador ser
y
i
=

j
K(x
j
, x
i
) + b (35)
La optimizacin se lleva a cabo de forma idntica al clasicador lineal, con la
salvedad de que
K
ij
= K(x
i
, x
j
) (36)
p. 29/31
Ejemplos
8 6 4 2 0 2 4 6
6
4
2
0
2
4
6
p. 30/31
Conclusiones

El truco de los kernels permite construir versiones no lineales de los


algoritmos lineales, dotndolos de mayor potencia.

Los kernels se interpretan como productos escalares en espacios de alta


dimensionalidad.

Hay kernels con gran versatilidad y se pueden construir kernels


compuestos.

Con el nmero de dimensiones aumenta la complejidad, y con ella ella el


riesgo del estimador.

Las mquinas de vectores soporte son una alternativa a los algorimos


MMSE que controlan la complejidad mediante regularizacin.

Presentan existencia y unicidad, al igual que el MMSE

Se pueden realizar versiones no lineales usando el truco de los kernels,


obteniendo mquinas de gran capacidad expresiva, pero con control del
sobreentrenamiento.
p. 31/31

También podría gustarte