Você está na página 1de 14

REGRESIN CON VECTORES SOPORTE

Ibrahim Espino Martn

1 INTRODUCCIN
El presente documento persigue dos objetivos principales. Se realizar una introduccin de la teora de regresin empleando vectores soportes (SVR, Support Vector Regression) para aquellas personas que les sea necesario para su campo de investigacin especfico. Por otra parte, se intentar dar una aplicabilidad a la tcnica
utilizando como contexto principal de trabajo la prediccin de velocidades de viento.
El trabajo est organizado de la siguiente forma. Se comenz dando una breve visin general sobre las tcnicas bsicas en las secciones 1, 2 y 3, as como un
resumen general empleando figuras y diagramas en la seccin 4. Estas secciones
abarcan el conocimiento mnimo sobre regresin con vectores soportes para abordar cualquier tema sobre el que se desee aplicarlo. En la seccin 5 se mostrar un
caso prctico en el que se emplea este tipo de regresin para realizar predicciones
short-term de velocidades de viento. Para ello haremos uso de SVM Matlab Toolbox, una librera de MatLab que permite clasificacin y regresin empleando el
algoritmo de vectores soporte. Finalmente, en la seccin 6 se hace una breve resea sobre otros campos relacionados con la biometra computacional en los que
puede ser aplicado SVR. Concretamente, se centrar nuestra atencin en el reconocimiento de voz.

1.1 REGRESIN LINEAL


En -SVR, nuestro objetivo es encontrar una funcin () que tenga como mximo
una desviacin de la salida para todos los datos de entrenamiento, y al mismo
tiempo, que sea lo ms delgada posible. En otras palabras, no nos preocupamos
por errores menores a , pero s de aquellos que sean mayores. Supongamos que
tenemos un conjunto de entrenamiento 1 , 1 , , , , donde X denota el espacio de los patrones de entrada (por ejemplo, ) y que deseamos
aproximarlo mediante una funcin lineal : ,
(1.1)

Pgina 1

donde es el smbolo del producto escalar en X, el vector de pesos y el bias. El


concepto delgadez en el caso de (1.1) hace referencia a que se intenta encontrar
un valor de lo ms pequeo posible. Para asegurar esto, una forma es minimizar
la norma Euclidiana, es decir, 2 . Formalmente, podemos escribir este problema
como un problema de optimizacin convexo:
(1.2)

La cuestin clave en (1.2) fue que la funcin () exista y aproxime a todos


los pares , con una precisin , o en otras palabras que el problema de optimizacin convexo sea factible. Algunas veces, ste no es el caso, o se quiere permitir errores. Una solucin es introducir unas variables de prdida , que permitiran hacer frente a las restricciones no factibles del problema de optimizacin.
Por lo tanto, la formulacin restante quedara:
(1.3)

La constante > 0 determina una solucin de compromiso entre la delgadezde


y la desviacin con respecto a que se tolera.

1.2 FRMULACIN DUAL


La formulacin dual es la clave para extender las mquina de vectores soporte
(SVM, Support Vector Machine) a funciones no lineales. Para ello, se usar el mtodo estndar de dualizacin que utiliza multiplicadores de Lagrange.
La idea clave es construir una funcin de Lagrange tanto para la funcin objetivo (tambin denominada funcin objetivo fundamental) como para las restricciones correspondientes introduciendo un conjunto de variables duales denominadas multiplicadores de Lagrange. Una vez aplicada esta tcnica sobre la funcin
objetivo se obtendr en su forma dual. De esta manera, el problema de optimizacin dual del caso anterior quedara:
(1.4)

Pgina 2

Su demostracin est expuesta en [Smola y Schlkopf, 1998]. Adems, a lo largo de


