Algoritmos SVM para problemas sobre big data
Trabajo fin de m´aster para
M´ aster en Investigaci´ on e Innovaci´ on en Tecnolog´ıas de la Informaci´ on y las Comunicaciones
Yvonne Gala Garc´ıa
bajo la direcci´on de
Jos´e Ram´ on Dorronsoro Ibero
Madrid, 25 de septiembre de 2013
´Indice general II
1. Teor´ıa cl´asica de las M´aquinas de Vectores Soporte 1
1.1. Optimizaci´on . . . 2
1.1.1. Problema de optimizaci´on primal . . . 2
1.1.2. Teor´ıa Lagrangiana . . . 4
1.1.3. Formulaci´on Dual del problema Primal . . . 4
1.1.4. Condiciones de Kuhn-Tucker . . . 5
1.2. M´aquinas de Vectores Soporte (SVM) . . . 6
1.2.1. Caso linealmente separable . . . 6
1.2.2. Caso no separable linealmente . . . 9
1.2.3. M´aquinas de Vectores Soporte para Regresi´on . . . 11
1.2.4. Proyecci´on a espacios de alta dimensi´on . . . 13
1.2.5. Propiedades de las SVM . . . 15
1.3. Sequential Minimal Optimization (SMO) . . . 15
2. Algoritmos de M´aquinas de Vectores Soporte para grandes datos 19 2.1. El m´etodo Dual Coordinate Descent (DCD) . . . 19
2.1.1. Algoritmo . . . 20
2.1.2. Extensiones . . . 24
2.1.3. Comparaci´on con m´etodos previos . . . 24
2.2. Pegasos . . . 26
2.2.1. Algoritmo . . . 26
2.2.2. Extensiones . . . 28
3. Experimentos Num´ericos 31 3.1. Introducci´on . . . 31
3.2. Predicci´on de radiaci´on en estaciones individuales . . . 32
3.2.1. Descripci´on de los datos . . . 32
3.2.2. Descripci´on de los patrones . . . 34
3.2.3. Transformaciones . . . 34
3.2.4. Modelos lineales y gaussianos . . . 35
3.2.5. Resultados . . . 37
3.3. Predicci´on con patrones peninsulares . . . 40
3.3.1. Predicci´on por estaci´on . . . 40
3.3.2. Modelos de radiaci´on media peninsular . . . 42
3.4. Desagregaci´on horaria . . . 44 iii
3.5. Conclusiones sobre los experimentos de radiaci´on . . . 46
3.6. Clasificaci´on de p´aginas web . . . 47
3.6.1. Extracci´on de datos . . . 48
3.6.2. Obtenci´on de datos y construcci´on de patrones . . . 50
3.6.3. Construcci´on de modelos . . . 51
3.6.4. Resultados . . . 52
3.6.5. Conclusiones . . . 53
4. Conclusiones 55 4.1. Discusi´on . . . 55
4.2. Trabajos futuros . . . 56
Bibliograf´ıa 56
1.0.1.Hiperplanos . . . 1
1.1.1.Funci´on convexa . . . 3
1.2.1.Problema no separable linealmente . . . 9
1.2.2.Banda . . . 11
1.2.3.Gr´afica que muestra c´omo influyen ξ y gr´aficamente. . . 12
1.2.4.Proyecci´on mediante una funci´on φ : R2 −→ R3 . . . 14
3.2.1.Mapa de las estaciones solares de las que tenemos datos de radiaci´on real . . . 33
3.6.1.Gr´afica que muestra el par´ametro de regularizaci´on C frente al tiempo de entrenamiento en segundos . . . 53
v
3.2.1.Ejemplo del conjunto de entrenamiento, validaci´on y test . . . 33 3.2.2.Esquema de los patrones para modelos diarios . . . 34 3.2.3.Esquema de los patrones para modelos trihorarios . . . 34 3.2.4.Par´ametros ´optimos para Alicante y A Coru˜na en el modelo lineal . . 36 3.2.5.Par´ametros ´optimos para Alicante y A Coru˜na en el modelo gaussiano 37 3.2.6.MAE de las predicciones diarias de ECMWF agregado y modelos
SVR-D y SVR-3H agregado con n´ucleo lineal y gaussiano. . . 39 3.2.7.MAE de las predicciones trihorarias de ECMWF y modelos SVR-D
desagregado y SVR-3H con n´ucleo lineal y gaussiano. . . 40 3.3.1.Par´ametros ´optimos para Alicante y A Coru˜na para LIBSVM y LI-
BLINEAR en modelos diarios . . . 41 3.3.2.Par´ametros ´optimos para Alicante y A Coru˜na para LIBSVM y LI-
BLINEAR en modelos trihorarios . . . 42 3.3.3.MAE de las predicciones diarias de ECMWF, SVR-D y SVR-3H en
Alicante y A Coru˜na con informaci´on de toda la Pen´ınsula con LIBLI- NEAR y LIBSVM. . . 42 3.3.4.MAE de las predicciones trihorarias de ECMWF, SVR-D y SVR-3H
en Alicante y A Coru˜na con informaci´on de toda la Pen´ınsula con LIBLINEAR y LIBSVM. . . 43 3.3.5.Par´ametros ´optimos de los modelos de predicci´on media total penin-
sular con LIBSVM y LIBLINEAR en modelos diarios . . . 43 3.3.6.Par´ametros ´optimos de los modelos de predicci´on media total penin-
sular con LIBSVM y LIBLINEAR en modelos trihorarios . . . 44 3.3.7.MAE para la predicci´on media total diaria peninsular dadas por los
modelos de ECMWF y SVR con LIBSVM y LIBLINEAR . . . 44 3.3.8.MAE para la predicci´on media total trihoraria peninsular dadas por
los modelos de ECMWF y SVR con LIBSVM y LIBLINEAR . . . 45 3.4.1.MAE para predicciones horarias ECMWF, lSVR-3H, lSVR-D, gSVR-
3H y gSVR-D. . . 45 3.4.2.MAE para predicciones horarias ECMWF, SVR-3H y SVR-D con LI-
BLINEAR y LIBSVM . . . 46 3.6.1.Esquema de los patrones para clasificaci´on web . . . 51 3.6.2.Resultados de la clasificaci´on web para LIBSVM, LIBLINEAR y Pegasos 53
vii
Las M´aquinas de Vectores Soporte es una de las t´ecnicas m´as poderosas del aprendizaje autom´atico cuya idea principal consiste en encontrar un separador lineal de las clases. Con una serie de transformaciones esta idea puede ser extendida para problemas en el que los datos no sean linealmente separables mediante la proyecci´on a un espacio de dimensi´on superior, es decir, construimos un separador lineal en el espacio proyectado para unos datos que en el espacio de entrada no son linealmente separables. Esta t´ecnica puede ser utilizada tanto para problemas de clasificaci´on como de regresi´on.
La ventaja de las M´aquinas de Vectores Soporte est´a en la sencillez de los modelos, as´ı como su robustez y buena generalizaci´on para nuevos datos.
El algoritmo Sequential Minimal Optimization (SMO) ha sido el m´as extensa- mente utilizado, ya que es el que utiliza la librer´ıa LIBSVM. Consiste en resolver subproblemas del problema inicial para que el coste computacional sea menos cos- toso. A lo largo de los ´ultimos a˜nos, se han desarrollado algoritmos que usando la informaci´on del gradiente obtienen una tasa de convergencia mucho menor que la de SMO, es decir, convergen en menos iteracciones a la souci´on ´optima, como son Dual Coordinate Descent Method (DCD) o Stochastic sub-gradient Descent Method (Pegasos).
Por tanto en este trabajo fin de m´aster ser´a estudiado el algoritmo y convergencia de SMO, DCD y Stochastic sub-gradient Descent Method. Adem´as ser´an aplicados a problemas con mucho auge en la actualidad como son la predicci´on de energ´ıa solar y la clasificaci´on de p´aginas web y en los que debido a la creciente importancia, cada d´ıa disponemos de m´as informaci´on, y por tanto m´as patrones siendo necesario el uso de algoritmos eficientes con una convergencia a la soluci´on ´optima en pocas iteracciones.
Este Trabajo Fin de Master sintetiza gran parte de mi trabajo realizado durante el
´
ultimo a˜no con el grupo de investigaci´on GAA, Escuela Polit´ecnica Superior, Uni- versidad Aut´onoma de Madrid. El trabajo ha sido patrocinado por la Beca de la C´atedra ADIC-UAM de modelado y predicci´on. Por tanto me gustar´ıa agradecer el apoyo de la c´atedra y a mi tutor, Jos´e Ram´on Dorronsoro por su gu´ıa y por su apoyo durante este periodo de tiempo.
En este trabajo fin de m´aster hemos tratado de estudiar el estado del arte de los algoritmos de las M´aquinas de Vectores Soporte. En la actualidad la mayor´ıa de las investigaciones se centran en encontrar u optimizar los algoritmos ya existentes para hacerlos m´as eficaces. Muchas de estas investigaciones se encaminan usando la infor- maci´on del gradiente en cada coordenada para hacer la optimizaci´on m´as eficiente. A lo largo de este trabajo hemos estudiado la teor´ıa b´asica de optimizaci´on y M´aquinas de Vectores Soporte (SVM), algoritmos cl´asicos de las SVM como Sequential Minimal Optimization (SMO) y algoritmos m´as nuevos y optimizados como Dual Coordina- te Descent Method (DCD) o Stochastic sub-gradient Descent Method. Por ´ultimo hemos usados estos tres algoritmos en dos problemas diferentes el de predicci´on de radiaci´on solar y el de clasificaci´on de p´aginas web. Todo esto ha sido desarrollado de la siguiente manera:
En el primer cap´ıtulo vamos a explicar la teor´ıa b´asica de optimizaci´on y de las M´aquinas de Vectores Soporte, junto con el algoritmo SMO. SMO un m´etodo de descomposici´on para las SVM que reduce el coste computacional eligiendo subpro- blemas de menor tama˜no y que es el utilizado e implementado en la famosa librer´ıa LIBSVM.
En el segundo cap´ıtulo hemos estudiado dos tipos de algoritmos online y batch, que utilizando la informaci´on del gradiente optimizan la convergencia del algorit- mo, estos son; Dual Coordinate Descent Method (DCD) y Stochastic sub-gradient Descent Method.
El tercer cap´ıtulo est´a dedicado a los experimentos num´ericos. En ellos hemos utilizado algunas de librer´ıas disponibles para estos algoritmos, como LIBSVM para SMO, LIBLINEAR para DCD y Pegasos para el m´etodo Stochastic subgradient descent. Tambi´en hemos implementando una b´usqueda exhaustiva en rejilla con un conjunto de validaci´on para dos problemas muy diferentes. El primero se trata de un problema de clasificaci´on de predicci´on de radiaci´on solar, el segundo de clasificaci´on de p´aginas web.
Por ´ultimo, el cuarto cap´ıtulo resume algunas de las conclusiones obtenidas en este trabajo fin de m´aster y posibles trabajos futuros.
Teor´ıa cl´ asica de las M´ aquinas de Vectores Soporte
Las M´aquinas de Vectores de Soporte o Support Vector Machines (SVM) son un conjunto de algoritmos de aprendizaje supervisado desarrollados por Vladimir Vapnik.
El objetivo de los problemas de clasificaci´on que aplican este tipo algoritmos de aprendizaje supervisado es el siguiente; dado un conjunto de entrenamiento con sus etiquetas de clase, entrenar una SVM para construir un modelo que prediga la clase de una nueva muestra o conjunto de test.
Las SVM son una de las t´ecnicas m´as poderosas del aprendizaje autom´atico.
Consiste en construir un hiperplano en un espacio de dimensionalidad muy alta (o incluso infinita) que separe las clases que tenemos. Una buena separaci´on entre las clases permitir´a un clasificaci´on correcta de la nueva muestra, es decir, necesitamos encontrar la m´axima separaci´on a los puntos m´as cercanos a este hiperplano.
La figura 1.0.1 muestra un ejemplo gr´afico del hiperplano que separa la muestra en dos clases.
Figura 1.0.1: Ejemplo sencillo en el que tenemos varios hiperplanos y tratamos de encon- trar aquel que mejor separe la muestra.
Por tanto, detr´as de la teor´ıa de las M´aquinas de Vectores Soporte est´a maximizar la distancia del hiperplano a los puntos m´as cercanos de la muestra, por lo que antes
1
de profundizar m´as en ella es necesario explicar algunos conceptos de la teor´ıa de optimizaci´on.
En el siguiente apartado vamos a explicar tanto conceptos b´asicos de optimiza- ci´on, como herramientas para convertir un problema primal a su correspondiente problema dual, condiciones de Kunh-Tucker y condiciones necesarias y suficientes para determinar la soluci´on de un problema de optimizaci´on.
1.1. Optimizaci´ on
La teor´ıa de optimizaci´on [1] es una herramienta imprescindible en el desarrollo de la t´ecnica usada por las M´aquinas de Vectores Soporte, ´esta es la raz´on por la que se justifica la presencia de este cap´ıtulo.
Un problema de optimizaci´on trata de encontrar el m´aximo o el m´ınimo de una funci´on sujeta a una serie de restricciones que pueden ser de igualdad o desigualdad.
Dependiendo de la funci´on a optimizar y de las restricciones tenemos infinidad de tipos de problemas de optimizaci´on en los que podemos usar diferentes algoritmos. En esta secci´on vamos a centrarnos en los problemas de optimizaci´on convexa cuadr´aticos con restricciones lineales, es decir aquellos en los que la funci´on objetivo es cuadr´atica y las restricciones son lineales.
1.1.1. Problema de optimizaci´ on primal
En este apartado vamos a definir los conceptos de funci´on convexa, problema de optimizaci´on primal y condici´on de Fermat.
Definicion 1. Una funci´on f , definida en f : Rn −→ Rm es convexa si para todo x, y ∈ Rn existe θ tal que:
f (θx + (1 − θ)y) ≤ θf (x) + (1 − θ)f (y) La figura 1.1.1 muestra un ejemplo gr´afico de funci´on convexa.
Definicion 2 (Problema de optimizaci´on primal). Dadas las funciones convexas f , gi, i = 1, · · · , k, y hi, i = 1, · · · , m, definidas en un dominio Ω ⊆ Rn. El problema de optimizaci´on primal ser´a el siguiente:
m´ın f (w), w ∈ Ω, s.t gi(w) ≤ 0, i = 1, · · · , k,
hi(w) = 0, i = 1, · · · , m,
(1.1.1)
donde f (w) es conocida como funci´on objetivo, hi(w) son las restricciones de igual- dad y gi(w) las restricciones de desigualdad.
La soluci´on del problema de optimizaci´on convexa 1.1.1 viene dada por w∗ ∈ R donde R se conoce como regi´on factible y se define de la siguiente manera:
R = {w ∈ Ω : g(w) ≤ 0, h(w) = 0}
Figura 1.1.1: Figura que muestra un ejemplo de funci´on convexa.
Definicion 3 (M´ınimo local). Un m´ınimo w∗ de f es local, si existe tal que w∗, para todo w ∈ (w∗− , w∗+ ), f (w) ≤ f (w∗)
Definicion 4 (M´ınimo global). Un m´ınimo w∗ de f es global en un dominio D, si para todo w ∈ D y w∗ ∈ D, f (w∗) ≤ w.
En el caso del problema 1.1.1 en el que tenemos un problema de optimizaci´on convexa cuadr´atico, cualquier m´ınimo local ser´a m´ınimo global, ya que el m´ınimo del problema es ´unico por convexidad, y adem´as siempre existir´a por tratarse de un problema cuadr´atico. Es decir, la soluci´on del problema 1.1.1 es aquel w que cumple las restricciones, y adem´as es un m´ınimo global.
Esta es una de las ventajas de las M´aquinas de Vectores Soporte frente a otros algoritmos del aprendizaje autom´atico, y es que la soluci´on siempre existe y es ´unica.
Por ´ultimo el teorema 1 nos dar´a las condiciones para que un punto w∗ sea m´ınimo de una funci´on f . Este teorema se conoce como Teorema de las condiciones de Fermat [1].
Teorema 1 (Condiciones de Fermat). Si una funci´on es convexa y diferenciable, y adem´as el gradiente es cero en un punto w∗, entonces existe un m´ınimo de la funci´on en ese punto. En otras palabras;
∂f (w∗)
∂w = 0
junto con la convexidad de f es condici´on suficiente para que w∗ sea un m´ınimo.
Al tratarse de un problema de optimizaci´on con restricciones no podemos usar las t´ecnicas cl´asicas anal´ıticas, por ello es necesario introducir la teor´ıa Lagrangiana.
Esta nos permite resolver problemas de optimizaci´´ on con restricciones sin resolver expl´ıcitamente esas restricciones.
1.1.2. Teor´ıa Lagrangiana
El principal uso de la teor´ıa Lagrangiana [2] en este contexto es transformar un problema de optimizaci´on con restricciones de igualdad en uno con restricciones simples. Esta transformaci´on ser´a llevada a cabo a trav´es de una nueva funci´on que introduciremos conocida como funci´on lagrangiana.
Definicion 5 (Lagrangiano). Dado un problema de optimizaci´on cuya funci´on ob- jetivo es f (w), y las restricciones de igualdad son hi(w) = 0, i = 0, ..., m
m´ın f (w), w ∈ Ω,
s.t hi(w) = 0, i = 1, · · · , m (1.1.2) definimos el lagrangiano de la funci´on (1.1.2) como:
L(w, β) = f (w) +
m
X
i=1
βihi(w), (1.1.3)
donde βi son conocidos como los multiplicadores de Lagrange.
Como nuestro objetivo es minimizar la funci´on lagrangiana, existe un teorema que nos garantiza la existencia de ese m´ınimo [1].
Teorema 2. Una condici´on necesaria para que un punto w∗ sea m´ınimo de la fun- ci´on f (w) sujeta a hi(w) = 0, i = 1, .., m con f y hi ∈ C1 es:
∂L(w∗, β∗)
∂w = 0
∂L(w∗, β∗)
∂β = 0
Las condiciones anteriores tambi´en son suficientes si L(w, β∗) es una funci´on con- vexa de w.
1.1.3. Formulaci´ on Dual del problema Primal
Dado un problema de optimizaci´on primal puede ser transformado a su corres- pondiente problema dual mediante la siguiente f´ormula:
θ(α, β) = infw∈ΩL(w, α, β)
s.t. α ≥ 0, (1.1.4)
donde L es el lagrangiano de la funci´on primal 1.1.2.
Como podemos observar, en este nuevo problema tratamos de encontrar el m´axi- mo de una funci´on θ, que s´olo depender´a de los multiplicadores de Lagrange, i.e. αi y βj para todo i, j. De hecho, la funci´on θ se define como el ´ınfimo del lagrangiano sobre w.
En la mayor´ıa de las ocasiones resolver el problema dual resulta mucho m´as sencillo y en el caso de las SVM, tiene una serie de ventajas que explicaremos m´as adelante. De la formulaci´on dual, obtenemos varios teoremas que ser´an ´utiles en la b´usqueda del ´optimo [1].
Teorema 3 (Teorema d´ebil de la dualidad). Dado el problema de optimizaci´on 1.1.1 y su dual definido como 1.1.4, si w ∈ Ω es un punto de la regi´on factible del problema primal y (α, β) es una soluci´on factible del dual, existe la siguiente relaci´on;
f (w) ≥ θ(α, β).
Esto se deduce inmediatamente de la definici´on 1.1.4 del problema dual ya que;
θ(α, β) = infw∈ΩL(w, α, β) ≤ L(w, α, β) = f (w) + αg(w) + βh(w) ≤ f (w).
Definicion 6 (Gap Dual). La diferencia entre el valor ´optimo del problema primal w∗ y de problema dual (α∗, β∗) es conocido como gap dual.
Teorema 4 (Teorema fuerte de la dualidad). Dado el problema de optimizaci´on 1.1.1 y su dual definido como 1.1.4, si las restricciones son funciones afines, es decir, satisfacen f (x) = Ax + b, entonces el gap dual ser´a cero. Es decir,
f (w∗) = θ(α∗, β∗),
con f (w∗) y θ(α∗, β∗) soluciones ´optimas del problema primal y dual respectivamente.
Resumiendo, el teorema d´ebil de la dualidad da la relaci´on entre la soluci´on del problema dual y primal, donde el valor de la funci´on objetivo en el problema dual es menor o igual que el valor de la funci´on objetivo en el problema primal. Por el teorema fuerte de la dualidad sabemos que el valor la funci´on de optimizaci´on del problema primal y dual coinciden en el ´optimo.
1.1.4. Condiciones de Kuhn-Tucker
Hasta ahora los problemas que hemos tratado con la teor´ıa Lagrangiana b´asica son problemas de optimizaci´on con restricciones de igualdad, como es el caso de 1.1.2. Las condiciones de Kuhn-Tucker sirven para generalizar los problemas de optimizaci´on de funciones convexas con restricciones de igualdad a problemas con restricciones desigualdad tambi´en, como en el problema (1.1.1).
m´ın f (w), w ∈ Ω, s.t gi(w) ≤ 0, i = 1, · · · , k,
hi(w) = 0, i = 1, · · · , m,
(1.1.5)
Para este caso definimos la nueva funci´on lagrangiana como:
L(w, β) = f (w) +
k
X
i=1
αigi(w) +
m
X
j=1
βihi(w), (1.1.6)
donde αiy βj son los multiplicadores de Lagrange y se cumple que; f funci´on convexa, gi, hi afines y αi ≥ 0.
Para garantizar la existencia del m´ınimo tenemos un nuevo teorema, en las que se especifican las condiciones de Kuhn-Tucker.
Teorema 5 (Condiciones KKT). Una condici´on necesaria y suficiente para que un punto w∗ sea ´optimo es la existencia de α∗, β∗ tal que:
∂L(w∗, α∗, β∗)
∂w = 0
∂L(w∗, α∗, β∗)
∂β = 0
α∗igi(w∗) = 0, i = 1, · · · , k gi(w∗) ≤ 0, i = 1, · · · , k α∗i ≥ 0, i = 1, · · · , k.
La ecuaci´on α∗igi(w∗) = 0, i = 1, · · · , k es conocida como la condici´on KKT complementaria.
Una vez definidas la formulaci´on primal y dual del problema de optimizaci´on, la funci´on lagrangiana y las condiciones KKT estamos en condiciones de comenzar a estudiar la teor´ıa b´asica de las M´aquinas de Vectores Soporte.
1.2. M´ aquinas de Vectores Soporte (SVM)
Las M´aquinas de Vectores Soporte [1], en ingl´es Support Vector Machines (SVM), es una de los t´ecnicas m´as poderosas del aprendizaje autom´atico, que a pesar de su sencillez ha demostrado ser un algoritmo robusto y que generaliza bien en problemas de la vida real.
Como hemos explicado en la introducci´on de este cap´ıtulo, la t´ecnica de las SVM consiste en construir un hiperplano en un espacio de dimensionalidad muy alta que separe las clases que tenemos. Esta t´ecnica puede ser utilizada tanto en problemas de clasificaci´on como de regresi´on. Una buena separaci´on entre las clases permitir´a un clasificaci´on correcta.
En esta secci´on comenzaremos explicando el problema m´as sencillo de SVM en clasificaci´on, es decir, aquel en el que los datos son linealmente separables, para despu´es generalizarlo aquellos casos en los que no lo sean introduciendo una nueva variable que nos permita cometer ciertos errores. Posteriormente pasaremos a explicar las M´aquinas de Vectores Soporte para regresi´on y por ´ultimo introduciremos los conceptos de n´ucleo y proyecci´on.
1.2.1. Caso linealmente separable
Dado que el objetivo de las SVM es buscar el hiperplano ´optimo que mejor separe las clases, introduciremos el concepto de margen para conseguirlo. Este concepto s´olo tiene sentido en los casos en los que datos sean linealmente separables, pero es la base para obtener el problema de optimizaci´on que nos dar´a el algoritmo de las SVM.
Definicion 7. Si consideramos el conjunto de datos de entrenamiento como (xi, yi), i = 1, ..., m, con xi ∈ Rl e yi ∈ {−1, 1} y suponemos que existe un hiperplano que separa esos datos dado por:
f (x) = x· w + b.
Entonces, podemos definir el margen como la suma de las distancias de los puntos m´as cercanos al hiperplano, es decir:
γ = 1 2( w
||w||2 · x+− w
||w||2 · x−) = 1
2||w||2(w · x+− w · x−) = 2
||w||2,
donde x+ y x− representan los patrones pertenecientes a la clase positiva y negativa respectivamente.
Por tanto, el objetivo es maximizar el margen γ = ||w||2
2, matem´aticamente esto es lo mismo que minimizar la siguiente funci´on:
m´ın1
2||w||2 (1.2.1)
sujeta a una serie de restricciones, que vienen de la condici´on de que las clases positivas (yi = 1) deben estar separadas de las clases negativas (yi = −1).
xi· w + b ≥ +1para yi = +1 (1.2.2) xi · w + b ≤ −1para yi = −1 (1.2.3) y donde las restricciones 1.2.2 y 1.2.3 pueden ser unidas en una s´ola de la siguiente manera:
yi(xi· w + b) − 1 ≥ 0 ∀i. (1.2.4) Finalmente, si juntamos la funci´on 1.2.1 con la restricci´on 1.2.4 obtenemos el problema primal de optimizaci´on de las M´aquinas de Vectores Soporte:
m´ınw,b
1 2||w||2
s.t yi(w · xi+ b) − 1 ≥ 0 ∀i. (1.2.5) Por tanto nos encontramos ante un problema de optimizaci´on cuadr´atica convexa con restricciones lineales, en el que el hiperplano se obtiene minimizando la norma del vector de pesos w.
Para minimizar la funci´on usaremos la funci´on lagrangiana para el problema 1.2.5, que por lo explicado en la secci´on previa la podemos caracterizar como:
L(w, b, α) = 1
2||w||2−
l
X
i=1
αi[yi(w· xi+ b) − 1], (1.2.6) donde L debe ser minimizada sobre w y b, por tanto calculamos ∂Lw y ∂Lb e igualamos a cero, obteni´endose las siguientes ecuaciones:
∂L(w, b, α)
w = w −
n
X
i=1
yiαixi = 0
∂L(w, b, α)
b =
n
X
i=1
yiαi = 0,
que sustituidas en la ecuaci´on de Lagrangiano 1.2.6 nos dar´a:
L(w, b, α) = 1 2
l
X
i,j=1
yiyjαiαjxi · xj −
l
X
i,j=1
yiyjαiαjxi· xj −
l
X
i=1
αiyib +
l
X
i=1
αi = Θ(α) (1.2.7) y por tanto, el problema dual para las SVM ser´a:
m´ax
α Θ(α) =P
iαi− 12P
i,jαiαjyiyjxi· xj
s.t αi ≥ 0 ∀i
P
iαiyi = 0.
(1.2.8)
Por ´ultimo, la condici´on KKT complementaria ser´a:
α∗i(yi((w · xi+ b∗) − 1)) = 0.
Una vez obtenida la soluci´on ´optima del problema dual (α∗, b∗) de las SVM 1.2.8 de las condiciones KKT y las derivadas parciales del lagrangiano, podemos obtener los pesos w∗ del problema primal mediante la ecuaci´on dada por ∂Lw = 0:
w∗ =
l
X
i=1
yiαixi, (1.2.9)
mientras que el t´ermino de bias se corresponder´a con:
b∗ = yi− w∗ · xi = yi−
l
X
i=1
αi∗yixi· xj.
Tambi´en de la condici´on KKT complementaria observamos que si α∗i > 0 entonces yi(w · xi+ b∗) = 1, (1.2.10) por tanto estos ser´an los puntos que est´an en el hiperplano. En resumen, por la ecuaci´on 1.2.9 y de la condici´on 1.2.10 deducimos que los puntos que definen los pesos son aquellos que est´an en el hiperplano ´optimo, es decir, aquellos en los que α∗i > 0 y por tanto se tiene 1.2.10. A estos puntos los llamaremos vectores soporte.
Finalmente el hiperplano ´optimo puede representarse mediante α∗ y b∗ como:
f (x, w∗, b∗) =X
i∈vs
yiαixi· x + b∗.
Figura 1.2.1: Ejemplo de problema no separable linealmente
1.2.2. Caso no separable linealmente
En la vida real, la mayor´ıa de los problemas no tienen datos linealmente separa- bles, lo que imposibilita la tarea de encontrar un hiperplano que separe perfectamente los datos. Para resolver este problema introducimos una nueva variable, a la que co- nocemos como variable de holgura y denotamos por ξ. El objetivo de esta nueva variable es hacer el modelo menos r´ıgido y permitir ciertos errores, es decir, que algunos puntos de clase +1 sean clasificados como −1 y viceversa.
Al introducir una nueva variable, l´ogicamente, nuestro problema cambia, ya que tanto la funci´on a optimizar como las restricciones no son las mismas. Las restriccio- nes ahora tendr´an la forma:
yi(w· xi+ b) − 1 + ξi ≥ 0∀i (1.2.11) permitiendo un margen ξi de equivocaci´on. La figura 1.2.1 nos muestra gr´aficamente el efecto de ξi en la separaci´on de las clases.
Al mismo tiempo, vamos a penalizar ese error con un nuevo par´ametro C, que es a˜nadido a la funci´on objetivo, de tal manera que a mayor C, mayor es la penalizaci´on que damos a los errores y por tanto permitimos menos. Por el contrario si C es peque˜no, permitimos a nuestro modelo cometer m´as errores.
El valor de C va ser importante en este sentido, ya que si damos un valor de- masiado grande, el modelo penalizar´a mucho los errores cometidos en el conjunto de entrenamiento y por tanto se producir´a el overfitting o sobreaprendizaje, esto es, el modelo sobre aprende los datos de entrenamiento, ci˜n´endose a ellos, lo que produce que no haya una buena generalizaci´on y la clasificaci´on en los nuevos datos de test no sea buena. Por otro lado, si C es muy peque˜no, el modelo permitir´a muchos errores y no ser´a bueno, produci´endose el conocido underfitting.
Despu´es de estas modificaciones, el problema de optimizaci´on obtenido para SVM en el que los datos no son linealmente separables ser´a el siguiente:
m´ınw,b
1
2||w||2+ CPl i=1ξi
s.t yi(w · xi+ b) − 1 + ξi ≥ 0 ∀i ξi ≥ 0∀i,
(1.2.12)
Por tanto vamos a resolver un problema en el que tratamos de encontrar el m´aximo margen, como en el caso de problemas con datos linealmente separables, pero per- mitiendo ciertos errores, por lo que Pl
i=1ξi se convertir´a en una cota superior de los errores que permitimos, ya que para que un error ocurra debe exceder ξi y por tanto la suma ser´a una cota para el error total controlado por el par´ametro C.
Como en el caso anterior al tratarse de un problema con restricciones obtendremos su funci´on lagrangiana usando la teor´ıa lagrangiana:
L(w, b, α, β) = 12||w||2+ CPl
i=1ξi−Pl
i=1αi[yi(w· xi+ b) − 1 + ξi] −Pl
i=1βiξi, donde L debe ser minimizada sobre w , ξi y b para obtener el dual. Calculamos
∂L w, ∂Lξ
i y ∂Lb e igualamos a cero, obteni´endose las siguientes ecuaciones:
∂L(w, b, ξ, α, β)
w = w −
l
X
i=1
yiαixi = 0 ⇒ w =
l
X
i=1
yiαixi
∂L(w, b, ξ, α, β)
ξi = C − αi− βi = 0 ⇒ 0 ≤ αi ≤ C
∂L(w, b, ξ, α, β))
b =
l
X
i=1
yiαi = 0.
Finalmente obtenemos el siguiente problema dual del problema primal 1.2.12
m´ax
α Θ(α) =P
iαi− 12P
i,jαiαjyiyjxi· xj
s.t C ≥ αi ≥ 0 ∀i
P
iαiyi = 0
(1.2.13)
y cuyas condiciones KKT son:
α∗i(yi(xi· w∗+ b∗) − 1 + ξ∗i) = 0 C ≥ α∗i ≥ 0
βi∗ ≥ 0
βi∗ξi∗ = 0 ⇒ (C − α∗i)ξ∗i = 0.
Adem´as, de las condiciones KKT observamos que:
Si α∗i = 0 ⇒ ξi∗ = 0 ⇒ yi(w∗· xi+ b∗) ≥ 1.
Figura 1.2.2: Ejemplo de banda no lineal
Si C ≥ αi ≥ 0 ⇒ ξi∗ = 0 ⇒ yi(w∗· xi+ b∗) = 1 Si α∗i = C y ξ > 0 ⇒ yi(w∗ · xi+ b∗) = 1 − ξi∗ ≤ 1.
Por tanto, el problema dual de SVM y las condiciones KKT nos permiten definir los vectores soporte como aquellos que est´an en el margen, es decir, aquellos que αi 6= 0. En consecuencia, el n´umero de vectores soporte nos dar´a una idea de la dificultad del problema.
1.2.3. M´ aquinas de Vectores Soporte para Regresi´ on
Como hemos dicho anteriormente la teor´ıa de las M´aquinas de Vectores Soporte puede ser extendida a problemas de regresi´on. El objetivo en este caso es encontrar una funci´on f (x) con una desviaci´on del ”target”yi para todos los datos.
La variable es conocida como la anchura de la banda y es deseable que no tenga un valor muy alto manteniendo un equilibrio con la complejidad del problema. Por tanto vamos a permitir ciertos errores para aquellos valores predichos que est´en cerca del valor real. Para ello introducimos el concepto de funci´on de p´erdida que permite errores menores que del valor real.
En estos modelos tambi´en introducimos la variable de holgura ξ para permitir ciertos errores, que es acompa˜nada por su correspondiente t´ermino de regularizaci´on C en la funci´on objetivo.
La f´ormula 1.2.14 nos da funci´on de p´erdida y la figura 1.2.3 y 1.2.3 muestran un ejemplo gr´afico de la banda y el par´ametro de holgura ξ con una funci´on no lineal y lineal respectivamente.
L(x, y; f ) = |y − f (x)| = max(0, |y − f (x| − ). (1.2.14) En cuanto al valor de , la anchura de la banda, es importante de manera similar a como lo era C en los problemas no linealmente separables. Si la banda es muy grande permitimos mucho error, ya que nuestra predicci´on estar´a m´as ”lejos”del objetivo yi.
Figura 1.2.3: Gr´afica que muestra c´omo influyen ξ y gr´aficamente.
En cambio si es muy peque˜no permitimos muy poco error y la complejidad del modelo aumenta r´apidamente.
Por tanto existe una relaci´on entre C y a la hora de buscar los par´ametros
´
optimos del modelo. Si C es muy grande tambi´en lo ser´a, ya que sino tendr´ıamos modelos muy complicados, en los que se permitirian pocos errores, con riesgo de overfitting. En caso contrario si C es peque˜no tambi´en deber´ıa serlo, ya que en caso contrario nuestro modelo ser´ıa permisivo con los errores y habr´ıa riesgo de underfitting.
El problema de optimizaci´on primal se reescribe ahora:
m´ınw,b 1
2||w||2+ CPl
i=1(ξi+ ˆξi) s.t (xi· w + b) − yi ≤ + ξi ∀i
yi− (xi· w + b) ≤ + ˆξi ∀i ξi, ˆξi ≥ 0∀i,
(1.2.15)
de donde obtenemos la funci´on lagrangiana:
L(w, b, α) = 1
2||w||2+ C
l
X
i=1
(ξi+ ˆξi)
+
l
X
i=1
αi[(w· xi+ b) − yi− − ξi]
+
l
X
i=1
ˆ
αi[yi− (w· xi+ b) − − ˆξi]
−
l
X
i=1
(βiξi+ ˆβiξˆi),
y sus derivadas respecto a w, ξi, ˆξi y b como:
∂L
∂w = w +
l
X
i=1
(αi− ˆαi)xi = 0 ⇒ w = −
l
X
i=1
(αi− ˆαi)xi
∂L
∂ξi = C − αi− βi = 0
∂L
∂ ˆξi = C − ˆαi− ˆβi = 0
∂L
∂b =
l
X
i=1
(αi− ˆαi) = 0.
Finalmente, obtendremos el siguiente problema dual:
m´ax
α 1 2
Pl
i,j( ˆαi− αi)( ˆαj − αj)xi· xj−Pl
iyi( ˆαi− αi) +Pl
i( ˆαi+ αi)
s.t P
i( ˆαi− αi) = 0 0 ≤ αi, ˆαi ≤ C
(1.2.16)
con sus correspondientes condiciones KKT.
α∗i[(w∗· xi+ b∗) − yi− ξi∗− ] = 0 α∗i[yi− (w∗· xi+ b∗) − ξi∗− ] = 0
α∗i ≥ 0 βi∗ ≥ 0
βi∗ξi∗ = 0 ⇒ (C − α∗i) ξi∗ = 0 βˆi∗ξˆi∗ = 0 ⇒ (C − ˆα∗i) ˆξi∗ = 0.
Por tanto, el valor de w se obtiene de la ecuaci´on ∂w∂L = 0, resultando la ecuaci´on:
w∗ =
l
X
i=1
(αi− ˆαi)xi y el de b con las condiciones KKT.
1.2.4. Proyecci´ on a espacios de alta dimensi´ on
Cuando el problema no es linealmente separable, muchas veces debido a que la dimensi´on del problema es baja, es necesario proyectar los datos originales a un espacio de dimensi´on superior o incluso infinita a trav´es de una funci´on φ, donde los datos sean linealmente separables. Por tanto, si el hiperplano separador es f (x) = w · x + b en este caso se convierte en f (x) = φ(w) · x + b, obteni´endose un separador lineal en el espacio proyectado para datos no linealmente separables en el espacio de entrada.
La figura 1.2.4 muestra un ejemplo sencillo de una proyecci´on mediante una funci´on φ : R2 −→ R3, es decir, datos en R2, donde no son linealmente separables a uno de dimensi´on 3 donde si lo son.
Calcular el vector proyectado de atributos puede ser computacionalmente muy costoso si la dimensi´on de los atributos es muy alta, es por ello que mediante la observaci´on de que en la ecuaci´on 1.2.8 s´olo aparecen los datos de entrenamiento como un producto escalar, xi· xj, podemos utilizar el truco del n´ucleo. Por tanto en lugar de guardar el vector proyectado completo y despu´es hacer el producto escalar, mediante el uso del truco del n´ucleo podemos obtener directamente el producto de los vectores proyectados mediante una funci´on de n´ucleo K, siendo la reserva de memoria menos costosa.
Figura 1.2.4: Proyecci´on mediante una funci´on φ : R2 −→ R3
Definicion 8 (Funci´on de n´ucleo). Sea X el espacio de entrada, H el de carac- ter´ısticas dotado de un producto interno y una funci´on F : X −→ H, con H espacio inducido de Hilbert, se define la funci´on de n´ucleo K : X × X −→ R como:
K(xi, xj) = φ(xi)· φ(xj).
El problema con el que nos encontramos al usar esta t´ecnica es que no cualquier funci´on puede ser usada como n´ucleo, ya que no es posible encontrar una funci´on K tal que K(x, y) = φ(x) · φ(y). El teorema de Mercer, sacado de?? nos dar´a las condiciones que son necesarias para cumplir lo anterior.
Teorema 6 (Teorema de Mercer). Si una funci´on escalar k(xi, xj) es semidefinida positiva, existe una funci´on
Φ : Rd −→ F,
con F espacio de Hilbert, tal que k(xi, xj) puede descomponerse como un producto escalar
k(xi, xj) = φ(xi) · φ(xj).
Por tanto, necesitamos dar las definiciones de matriz y kernel semidefinidos posi- tivos.
Definicion 9 (Matriz semidefinida positiva). Una matriz sim´etrica de tama˜no n × n es semidefinida positiva si para todo vector x ∈ Rn y x 6= 0, tenemos que
xTKx ≥ 0.
Definicion 10 (Kernel semidefinido positivo). Una funci´on de kernel k(xi, xj) es semidefinido positivo si para cualquier otra funci´on f ∈ L2 tenemos que:
Z
k(xi, xj)f (xi)f (xj)dxidxj.
Para terminar vamos a listar algunos de los n´ucleos m´as utilizados:
El n´ucleo lineal es el m´as sencillo, su expresi´on es;
k(xi, xj) = xi· xj.
El n´ucleo gausiano proyecta los vectores a un espacio de dimensi´on infinita y se define como;
k(xi, xj) = e−||xi−xj ||2
2σ2 .
Ambos los usaremos en la experimentos n´umericos de la ´ultima secci´on.
1.2.5. Propiedades de las SVM
Las principales propiedades y ventajas de las M´aquinas de Vectores Soporte y por las que su uso est´a tan extendido son las siguientes:
Tiene una buena generalizaci´on con nuevos datos cuando el modelo est´a bien parametrizado.
El proceso de entrenamiento no depende del n´umero de atributos.
Los modelos dependen de pocos par´ametros, C, σ, . Por lo que la metamode- lizaci´on es m´as f´acil.
Es un problema de optimizaci´on convexa cuadr´atico. Lo que significa que el m´ınimo es ´unico.
El modelo final suele ser sencillo, simplemente una combinaci´on de un pocos vectores soporte.
1.3. Sequential Minimal Optimization (SMO)
En esta secci´on vamos a describir el algoritmo Sequential Minimal Optimization (SMO) [4, 8]. Cuando el n´umero de datos que disponemos es muy grande, el problema cuadr´atico de las SVM puede ser dif´ıcil de resolver con las t´ecnicas est´andar descritas anteriormente.
El algoritmo SMO es un m´etodo de descomposici´on en que la idea es elegir sub- problemas del problema inicial para que sea menos costoso computacionalmente. En el caso del problema de optimizaci´on cuadr´atica de las SVM implica al menos dos multiplicadores de Lagrange, ya que deben cumplir la restricci´on Pl
i=1αiyi = 0, es decir, los subproblemas que elijamos deben tener al menos tama˜no dos.
Podemos observar que la simplificaci´on de SMO es que permite optimizar anal´ıti- camente. Por tanto, el algoritmo se compone de dos pasos; el primero es una t´ecnica heur´ıstica para elegir los dos mejores multiplicadores; el segundo es una t´ecnica anal´ıtica para optimizarlos.
Como hemos dicho en apartados anteriores, las m´aquinas de Vectores Soporte resuelven problemas tanto de clasificaci´on como de regresi´on. En la mayor´ıa de los trabajos, los algoritmos se explican desde el punto de vista de la clasificaci´on, por
eso en este trabajo vamos a introducir una notaci´on sacada de [4] que nos permita estudiar el algoritmo tanto para clasificaci´on como para regresi´on.
Si tenemos la muestra S = {(xi, yi) : i = 1, ..., N } donde yi = ±1 para clasifi- caci´on y R = {(xi, ti) : i = 1, ..., N } donde ti ∈ R para regresi´on, el problema que queremos optimizar ser´a el siguiente:
P (w, b, ξ) = m´ın
w,b
1
2||w||2+ CPl i=1ξi s.t yi(w · xi+ b) ≥ pi− ξi ∀i
ξi ≥ 0∀i
(1.3.1)
Cuando pi es 1 tenemos el cl´asico problema de SVM para clasificaci´on.
Para problemas regresi´on redefinimos la muestra R como el triplete SR = {(xi, yi, pi) : i = 1, ..., 2N }, donde.
Para todo i = 1, ..., N , tenemos que yi = 1 y pi = ti− .
Para todo i = N + 1, ..., 2N , tenemos que yi = −1 y pi = −ti− .
Con lo que finalmente su correspondiente problema dual ser´a:
m´ınα D(α) = 12P
i,jαiαjyiyjxi· xj−P
iαipi
s.t αi ≥ 0 ∀i
P
iαiyi = 0
(1.3.2)
Como hemos dicho anteriormente para aplicar SMO debemos actualizar al menos dos coeficientes en cada iteraci´on, estos los denotaremos como L y U . Si queremos elegir el ´optimo de Lt y Ut en la iteraci´on t, sus coeficientes en la siguiente ser´an;
αLt+1t = αtLt+ δtLt
αUt+1t = αtUt + δUtt
mientras que el resto de los coeficientes αj permanecen iguales.
Debido a la restricci´onP
iαiyi = 0, la actualizaci´on de uno de los multiplicadores puede ser escrita en funci´on del otro, de tal manera que: δUtt = −yUtyLtδtLt
Para elegir los ´ındices Ut y Lt, se usa el criterio conocido en ingl´es como the most violating pair (MVP), es decir Ut y Lt viene determinado por las siguientes ecuaciones.
Ut= arg max
i∈IUt
{yi∇Dit} Lt= arg min
i∈ILt
{yi∇Dit} (1.3.3)
donde
IL = {i : yi = +1 ∧ αi < C} ∪ {i : yi = −1 ∧ αi > 0}
IU = {i : yi = +1 ∧ αi > 0} ∪ {i : yi = −1 ∧ αi < C}
Si medimos la diferencia D entre dos iteraciones del algoritmo SMO tenemos que:
Dt− Dt+1 = δLttyLt∆t− (δtLt)2
2 kxLt − xUtk2 = ψ(δLtt) (1.3.4) siendo ∆t= w(xU − xL)
El objetivo es conseguir la m´axima diferencia entre dos iteraciones; esto es f´acil de calcular mediante la derivada ψ0 = 0 donde ψ es en la ecuaci´on (1.3.4). Por tanto, obtenemos;
δtLt = yLt(yUt∇DUt) − (yLt∇DLt)
kxLt − xUtk2 = yLt ∆t kxLt − xUtk2 Si sustituimos la ecuaci´on (1.3.5) en (1.3.4), obtenemos:
Dt− Dt+1 = (yUt∇DUt − yLt∇DLt)2
2kxLt − xUtk2 = (∆t)2
2kxLt − xUtk2 (1.3.5) Por tanto, sin tener en cuenta el denominador, los ´ındices elegidos por la regla MVP ,Lt y Ut, obtenemos el m´aximo valor Dt− Dt+1, Dt decrece en cada iteraci´on, como quer´ıamos. Es decir la regla MVP coincide con la maximizaci´on de Dt− Dt+1.
Algoritmos de M´ aquinas de
Vectores Soporte para grandes datos
La elecci´on de este tema est´a motivada por el creciente inter´es en la investi- gaci´on de t´ecnicas que nos permitan trabajar con grandes vol´umenes de datos y alta dimensionalidad. Cada d´ıa m´as la cantidad de informaci´on disponible aumenta vertiginosamente, aumentando a su vez tanto el n´umero de patrones como la dimen- sionalidad de los mismos. Por tanto es importante desarrollar m´as t´ecnicas potentes en este campo.
En esta secci´on trataremos de discutir las ventajas y desventajas de cada uno de los m´etodos que vamos a estudiar, estos son; Dual Coordinate Descent method (DCD) [9] y Stochastic Sub-gradient Descent for Primal Problem (Pegasos) [6]. DCD es un m´etodo batch que trata mediante un m´etodo iterativo de descenso coordinado de encontrar la soluci´on en el problema dual. En cambio Pegasos es un m´etodo online que resuelve el problema primal y en el que se alternan dos pasos, un m´etodo de descenso por subgradiente aproximado y una proyecci´on sobre un subconjunto.
La diferencia entre el aprendizaje batch y online es que en el aprendizaje batch el gradiente se calcula sobre el error muestral global; es decir, sobre toda la muestra En cambio en el aprendizaje online se calcula un gradiente local sobre el error muestral local; es decir, patr´on a patr´on. La ventaja del aprendizaje batch frente al online es que las condiciones de convergencia se entienden mejor. En cambio la ventaja del aprendizaje online es que generalmente es m´as r´apido.
Nuestro objetivo, por tanto es encontrar un m´etodo eficiente, es decir, que el tiempo empleado para entrenar no sea muy alto y adem´as tengamos una precisi´on razonable. Como hemos dicho antes, en esta secci´on vamos a estudiar dos de los principales algoritmos de las M´aquinas de Vectores Soporte, Dual Coordinate Descent Method (DCD) y Stochastic Sub-gradient Descent for Primal Problem (Pegasos).
2.1. El m´ etodo Dual Coordinate Descent (DCD)
Como ya se ha anunciado anteriormente, los problemas que encontramos en la vida real no tienen datos linealmente separables, haciendo necesario proyectarlos
19
mediante una funci´on no lineal φ(x) a un espacio de dimensionalidad superior. Sin embargo, se ha observado que cuando los datos est´an en un espacio de atributos de alta dimensionalidad, los resultados del algoritmo son parecidos con y sin proyecci´on, con la ventaja de que el tiempo de entrenamiento se reduce considerablemente. El m´etodo que vamos a describir a continuaci´on, Dual Coordinate Descent [9], parte de esa observaci´on para implementar su algoritmo.
Se trata de un algoritmo de descenso por coordenadas, que en cada iteracci´on minimiza un subproblema de una ´unica variable; adem´as resuelve el problema dual.
2.1.1. Algoritmo
DCD puede ser utilizado tanto en clasificaci´on como en regresi´on y en nuestros experimentos vamos a utilizarlo en los dos tipos de problemas. Aunque son parecidos, explicaremos el algoritmo para ambos casos.
Clasificaci´on
Nuevamente el problema que queremos resolver es el problema cl´asico de las M´aqui- nas de Vectores Soporte para clasificaci´on y cuya formulaci´on primal nos es conocida.
Por tanto, tenemos la funci´on objetivo 2.1.1
m´ınw
1
2wTw + C
l
X
i=1
ξ(w; xi, yi) (2.1.1)
sujeta a ciertas restricciones y donde ξ(w; xi, yi) es la funci´on de p´erdida.
Tras una serie de c´alculos, que hemos desarrollado en el cap´ıtulo 1 mediante la teor´ıa lagrangiana obtenemos el dual de la ecuaci´on del problema (2.1.1) como:
m´ınα f (α) = 12αTQα − eˆ Tα
s.t 0 ≤ αi ≤ U ∀i, (2.1.2)
donde ˆQ = Q + D, con D matriz diagonal y U = C, Dii = 0 en L1-SVM. Qi,j = yiyjxTi xj.
El algoritmo Dual Coordinate Descend (DCD) empieza con un punto inicial α0 ∈ Rl, tras lo que se genera una secuencia de vectores {αk}∞k=0.
Por tanto, en cada iteracci´on del algotimo necesitamosactualizar αk,i a αk,i+1, siendo αk,i= [αk+11 , ..., αk+1i−1, αki, ..., αkl], resolveremos el subproblema de una variable:
m´ın
d f (αk,i+ dei)
s.t 0 ≤ αk,i+ d ≤ U, (2.1.3)
donde ei = [0, ..,0, 1, 0, ..,0]T.
En este caso no tenemos la restricci´onP αixiyi = 0 como en SMO, y por tanto el tama˜no m´ınimo del subproblema elegido puede ser uno.
Podemos observar como la funci´on objetivo del problema 2.1.3 se puede reescribir como una funci´on cuadr´atica de d:
f (αk,i+ dei) = 1 2
Qˆiid2 + ∇if (αk,i)d + cte, (2.1.4) donde ∇if es la componente i del gradiente total de f , ∇f .
Por tanto, si derivamos e igualamos a cero la ecuaci´on (2.1.4), observamos que tiene un m´ınimo en d = −∇if (αˆ k,i)
Qii y la actualizaci´on en cada paso puede ser expresada como sigue:
αk,i+1i = m´ın(m´ax(αk,ii − ∇if (αk,i) Qˆii
, 0), U ),
si ˆQii > 0. Donde usamos el m´aximo y el m´ınimo para asegurarnos que 0 ≤ αk,i+1i =≤
C.
Por tanto el algoritmo se puede describir como sigue a continuaci´on:
Algorithm 1 DCD
Dado α y su correspodiente w =P
iyiαixi. Mientras α no sea ´optimo:
for n = 1 . . . l do
(1) G = yiwixi− 1 + Diiαi (2)
P G =
m´ın(G, 0) si αi = 0 m´ax(G, 0) si αi = U G si 0 < αi < U (3) Si |P G 6= 0|,
ˆ αi ← αi
αi ← m´ın(m´ax(αi − ˆG
Qii, 0), U ) w ← w + (αi− ˆαi)yixi
end for
En resumen, los principales c´alculos que debemos hacer para implementar el algoritmo son ˆQii y ∇if (αk,1), que vienen dados por las f´ormulas 2.1.5 y 2.1.6 res- pectivamente:
Qˆii= xTi xi (2.1.5)
∇if (αk,1) = ( ˆQα)i− 1 =
l
X
j=1
Qˆijαj − 1 =
l
X
j=1
yiyjxixjαj− 1. (2.1.6) Si ˆn es el n´umero de elementos no cero, el coste computacional para hacer cada evaluaci´on del n´ucleo es O(ˆn), entonces el coste para obtener la componente fila i de la matriz de n´ucleos ser´a O(lˆn).
Este coste computacional puede ser reducido en el caso de usar el n´ucleo lineal, ya que definimos w como:
w =
l
X
j=1
yjαjxj, (2.1.7)
y por tanto el gradiente de la f´ormula 2.1.6 viene dado por la f´ormula 2.1.8:
∇f (α) = yiwTxi− 1 + Diiαi. (2.1.8) Por tanto, si ˆn es de nuevo el n´umero de elementos no cero por patr´on, el coste principal del algoritmo para actualizar αi ser´a evaluar la ecuaci´on 2.1.8; este coste es O(ˆn) Adem´as, para calcular 2.1.8 debemos mantener el gradiente respecto a w y por tanto necesitaremos usar la ecuaci´on 2.1.7, siendo el coste total O(lˆn).
Sin embargo, si el valor actual es ˆαi y queremos obtener αi, podemos mantener w con la siguiente ecuaci´on:
w ← w + (αi− ˆαi)yixi (2.1.9) Por tanto, el coste computacional para mantener w por 2.1.9 se reduce a O(ˆn) y el n´umero de operaciones es O(ˆn) para calcular 2.1.8. Finalmente, el coste por iteraci´on, es decir, pasar de αk a αk+1 es O(lˆn).
Regresi´on
Como hemos explicado en la secci´on previa de SVR muchos problemas del mundo real no son de clasificaci´on sino de regresi´on y por tanto es importante obtener algoritmos que mejoren nuestros resultados para este tipo de problemas. Por esta raz´on vamos a desarrollar la teor´ıa dada para DCD en clasificaci´on para problemas de regresi´on. La idea para obtener el algoritmo DCD para regresi´on es tomada de [10].
Como en el caso anterior necesitamos resolver el siguiente problema de SVR.
m´ınw
1
2wTw + C
l
X
i=1
(ξ(w; xi, yi) + ˆξ(w; xi, yi)) (2.1.10)
sujeto a algunas restricciones donde ξ(w; xi, yi) and ˆξ(w; xi, yi) son las funciones de p´erdida. Para la ecuaci´on (2.1.10) el problema dual es:
m´ax
α 1 2
Pl
i,j( ˆαi− αi)( ˆαj − αj)xi· xj−Pl
iyi( ˆαi− αi) +Pl
i( ˆαi+ αi)
s.t P
i( ˆαi− αi) = 0 0 ≤ αi, ˆαi ≤ C,
(2.1.11)