este desarrollo se expone que
(1.5)
y por lo tanto,
(1.6)
A esta funcin se le denomina expansin de vectores soporte ya que puede ser
completamente descrita como una combinacin lineal de los patrones de entrenamiento . En este sentido, la complejidad de la representacin de la funcin mediante vectores soporte (SVs, Support Vectors) es independiente de la dimensionalidad del espacio de entrada X, y slo depende del nmero de vectores soporte.
Adems, el algoritmo completo puede ser descrito en trminos de productos escalares entre los datos, por lo que no es necesario calcular explcitamente .

1.3 CLCULO DE B
El clculo de puede ser realizado mediante la exploracin de las condiciones de
Karush-Kuhn-Tucker (KKT) [Karush, 1939, Kuhn y Tucker, 1951]. stas plantean
que la solucin ptima del producto entre las variables duales y las restricciones
debe ser cero. De esta manera, puede ser calculado como:
(1.7)
Un dato a tener en cuenta es que slo para aquellas muestras , que
cumplan que , sus multiplicadores de Lagrange sern distintos de
cero, o en otras palabras, para todas las muestras dentro del tubo que forma
entorno a , las variables , desaparecen. A consecuencia de esto, no se necesitan todas las para describir . Los datos de entrada cuyos coeficientes ,
sean distintos de cero se denominarn vectores soporte.

2 KERNELS
2.1 REGRESIN NO LINEAL
El siguiente paso es posibilitar la realizacin de regresin no lineal mediante el
algoritmo SV. Esto se puede conseguir simplificando el preprocesado de los patrones de entrenamiento mediante un mapeo : en algn espacio de caractersticas de mayor dimensin y luego aplicar la regresin lineal estndar vista

Pgina 3

en el captulo anterior. De esta manera, nuestro problema se transformara en encontrar una funcin que cumpliese que
(2.1)
El principal problema de esta solucin radica en que la transformacin () puede
ser de una complejidad tal que sea computacionalmente inviable alcanzarla. Las
propiedades de la formulacin dual nos permitirn solventar este inconveniente.

2.2 MAPEO MEDIANTE KERNELS


Si aplicamos la transformacin () sobre (1.7), el resultado quedara:

=
=1

+
(2.2)

Como puede observarse, el algoritmo SV en formulacin dual slo depende de los


productos escalares entre las transformaciones de los patrones. Por lo tanto, bastara conocer y utilizar , = , en vez de () explcitamente. Todo esto nos permitira reescribir el problema de optimizacin en forma dual como:
(2.3)

Note que el problema de optimizacin corresponde en encontrar la funcin ms


delgada en el espacio de caractersticas y no, en el espacio de entrada. La funcin
, se conoce por el nombre de kernel y para que fuese vlida debera cumplir
una serie de condiciones que se muestran a cotinuacin.

2.3 PROPIEDADES DE KERNELS


Algunas de las propiedades que debe cumplir la funcin kernel para definir un espacio de caractersticas son las siguientes:
a) Simetra
(2.4)

Pgina 4

b) Desigualdad de Cauchy- Schwarz


(2.5)
Estas condiciones no son suficientes para la existencia de un espacio de caractersticas. En esta seccin se introduce el teorema de Mercer el cual provee las condiciones que debe cumplir una funcin K para ser un kernel que induzca un espacio
de caractersticas.
Teorema 1 Sea X un espacio de entradas finito con K(x, z) una funcin simtrica sobre X. Entonces K(x, z) es un kernel si y solo si la matriz
(2.7)
es positiva semidefinida.
Teorema 2 [Mercer, 1909] Sea X un subconjunto compacto de . Sea K una funcin
simtrica continua tal que el operador : 2 2
(2.8)
es positivo, esto es
(2.9)
para todo 2 . Entonces podemos expandir , en una serie uniformemente convergente en trminos de los autovectores de , 2 , con 2 = 1 y
los autovalores asociados 0.
(2.10)
Corolario 3 (Combinacin lineal de kernels) Sean k1(x,x) y k2(x,x) SV kernels admisibles y c1,c2 0, luego tambin
(2.11)
es un kernel admisible.
Corolario 4 (Integral de kernels) Sea s(x,x) una funcin simtrica respecto a sus argumentos en , luego
(2.12)
es un kernel SV admisible.

Pgina 5

Teorema 5 [Smola, Schlkopf y Mller, 1998d] Un kernel de translacin invariante


k(x,x)= k(x - x) es un un kernel SV admisible si y slo si la transformada de Fourier
(2.13)
es no negativa.
Teorema 6 [Burges, 1998] Cualquier kernel de tipo producto escalar k(x,x)=k(x,x)
tiene que satisfacer
(2.14)
(2.15)
(2.16)
para cualquier 0 para ser admitido como kernel.

2.4 EJEMPLOS DE KERNELS


A continuacion se dan algunas funciones que satisfacen las condiciones anteriores.
Lineal Este kernel es una transformacin lineal del tipo
, = = =

(2.17)

donde = es una matriz semidefinida positiva.


Polinomial El mapeo polinomial es un mtodo muy popular para modelar funciones no lineales,
, = ,
(2.18)
, = , +
con . En la prctica se prefiere utilizar el segundo kernel debido a que
se evitan los problemas de que el Hesiano se vuelva cero.
Funciones de base radial
, =

2
2

(2.19)

Las funciones de base radial (RBF) son tambin conocidas como funciones
gaussianas.

Pgina 6

3 GENERALIZACIN
El problema de optimizacin mostrado en la ecuacin (1.3) es una forma de solventar el problema de regresin cuando existen muestras , con errores de
estimacin que siguen una determinada distribucin lineal. Sin embargo, sta puede variar dependiendo del problema con el que nos enfrentemos. Para
solucionarlo, se hace uso del concepto de riesgo funcional.

3.1 RIESGO FUNCIONAL


Considere un conjunto de entrenamiento dado , =1 , con la entrada y la
salida , con una funcin de probabilidad (, ). El problema de identificacin
consiste en encontrar una funcin () que aproxime de manera ptima a una salida deseada (). Se define la funcin de costo ( , ( )) la cual dictamina cmo
se penalizar el error de estimacin. El valor esperado de la funcin de costo se
define por la funcin de riesgo estructural
=

(, )

(3.1)

Evaluar esta funcin de riesgo es complicado pues usualmente no se conoce la funcin de distribucin (, ); slo podemos usar el conjunto de entrenamiento dado
para realizar la identificacin. Para superar este problema podemos utilizar el
principio del riesgo emprico el cual nos dice que en lugar de emplear la funcin de
riesgo estructural , podemos construir una funcin de riesgo emprico
de la forma

1
+

(3.2)

=1

El trmino 2 controla la capacidad, esto es el error de generalizacin, y > 0


es una constante de regularizacin. Esta funcin se aproxima muy bien a la funcin
de riesgo si se escoge adecuadamente la constante de regularizacin. La ecuacin
(3.2) ser la nueva funcin objetivo del problema de minimizacin. Comprebese
que si = 1, = 1/, , = + , alcanzamos la funcin objetivo para
el caso de regresin lineal (1.3).

3.2 FUNCIN DE COSTO


El siguiente paso a seguir es la eleccin de la funcin de costo (o funcin de prdida) adecuada. Esta decisin no puede ser tomada siguiendo razonamientos matemticos ya que depende de las propiedades que el usuario desee dar a la funcin
resultante: mayor capacidad de generalizacin, insensible a ruido, nmero limitado de vectores soporte utilizados, etc. En la siguiente imagen se muestran las funciones de costo propuesta por diversos autores.

Pgina 7

La funcin de costo en la figura (a) corresponde con el criterio convencional de


error de mnimos cuadrados. La funcin de costo (b) es una funcin de prdida
laplaciano que es menos sensible al ruido que la funcin de costo cuadrtica.
[Huber, 1981] propuso la funcin de costo (c) como una funcin de prdida robusta que tiene propiedades ptimas cuando la distribucin subyacente de datos es
desconocida. Estas tres funciones producirn el acortamiento del nmero de vectores soporte. Para completar este tema, [Vapnik, 1998] propuso la funcin de
prdida (d) como una aproximacin de la funcin de costo de Huber que permite
acortar el nmero de vectores soporte que son obtenidos. La siguiente tabla resume la frmula matemtica de cada una de ellas:
Funcin de prdida

Frmulacin matemtica

Cuadrtica

= ( )2

(3.3)

Laplaciana

(3.4)

Huber

-insensitive

=
1
( )2
si <
2
=
2

otro caso
2
0
si <
=

otro caso

(3.5)

(3.6)

Pgina 8

4 ESQUEMA GENERAL
En este captulo haremos un breve resumen de las propiedades del algoritmo SV
para regresin descrito anteriormente. La siguiente grfica muestra de forma
abreviada los diferentes pasos que se siguen durante la fase de regresin.

1 - 1*

Salida Y = (i - i*) K(Xi,X) + b


n - n*
...

Kernel K(Xi,X)=(Xi),(X)

(X1)

(X2)

...

(Xn)

X1

X2

...

Xn

(X)

Vectores soporte X1,..Xn

Vector test X

El patrn de entrada (para el cual la prediccin debera ser hecha, vector test X) se
mapea en un espacio de caractersticas mediante una funcin . Luego, los productos escalares son computados con los resultados obtenidos tras el mapeo para
cada uno de los patrones de entrenamiento Xi. Esto corresponde a la evaluacin de
la funcin kernel K en los puntos K(Xi,X). Finalmente los productos escalares son
sumados usando los pesos i - i*. Esto, ms el trmino constante b nos conduce a
la prediccin final Y. El proceso descrito aqu es muy similar a la regresin en una
red neuronal de tres capas con la diferencia de que, en el caso SV, los pesos en la
capa entrada son predeterminados por los patrones de entrenamiento.

5 CASO PRCTICO: PREDICCIN DE VIENTOS


Una vez estudiado el algoritmo de vectores soporte para regresin, realizaremos
una demostracin prctica aplicndolo en la prediccin short-term sobre un conjunto de datos relacionados con el viento. Se denomina prediccin short-term a
aqulla cuya ventana de prediccin no supere las 24 horas.

Pgina 9

5.1 DOMINIO DE EXPERIMENTO


Las muestras elegidas para el experimento son mediciones de velocidades de viento (medidas en metros por segundo) tomadas a 20 metros de altura en una estacin situada en Pozo Izquierdo, en Gran Canaria. La fecha y hora de la primera
muestra data del 1 de Junio de 2003 a las 19:00. A partir de dicha fecha, los datos
se han obtenido con un periodo intermuestral de 3600 segundos, es decir, se adquiere una muestra cada hora. El nmero total de muestras recogidas son 3388
datos de velocidades de viento; sin embargo, para la demostracin del funcionamiento del algoritmo SV para regresin slo se emplearn las 100 primeras muestras. De stas, 80 se emplearon como muestras de entrenamiento y 20 como muestras de test.

5.2 DISEO DE EXPERIMENTO


Definido el contexto del experimento, es necesario definir los parmetros que rigen el algoritmo SV de regresin: entrada, salida, kernel, funcin de costo, etc. Las
muestras que servirn como ejemplos de entrenamiento del algoritmo sern de la
forma , donde es la velocidad medida en el instante . Se utiliz como kernel una funcin de base radial, similar a las empleadas por las redes neuronales,
con un valor de sigma de 0,9. La funcin de costo utilizada es de tipo -insensitive
con =0,1. La constante de reguralizacin que permite generalizar la funcin tiene un valor de 0,001 ya que se supone un conjunto de muestras de entrenamiento
con ruido muy escaso o nulo. La siguiente tabla resume los parmetros, y sus valores correspondientes, necesarios para realizar este experimento.
Parmetro
Muestras de entrenamiento
Muestras de test
Dimensin de espacio de entrada
Dimensin de espacio de salida
Funcin de kernel
Funcin de costo
Constante de reguralizacin

Valor
80
20
1
1
Funcin de base radial ( = 0.9)
-insensitive ( = 0.1)
= 0.001

Para simular este experimento, se emple el software MatLab 7.10.0 junto con la
funcin svr includa en la librera SVM Matlab Toolbox implementada por Steve R.
Gunn [Gunn, 1998]. La funcin svr permite obtener los coeficientes i = i -i*, as
como la constante b que definen la funcin de regresin a partir de las muestras de
entrenamiento {x, y} que se pasen por parmetro. De esta forma, la funcin de regresin ser de la forma f(x) = i K(xi,x) + b con la que se puede calcular el valor
de salida para cada una de las muestras de test.

Pgina 10

5.3 RESULTADOS Y CONCLUSIONES

La figura muestra el resultado tras la aplicacin del algoritmo de regresin con


vectores soporte sobre todas las muestras. Las circunferencias rojas sealan las
muestras que actan como vectores soporte de la funcin objetivo que se describe
mediante una lnea negra gruesa. Las lneas discontinuas azules establecen un
margen de error entorno a la funcin y determinan qu muestras actan como vectores soporte. La lnea negra fina de las ltimas muestras indican los valores reales obtenidos en la toma de datos de la estacin para instantes posteriores a la ltima muestra de
entrenamiento; mientras que la lnea roja determina los valores predichos para dichos
instantes por el algoritmo SV de regresin.
De los 80 datos de entrenamiento, 78 son utilizados como vectores soporte
debido, principalmente, a la distribucin no homognea de las muestras y al bajo
valor de la constante de reguralizacin que introduce poca generalizacin en la
funcin objetivo. Adems, el margen de error de la funcin de costo es relativamente pequeo con respecto a la varianza de las muestras de entrenamiento.
En cuanto a la comparativa entre los valores reales y los predichos se refiere,
podemos comprobar que para predicciones inferiores a 5 horas (prediccin nowcasting) el comportamiento de la funcin obtenida es bastante aceptable ya que se
obtienen tasas de error entorno a los 0,5 m/s. Sin embargo, para instantes superiores a 5 horas la validez de la prediccin realizada por el algoritmo SV decae considerablemente pues tenemos diferencias superiores a 2 m/s. Esto se debe a que la
Pgina 11

funcin exponencial negativa (funcin de base radial), elegida como kernel de la


funcin objetivo, tiende a hacerse cero a lo largo del tiempo. Ntese que a pesar de
este decaimiento, el comportamiento de la funcin objetivo obtenida es bastante
fiable a lo largo de todas las muestras en cuanto a la previsin de tendencias de
subidas y bajadas de velocidad de viento se refiere.

6 OTROS CASOS: RECONOCIMIENTO DE VOZ


En el campo de la biomtrica computacional, la aplicacin de este mtodo de regresin est relacionada con el estudio del reconocimiento de voz. El objetivo principal que se persigue con esta tcnica es la reconstruccin de los espectros de frecuencia de los patrones de sonido en entornos ruidosos o con baja calidad de seal
y que servirn como muestras para la fase de clasificacin. Actuara como filtro
digital de sonido configurado por el conjunto de vectores soporte. Demostraremos
su funcionamiento con el siguiente ejemplo.
Supngase que deseamos implementar un clasificador de sonidos reales de
diapasn La a 440 Hz. El primer paso sera obtener el espectro de frecuencia del
sonido de este tipo de diapasn tomado mediante micrfono. La siguiente imagen
es un ejemplo de ello.

El espectro de frecuencia de un diapasn La a 440 Hz se caracteriza, precisamente,


porque su frecuencia fundamental est a 440 Hz y por lo tanto, es la que mayor
intensidad presenta. En la imagen se puede comprobar este hecho; aunque debido
al ruido, algunas componentes frecuenciales tambin presentan elevada intensidad. Una solucin sera la utilizacin de filtros digitales, como los de tipo paso banda centrados en frecuencia de 440 Hz. Funciona y es sencilla; pero el espectro resultante tras el filtrado est regido por la ecuacin que los caracteriza y por lo tan-

Pgina 12

to, puede no estar ajustado a lo que el usuario desea. El algoritmo de vectores soporte para regresin permitira esa alternativa.
Mediante los parmetros que definen el algoritmo SV junto con el control de
los vectores soporte resultantes podramos reconstruir el espectro de frecuencias
como se quisiese y por lo tanto, ajustarlo a un sonido ms real, a diferencia del caso
de filtro digitales.

En la imagen se muestra un ejemplo de reconstruccin de la seal anterior aplicando el algoritmo de vectores soporte para regresin. Se puede comprobar que se
ha eliminado la mayor parte del ruido provocado por las frecuencias superiores a
1000 Hz y dejando la frecuencia fundamental (440 Hz) en su intensidad mxima.
Adems, si se permitiese la variacin interactiva de las posiciones de los vectores
soporte podramos conseguir un sistema capaz de generar sonidos con diversos
efectos (armnicos, reverbe, etc.)
Concludo este proceso, tendramos a disposicin un patrn de entrenamiento fiable y sin ruido que podra ser utilizado por algn tipo de clasificador.

BIBLIOGRAFA
N. Cristianini and J. Shawe-Taylor. An Introduction to Support Vector Machines and
other kernel-based learning methods, 2000. Cambridge University Press.
S. R. Gunn. Support Vector Machines for Classification and Regression, 1998.
A. J. Smola and B. Schlkopf. A Tutorial on Support Vector Regression, 1998.
W. Karush. Minima of functions of several variables with inequalities as side constraints. Master's thesis, Dept. of Mathematics, Univ. of Chicago, 1939.

Pgina 13

H. W. Kuhn and A. W. Tucker. Nonlinear programming. In Proc. 2nd Berkeley Symposium on Mathematical Statistics and Probabilistics, pages 481-492, Berkeley,
1951. University of California Press.
J. Mercer. Functions of positive and negative type and their connection with the theory of integral equations. Philos. Trans. Roy. Soc. London, A 209: 415-446, 1909.
A. J. Smola, B. Schlkopf, and K.-R. Mller. The connection between regularization
operators and support vector kernels. Neural Networks, 11:637-649,1998d.
C. J. C. Burges. A Tutorial on Support Vector Machines for Pattern Recognition.
Knowledge Discovery and Data Mining, 1998. in press. MIT Press.
P. J. Hub er. Robust Statistics. John Wiley and Sons, New York, 1981.
V. Vapnik. Statistical Learning Theory. Wiley, N.Y., 1998.
G. A. Betancourt. Las mquinas de soporte vectorial (SVMs), 2005. Scientia et Technica Ao XI.
K.-R. Mller, A. J. Smola, G. Rtsch, B. Schlkopf and J. Kohlmorgen. Using Support
Vector Machines for Time Series Prediction, 2000.
M. A. Mohandes, T. O. Halawani, S. Rehman and Ahmed A. Hussain. Support vector
machines for wind speed prediction, 2003.
J. Marques and P. J. Moreno. A study of musical instrument classification using gaussian mixture models and support vector machines, 1999. Tech. Rep., Cambridge Research Laboratory.
K. Dosenbach, W. Fohl and A. Meisel. Identification of individual guitar sounds by
support vector machines, 2008. Proc. of the 11th Int. Conference on Digital Audio
Effects.
http://www.support-vector-machines.org
http://www.svms.org/regression
http://www.isis.ecs.soton.ac.uk/resources/svminfo/
http://asi.insa-rouen.fr/enseignants/~arakotom/toolbox/index.html

Pgina 14

Você também pode gostar