algoritmo tipo smo para la ad-svm aplicado a …dcontard/tesis.pdf · la misma clase. en cualquier...

107
Universidad T´ ecnica Federico Santa Mar´ ıa Departamento de Inform´ atica Valpara´ ıso – Chile ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A CLASIFICACI ´ ON MULTICATEGOR ´ IA Tesis presentada como requerimiento parcial para optar al grado acad´ emico de MAG ´ ISTER EN CIENCIAS DE LA INGENIER ´ IA INFORM ´ ATICA y al t´ ıtulo profesional de INGENIERO CIVIL EN INFORM ´ ATICA por Diego Candel Contardo

Upload: others

Post on 01-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Universidad Tecnica Federico Santa Marıa

Departamento de Informatica

Valparaıso – Chile

ALGORITMO TIPO SMO PARA LA AD-SVM

APLICADO A CLASIFICACION

MULTICATEGORIA

Tesis presentada como requerimiento parcial

para optar al grado academico de

MAGISTER EN CIENCIAS DE LA INGENIERIA

INFORMATICA

y al tıtulo profesional de

INGENIERO CIVIL EN INFORMATICA

por

Diego Candel Contardo

Page 2: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector
Page 3: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector
Page 4: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector
Page 5: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Comision Evaluadora:

Dr. Hector Allende O. (Guıa, UTFSM)

Dr. Max Chacon P. (UTFSM)

Dr. Marcelo Mendoza R. (USACH)

14 DE ENERO DE 2011

i

Page 6: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Universidad Tecnica Federico Santa Marıa

Departamento de Informatica

Valparaıso – Chile

TITULO DE LA TESIS:

ALGORITMO TIPO SMO PARA LA AD-SVM

APLICADO A CLASIFICACION MULTICATEGORIA

AUTOR:

DIEGO CANDEL CONTARDO

Tesis presentada como requerimiento parcial para optar al grado academi-

co de Magıster en Ciencias de la Ingenierıa Informatica y al tıtulo

profesional de Ingeniero Civil en Informatica de la Universidad Tecnica

Federico Santa Marıa.

Dr. Hector Allende O.Profesor Guıa

Dr. Max Chacon P.Profesor Correferente

Dr. Marcelo Mendoza R.Profesor Externo

14 de Enero de 2011.

Valparaıso, Chile.

ii

Page 7: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Observa, escucha, calla. Juzga poco, pregunta mucho.

– August von Platen-Hallermunde

iii

Page 8: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Agradecimientos

A aquellas personas que aprecio y respeto (lo sepan o no), y que me ayudaron

(directa o indirectamente) a concluir con esta importante etapa de mi vida, a todas

ellas les doy gracias.

Valparaıso, Chile Diego Candel Contardo

14 de Enero de 2011

iv

Page 9: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Resumen

Las SVMs (Support Vector Machines o Maquinas de Soporte Vectorial) son un

tipo de maquinas de aprendizaje que se idearon en un inicio para tratar problemas de

clasificacion binaria. En la actualidad, se han realizado extensiones de las SVMs para

abarcar problemas de clasificacion con mas de dos clases. Recientemente se ha creado

una nueva SVM multi-categorıa mono-objetivo, denominada AD-SVM (All Distances

SVM o SVM de Todas las Distancias) que trabaja con un numero de restricciones que

escala linealmente con el numero de ejemplos y clases del problema a tratar.

A pesar de la escalabilidad que posee la AD-SVM, a la fecha no se han realizado

experimentos acabados para comparar su rendimiento frente a otras tecnicas de clasi-

ficacion multi-categorıa. Esto se debe principalmente a que la maquina carece de un

algoritmo eficiente de entrenamiento, por lo cual su ejecucion es extremadamente lenta

y consume recursos de memoria que no son abarcables si el tamano del problema es

muy grande, haciendo inviable la realizacion de experimentos de gran volumen.

Esta tesis tiene como fin abordar los siguientes objetivos: 1) Disenar un algoritmo

de entrenamiento para la AD-SVM capaz de competir en tiempo de ejecucion con los

utilizados en otras maquinas de clasificacion multi-categorica; 2) Realizar un estudio

experimental para comparar el desempeno de la AD-SVM frente a otras tecnicas de

clasificacion multi-categorıa.

Palabras Claves: Machine Learning, Support Vector Machines, Sequential Mini-

mal Optimization, Multi-category Classification.

v

Page 10: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Abstract

SVMs (Support Vector Machines) are a type of Learning Machines that were first

conceived to solve binary classification problems. Currently, there exist extensions of

these machines that can solve classification problems with more than two classes. Re-

cently, a new type of multi-class mono-objective SVM has been implemented, the AD-

SVM (All Distances SVM) that works with a number of restrictions that scales linearly

in the number of classes and examples of a problem.

Despite the scalability of the AD-SVM, to this date no vast experimental work

has been done to compare the performance of the AD-SVM against other multi-

classification techniques. This is principally due to the lack of an efficient training

algorithm. Because of this, its training process is extremely slow and spends memory

resources that are not tractable if the size of the problem is considerably large, making

unfeasible to process experiments of great volume.

This thesis has as purpose to fulfill the following objectives: design a training al-

gorithm for the AD-SVM capable to compete in execution time with other training

algorithms used in other multi-classification machines; apply an experimental study

upon the AD-SVM to compare its performance against other multi-classification tech-

niques.

Keywords: Machine Learning, Support Vector Machines, Sequential Minimal Op-

timization, Multi-category Classification.

vi

Page 11: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Indice de Contenidos

Agradecimientos IV

Resumen V

Abstract VI

Indice de Contenidos VII

Indice de Tablas IX

Indice de Figuras X

Abreviaciones y Nomenclatura XII

1. Introduccion 1

1.1. Clasificacion y SVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. SVMs Multi-categorıa y AD-SVM . . . . . . . . . . . . . . . . . . . . . 2

1.3. Problematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Estructura de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Estado del Arte 5

2.1. SVMs Binarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1. SVMs y Kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.2. Soft SVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.3. ν-SVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.4. Interpretacion geometrica de las SVMs . . . . . . . . . . . . . . 13

2.2. SVMs Multi-categorıa . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.1. SVMs Multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.2. SVMs Mono-objetivo . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.3. AD-SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3. Algoritmos de Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.1. Chunking y Algoritmos de Descomposicion . . . . . . . . . . . . 23

vii

Page 12: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

2.3.2. Sequential Minimal Optimization . . . . . . . . . . . . . . . . . 24

2.3.3. Estructura de un SMO . . . . . . . . . . . . . . . . . . . . . . . 25

3. Propuesta 32

3.1. Objetivos de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2. Diseno del Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.1. Criterio de Termino: KKT-conditions para la AD-SVM . . . . . 34

3.2.2. Derivacion del Paso de Optimizacion . . . . . . . . . . . . . . . 37

3.2.3. Estrategias de Seleccion . . . . . . . . . . . . . . . . . . . . . . 41

3.2.4. Sistema de Actualizacion . . . . . . . . . . . . . . . . . . . . . . 44

3.2.5. Algoritmo SMO para la AD-SVM . . . . . . . . . . . . . . . . . 44

4. Experimentos y Resultados 46

4.1. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2. Bases de Datos Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3. Estrategias de Seleccion . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.4. Evaluacion de Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.4.1. Comportamiento del Algoritmo v/s Tamano del Cache . . . . . 54

4.4.2. Comportamiento del Algoritmo v/s Tolerancia . . . . . . . . . . 56

4.4.3. Comportamiento del Algoritmo v/s Tamano del Problema . . . 60

4.5. Comparacion contra Tecnicas Actuales . . . . . . . . . . . . . . . . . . 63

4.5.1. Comparacion de Solvers: Generico v/s SMO . . . . . . . . . . . 63

4.5.2. Comparacion de Maquinas: MC-SVM v/s AD-SVM . . . . . . . 65

5. Conclusiones y Trabajo Futuro 69

5.1. Objetivos Cumplidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

A. English Translation of Demonstrations and Algorithms 72

A.1. KKT-Conditions for the AD-SVM and Stopping Criteria . . . . . . . . 73

A.2. Analytic Solution for two Multipliers . . . . . . . . . . . . . . . . . . . 76

A.3. Selection Strategy to choose the Active Variables . . . . . . . . . . . . 80

A.4. Update System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

A.5. SMO Algorithm for the AD-SVM . . . . . . . . . . . . . . . . . . . . . 83

Bibliografıa 84

viii

Page 13: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Indice de Tablas

4.1. Conjuntos de datos Originales . . . . . . . . . . . . . . . . . . . . . . . 47

4.2. Conjuntos de datos Modificados . . . . . . . . . . . . . . . . . . . . . . 48

4.3. Muestreos de Conjuntos de datos, MNIST . . . . . . . . . . . . . . . . 49

4.4. Resultados experimentos sobre Estrategias de Seleccion (Keerthi v/s Chen) 52

4.5. Resultados experimentos QuadProg v/s SMO . . . . . . . . . . . . . . 63

4.6. Resultados experimentos MC-SVM v/s AD-SVM . . . . . . . . . . . . 66

ix

Page 14: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Indice de Figuras

2.1. Problema Binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. Margen Optimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3. Truco de Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4. SVMs de Margen Suave . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5. ν-SVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.6. Interpretacion geometrica de SVMs . . . . . . . . . . . . . . . . . . . . 14

2.7. SVMs Multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.8. Enfoque multi-objetivo v/s mono-objetivo . . . . . . . . . . . . . . . . 19

2.9. All-Distances SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.10. Algoritmos de entrenamiento para las SVMs . . . . . . . . . . . . . . . 25

4.1. Comparacion de Resultados Keerthi et al v/s Chen et al, Precision . . 51

4.2. Comparacion de Resultados Keerthi et al v/s Chen et al, Tiempo . . . 53

4.3. Resultados de Experimentos: Tiempo de Entrenamiento v/s Tamano del

Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.4. Resultados de Experimentos: Tiempo de Entrenamiento v/s Tolerancia 57

4.5. Resultados de Experimentos: N◦de SVs v/s Tolerancia . . . . . . . . . 58

4.6. Resultados de Experimentos: Error de Clasificacion v/s Tolerancia . . . 59

4.7. Resultados de Experimentos: Tiempo de Entrenamiento v/s Tamano del

Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.8. Resultados de Experimentos: Error de Clasificacion v/s Tamano del Pro-

blema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.9. Resultados de Experimentos: Porcentage de Support Vectors v/s Ta-

mano del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

x

Page 15: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4.10. Comparacion de Resultados QuadProg v/s SMO, Precision . . . . . . . 64

4.11. Comparacion de Resultados QuadProg v/s SMO, Tiempo . . . . . . . . 65

4.12. Comparacion de Resultados MC-SVM v/s AD-SVM, Kernel Calls . . . 67

4.13. Comparacion de Resultados MC-SVM v/s AD-SVM, Precision . . . . . 68

xi

Page 16: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Abreviaciones y Nomenclatura

αij Resultado del producto punto entre el vector etiqueta yi y el vector eti-

queta yj. El valor de αij es igual a K − 1 si ambos ejemplos pertenecen a

la misma clase. En cualquier otro caso, αij vale −1. Ver pagina 22.

αir Resultado del producto punto entre el vector etiqueta yi y el vector eti-

queta asociado a la clase r. El valor de αir es igual a K − 1 si el ejemplo i

pertenece a la clase r. En cualquier otro caso, αir vale −1. Ver pagina 23.

βups , β

lows Valores que permiten verificar si las condiciones KKT estan siendo violadas

o no. Cuando no son violadas, se tiene que βlows ≤ βup

s , ∀s ∈ {1, . . . , K},donde βup

s = mın {Fl : l ∈ Iups }, βlow

s = max{

Fl : l ∈ Ilows

}. Ver pagina 36.

0 Vector nulo de dimensionalidad acorde al espacio en cuestion. Ver pagina 5.

kij Producto de Kernel entre los ejemplos xi y xj multiplicado por el producto

punto entre los vectores etiquetas yi e yj, o sea kij = (yi · yj) kij = αijkij.

Ver pagina 22.

K (·, ·) Funcion de Kernel que equivale a calcular el producto punto de dos vec-

tores mapeados a un espacio de mayor dimensionalidad que el espacio

caracterıstico original. Ver pagina 9.

kij Producto de Kernel entre los ejemplos xi y xj, o sea kij = K (xi,xj). Ver

pagina 10.

u Vector de multiplicadores de Lagrange de dimensionalidad m involucrado

en la definicion del dual del problema de las SVMs. Ver pagina 8.

xii

Page 17: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

vr Vector prototipo de la clase Cr. Se define como la combinacion convexa∑i∈Ir

uixi, en donde 0 ≤ ui ≤ 1, ∀i ∈ I y∑i∈Ir

ui = 1. Ver pagina 14.

w Vector normal al hiperplano separador involucrado en la formulacion de

una SVM binaria. Su dimensionalidad es n. Ver pagina 5.

wr Vector normal al hiperplano separador de la clase r involucrado en la for-

mulacion de la AD-SVM. Su dimensionalidad es n. Ver pagina 23.

xi Vector de caracterısticas del ejemplo i involucrado en el problema de cla-

sificacion. Su dimensionalidad es n. Ver pagina 5.

yi Vector etiqueta asociado al ejemplo i ∈ Ir en la definicion de una AD-SVM.

Es de dimensionalidad K. Todos sus elementos valen −1/K, excepto el

elemento numero r, el cual vale (K − 1)/K. Ver pagina 22.

Fl Gradiente de la funcion objetivo de la AD-SVM,1

4

∑i∈I

∑j∈I

uiujkij, con

respecto a ul. Fl =1

2

∑j∈I

ujklj. Ver pagina 35.

I0s, I

1s, I

2s Division de los ındices pertenecientes a la clase Cs en funcion de los valores

de los multiplicadores de Lagrange de cada ejemplo. Ver pagina 36.

Iups , I

lows Division de los ındices pertenecientes a la clase Cs realizado para deter-

minar si las condiciones KKT estan siendo violadas o no. Iups = I0

s ∪ I1s,

Ilows = I0

s ∪ I2s. Ver pagina 36.

µ Factor de regularizacion de una SVM con margen suave del tipo µ-SVM.

Puede adoptar valores dentro del dominio [1/ms, 1]. Ver pagina 17.

µ-SVM SVM binaria de margen suave. Utiliza el factor de regulacion µ en su

formulacion. Es equivalente a la ν-SVM. Ver pagina 16.

ν Factor de regulacion de una SVM con margen suave del tipo ν-SVM. Puede

adoptar valores dentro del dominio [0, νmax]. Ver pagina 12.

xiii

Page 18: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

ν-SVM SVM binaria de margen suave. Utiliza el factor de regularizacion ν en su

formulacion. Ver pagina 12.

νmax Valor maximo que puede adoptar el factor de regulacion ν en un problema

dado. Esta definido como νmax = 2ms/m. Ver pagina 12.

ξi Variable de holgura del ejemplo i involucrada en la definicion del primal

de una SVM de margen suave. Ver pagina 11.

b Desplazamiento desde el origen del hiperplano separador involucrado en la

formulacion de una SVM binaria. Ver pagina 5.

br Desplazamiento desde el origen del hiperplano separador de la clase r in-

volucrado en la formulacion de la AD-SVM. Ver pagina 23.

C Factor de regulacion de una SVM con margen suave del tipo C-SVM.

Puede adoptar valores dentro del dominio [0,∞). Ver pagina 11.

C-SVM SVM binaria de margen suave. Utiliza el factor de regulacion C en su

formulacion. Ver pagina 11.

D(u) Formulacion del dual de una SVM en terminos de los multiplicadores de

Lagrange. Ver pagina 8.

Fl Gradiente de la funcion objetivo de la µ-SVM,1

4

∑i∈I

∑j∈I

uiujyiyjkij, con

respecto a ul. Fl =1

2

∑j∈I

ujylyjklj. Ver pagina 27.

Hr Envoltura convexa que envuelve los ejemplos de la clase Cr. Ver pagina 13.

I Conjunto de todos los ındices: I = {1, . . . ,m}. Ver pagina 6.

Ir Conjunto de todos los ındices de los ejemplos pertenecientes a la clase Cr:

Ir = {i ∈ Ir : xi ∈ Cr}. Ver pagina 14.

K Numero de clases involucrado en un problema de clasificacion multi-categorıa.

Ver pagina 21.

xiv

Page 19: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

m Numero de ejemplos o puntos de entrenamiento en un problema de clasi-

ficacion. Ver pagina 5.

ms Tamano de la clase con menos ejemplos de entrenamiento del problema

(binario o multi-categorıa) que se quiere resolver. Ver pagina 12.

n Dimensionalidad (numero de dimensiones) del espacio caracterıstico del

problema de clasificacion. Ver pagina 5.

p Numero mınimo de ejemplos que deben participar en la combinacion con-

vexa de una clase (numero de multiplicadores de Lagrange que deben tener

un valor mayor que cero en una clase) al construir una µ-SVM. Su valor

es d1/µe. Ver pagina 15.

P{w,b} Formulacion del primal de una SVM en terminos del vector normal al

hiperplano y de su desplazamiento desde el origen. Ver pagina 7.

yi Etiqueta del ejemplo i que indica a que clase pertenece dicho ejemplo en

un problema de clasificacion binaria. Puede adoptar los valores −1 y +1.

Ver pagina 6.

LRU Least Recently Used Cache Strategy. Estrategia de almacenamiento de

cache que descarta los elementos menos recientemente utilizados cuando

ya no queda espacio para almacenar nuevos elementos. Ver pagina 44.

oao-SVM one against one SVM o SVM uno contra uno. SVM multi-categorıa multi-

objetivo que utiliza una SVM binaria por cada par de clases. Ver pagina 17.

oar-SVM one against the rest SVM o SVM uno contra el resto. SVM multi-categorıa

multi-objetivo que utiliza una SVM binaria por cada clase para separar

dicha clase del resto de los ejemplos. Ver pagina 17.

AD-SVM All-Distances SVM o SVM de Todas las Distancias. SVM multi-categorıa

mono-objetivo que se formula al encontrar los prototipos de las envolturas

convexas de cada clase que minimizan la suma de las distancias entre los

K(K − 1)/2 pares de clases del problema. Ver pagina 21.

xv

Page 20: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

BSVs Boundary Support Vectors o Vectores de Soporte de la Frontera. Son aque-

llos vectores involucrados en la formulacion de las µ-SVMs que tienen un

multiplicador de Lagrange ui con valor igual a µ. Estos vectores se encuen-

tran dentro del margen generado por la SVM. Ver pagina 16.

KKT KKT-conditions, Karush-Kuhn-Tucker conditions, condiciones KKT o con-

diciones de Karush-Kuhn-Tucker. Son restricciones necesarias y suficientes

que se deben cumplir para encontrar la solucion optima de un problema

de optimizacion cuadratico convexo con restricciones de desigualdad. Ver

pagina 26.

MC-SVM Multi-category SVM o SVM Multi-categorıa. SVM multi-categorıa mono-

objetivo disenada por Crammer & Singer. Su formulacion se deriva de

reducir el error empırico de clasificacion explıcitamente. Ver pagina 19.

SMO Sequential Minimal Optimization u Optimizacion Secuencial Mınima. Es

una familia de solvers para entrenar SVMs que se caracterizan por optimi-

zar el valor de dos multiplicadores de Lagrange a la vez de forma analıtica.

Ver pagina 3.

SVM Support Vector Machine o Maquina de Soporte Vectorial. Tiene como fi-

nalidad clasificar elementos de dos distintas categorıas mediante el uso de

un hiperplano separador en un espacio caracterıstico. Utiliza los vectores

mas cercanos entre ambas clases para definir el hiperplano separador (estos

vienen a ser los vectores de soporte de la maquina). Ver pagina 2.

SVs Support Vectors o Vectores de Soporte. Son aquellos ejemplos involucrados

en la formulacion de la SVM que tienen un multiplicador de Lagrange ui

con valor mayor que cero. Ver pagina 8.

xvi

Page 21: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Capıtulo 1

Introduccion

1.1. Clasificacion y SVMs

En diversas areas de la informatica teorica y practica, la tarea de la clasificacion

emerge como un problema recurrente, ya sea para actividades cotidianas, como filtrado

automatico de correo spam, o para situaciones mas cruciales, como la identificacion de

tumores en el cuerpo de pacientes, pasando por usos practicos de biometrıa (reconoci-

miento retinal, de huellas digitales o facial), astrofısica (reconocimiento de exoplanetas),

clasificacion en textos (clasificacion de documentos o reconocimiento de sımbolos), en-

tre otros. En todos estos casos, se trata de identificar a que clase pertenece un elemento

dado a partir de sus caracterısticas medibles o categorizables.

Existen varios enfoques que abordan este tipo de problemas, siendo uno de ellos

las maquinas de aprendizaje con aprendizaje supervisado. La idea principal detras de

estas tecnicas es utilizar la informacion provista por un conjunto de datos (llamado

conjunto de entrenamiento) para generar funciones de decision capaces de clasificar

automaticamente cada dato en las distintas categorıas que contiene el problema. Los

ejemplos que contiene el conjunto de entrenamiento tienen la particularidad de que han

sido previamente etiquetados con la clase a la cual pertenecen, por lo que la maquina

de aprendizaje puede evaluar cuantos ejemplos clasifico bien y cuantos clasifico mal y

ası corregir la funcion de clasificacion para generar una mejor. Este proceso de verifi-

cacion y correccion en base a ejemplos etiquetados es el que denomina que la maquina

sea de aprendizaje supervisado.

1

Page 22: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Entre las maquinas de aprendizaje mas populares aplicadas a la clasificacion estan

las Support Vector Machines (abreviadas como SVMs) o Maquinas de Soporte Vec-

torial, las cuales basicamente funcionan mapeando las distintas caracterısticas de los

elementos que se desean clasificar a un espacio vectorial, en el cual trazan un hiper-

plano que separa los vectores de una clase de los del resto. Las SVMs son bastante

populares porque tienen un funcionamiento relativamente sencillo, asociado a una se-

rie de propiedades teoricas y practicas bastante atractivas [Vap95, HSS08], ademas de

que pueden ser modificadas con facilidad para abordar problemas con data que no es

separable linealmente o que contiene mucho ruido en sus datos.

1.2. SVMs Multi-categorıa y AD-SVM

Una de las limitaciones de las SVMs clasicas consiste en que estan pensadas sola-

mente para resolver problemas de 2 clases, mientras que en la practica no es raro en-

contrarse con problemas que tengan 3 o mas categorıas. Para sortear este impedimento,

a lo largo de los anos se han propuesto diversas alternativas para extender el uso de las

SVMs a problemas de 3 o mas clases, siguiendo 2 aristas principales: 1) Las estrategias

del tipo multi-objetivo, las cuales hacen uso de un conjunto de varias SVMs binarias;

2) Las estrategias del tipo mono-objetivo las cuales derivan una maquina similar a la

SVM que sea capaz de generar diversos hiperplanos de separacion simultaneamente.

A pesar de que las estrategias del tipo multi-objetivo implican la creacion de un

mayor numero de maquinas y un mayor numero de parametros que ajustar, su adopcion

ha sido mucho mayor que la de las mono-objetivo. Esto se debe a que la mayorıa de

las maquinas implementadas utilizando la segunda estrategia utilizan una cantidad

de restricciones mucho mayor, en comparacion a las que maneja una SVM binaria,

por lo cual, a pesar de ser una sola la maquina que se necesita entrenar para un

problema de K clases, en la practica su entrenamiento se demora mucho mas de lo

que tardan las multiples SVMs binarias, siendo el crecimiento de las mono-objetivo

del orden cuadratico O(K ∗ m) (donde m es el numero de ejemplos utilizados en el

entrenamiento), mientras que el de las multi-objetivo rodea el orden lineal O(m).

2

Page 23: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Esta diferencia en el numero de restricciones entre SVMs multi-objetivo y mono-

objetivo se ha visto reducida en los ultimos anos con la creacion de una nueva SVM

mono-objetivo, denominada All Distances SVM (AD-SVM) o SVM de la suma de

Todas las Distancias. La diferencia mayor entre la AD-SVM y las otras SVMs mono-

objetivo, es que la AD-SVM deriva su diseno desde un enfoque geometrico, en vez

de uno netamente regulador. Ası, mientras que el resto de las SVMs mono-objetivo se

preocupa de que cada ejemplo de entrenamiento se encuentre debidamente separado, la

AD-SVM se enfoca en separar correctamente las envolturas convexas que encapsulan a

cada clase, obviando de esta manera algunas restricciones que asume son redundantes,

rebajandolas a un valor dentro del orden de O(2m+K).

1.3. Problematica

En la actualidad, la AD-SVM existe como una propuesta teorica cuyas capacidades

todavıa no han sido probadas a cabalidad en la practica. Esto se debe a que no existe

un algoritmo de entrenamiento adecuado para entrenar a la AD-SVM. A la fecha,

solamente se han podido emplear algoritmos de programacion cuadratica genericos para

entrenar a la AD-SVM, los cuales son eficientes para resolver una gama bastante amplia

de problemas, pero a la hora de ser aplicados al entrenamiento de SVMs consumen una

cantidad de tiempo y recursos que se hacen inmanejables a medida que crece el tamano

del problema.

Debido a esto, los experimentos que se han llevado a cabo para probar las capaci-

dades de la AD-SVM son bastante pocos y de problemas considerablemente pequenos

(no mas de 500 ejemplos).

¿Pero como lo hacen las otras SVMs? Las SVMs binarias tradicionales utilizan

algoritmos del tipo Sequential Minimal Optimization (SMO, traducibles como optimi-

zacion secuencial mınima) o algoritmos tipo Fixed-Point (de punto fijo). Las SVMs

multi-objetivo simplemente reutilizan estos mismos algoritmos para entrenar las di-

versas SVMs binarias que usan, mientras que las SVMs mono-objetivo extienden o

modifican los mismos algoritmos para ajustarlos a las necesidades de sus maquinas

extendidas. Como la AD-SVM surge de una naturaleza distinta que las otras SVMs

3

Page 24: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

mono-objetivo, sus algoritmos de entrenamiento no se pueden reutilizar directamente

para su propio funcionamiento. Pasa lo mismo con los algoritmos tradicionales de las

SVMs binarias, no son directamente aplicables al diseno de la AD-SVM.

De todo lo anterior, surge la problematica o necesidad de disenar un algoritmo de

entrenamiento, similar en desempeno al de las otras SVMs, para la AD-SVM.

1.4. Estructura de la Tesis

Esta tesis esta organizada de la siguiente manera: En el capıtulo 2 se describen el

diseno y funcionamiento de las SVMs tradicionales, las SVMs multi-categorıa multi-

objetivo y mono-objetivo, el diseno de la AD-SVM y los principales algoritmos de

entrenamiento de las SVMs tradicionales; En el capıtulo 3 se establecen las hipotesis

de la tesis, se propone el algoritmo de entrenamiento para la AD-SVM, derivando su

paso de optimizacion a partir de su modelo y disenando el algoritmo de entrenamiento;

En el capıtulo 4 se describen los experimentos realizados para evaluar distintas imple-

mentaciones del algoritmo, probar las cualidades del mismo, comparar su desempeno

con el algoritmo anteriormente utilizado para el entrenamiento de la AD-SVM y con-

trastar el desempeno de la AD-SVM entrenada con el algoritmo propuesto con respecto

a la maquina alternativa mono-objetivo, describiendo los resultados obtenidos en cada

caso; Finalmente en el capıtulo 5 se hace un analisis de los resultados obtenidos, se ve-

rifica si se han cumplido o refutado las hipotesis propuestas y se plantean conclusiones

acerca de la tesis.

4

Page 25: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Capıtulo 2

Estado del Arte

2.1. SVMs Binarias

Las SVMs Binarias [CV95] son Maquinas de Aprendizaje Supervisado enfocadas a

clasificar elementos que pueden pertenecer a una de dos categorıas, como se muestra

en la figura 2.1a. Dado que se tiene un conjunto de ejemplos, compuestos de una serie

de caracterısticas y una etiqueta que establece a cual de las dos clases pertenece cada

ejemplo, la idea principal detras de las SVMs es disponer a los ejemplos en un espacio

vectorial y trazar un hiperplano que deje a todos los elementos de una clase a un lado

del hiperplano y los pertenecientes a la otra clase, en el otro lado. Una descripcion

mas formal del metodo se puede describir de la siguiente manera: Supongase que se

dispone de un conjunto de ejemplos S = {x1,x2, . . . ,xm}, todos pertenecientes a un

espacio caracterıstico S ⊂ X ⊆ Rn, algunos de los cuales pertenecen a la clase C− y los

restantes, a la clase C+. El fin de la SVM Binaria consiste en construir un hiperplano

H = {x ∈ X : w · x + b = 0} con parametros w ∈ X \ {0}, b ∈ R, tal que se cumplan

dos condiciones:

1. Los ejemplos de la clase C− deben quedar a un lado del hiperplano (C− = {xi ∈X : w · xi + b < 0}), y los de la clase C+, en el otro lado del hiperplano (C+ =

{xi ∈ X : w · xi + b > 0});

2. El margen ρ del hiperplano, definido como dos veces la distancia desde el hiper-

plano hasta el (o los) ejemplo(s) mas cercano(s) a este, debe tener ancho maximo.

5

Page 26: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Matematicamente, ρ se puede definir como

ρ = arg max{w}2yj(w · xj + b)

‖w‖

sujeto a j = arg mın{i}2yi(w · xi + b)

‖w‖, ∀i ∈ I.

Donde yi ∈ {−1,+1} es la etiqueta que indica a que clase pertenece el ejemplo i y

donde I = {1, 2, . . . ,m} es el conjunto de ındices de todos los ejemplos del problema.

Si se normaliza w de tal forma que el producto punto de dicho vector con aquellos

ejemplos mas cercanos al hiperplano de igual a ±1 (el signo dependiendo de la clase),

entonces el margen se puede definir como ρ = 2/ ‖w‖.

(a) (b)

Figura 2.1 – Problema Binario: En 2.1a se muestra un problema de clasificacion binaria,

mientras que en 2.1b se presentan varias posibles soluciones de hiperplanos separadores

Notese que, descartando algunos pocos casos, cuando el problema es linealmente

separable (cuando efectivamente es posible trazar un hiperplano que separe correc-

tamente las dos clases), existen infinitos hiperplanos que pueden ser elegidos (en la

figura 2.1b se pueden apreciar algunas soluciones de ejemplo al problema mostrado en

la figura 2.1a). Es la segunda condicion la que acota la eleccion al hiperplano opti-

mo, como se muestra en la figura 2.2. Matematicamente, la formulacion del hiperplano

puede ser definida como:

6

Page 27: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

(a) (b)

Figura 2.2 – Margen Optimo: En la figura 2.2a se muestra el hiperplano de mayor mar-

gen que separa correctamente ambas clases. En la figura 2.2b se muestran los elementos

involucrados en la formulacion matematica de dicho hiperplano.

P{w,b} : minimizar1

2‖w‖2 , (2.1.1)

sujeto a yi (w · xi + b) ≥ 1, ∀i ∈ I, (2.1.2)

Con este modelo, uno puede construir una funcion de decision para clasificar futuros

ejemplos:

f(x) = signo (w · x + b) . (2.1.3)

La funcion f(x) entregara entonces el signo de la clase a la que pertenece el nuevo

ejemplo x. En la figura 2.2b se puede apreciar que todos los vectores a la derecha del

hiperplano gris daran un valor −1 al ser evaluados por la funcion f(x), mientras que

los vectores a la izquierda daran un valor igual a +1.

Algunos autores proponen resolver este problema directamente en el primal [Cha07]

(es decir, abordando directamente P{w,b}), pero lo que habitualmente se hace es utilizar

la tecnica de los multiplicadores de Lagrange y resolver el problema en el dual [SS01].

Por medio de este metodo, el problema queda expresado como:

7

Page 28: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

minimizar{u} D(u) =1

2

∑i∈I

∑j∈I

uiujyiyjxi · xTj −∑i∈I

ui, (2.1.4)

sujeto a ui ≥ 0, ∀i ∈ I, (2.1.5)∑i∈I

uiyi = 0. (2.1.6)

Aquellos vectores que tienen un multiplicador de Lagrange ui con valor mayor que

cero se denominan Support Vectors (SVs) o Vectores de Soporte Vectorial. Estos son

los que definen al hiperplano separador y los lımites de su margen. En la figura 2.2, los

SVs estan simbolizados como cırculos de relleno blanco. Como se puede intuır, los SVs

suelen componer una fraccion pequena del total de los ejemplos del problema.

2.1.1. SVMs y Kernels

En muchas ocasiones, los ejemplos que componen la data de entrada viven en un

espacio que no es linealmente separable, pero que guardan una estructura que perfecta-

mente podrıa soportar una frontera de otro tipo. En tales casos, lo que se puede hacer

es aplicar una transformacion Φ(·) a los ejemplos en el espacio de entrada la cual los

traslada a un espacio de mayor dimensionalidad (denominado espacio caracterıstico),

en los cuales un hiperplano separador sı sea capaz de dividir las dos clases implicadas

en el problema. Utilizando esta ideal, el primal se reformularıa de la siguiente forma:

P{w,b} : minimizar1

2‖w‖2 , (2.1.7)

sujeto a yi (w,Φ(xi) + b) ≥ 1, ∀i ∈ I. (2.1.8)

Si bien, esta estrategia es viable en la mayorıa de los casos, existe un metodo

alternativo, llamado Kernel Trick (Truco del Kernel) que es menos costoso y no tiene

que lidiar con el problema de espacios de alta o incluso infinita dimensionalidad. El

Kernel Trick consiste en utilizar una funcion de Kernel que calcula directamente el

producto interno entre dos vectores del espacio caracterıstico en un espacio de mayor

dimensionalidad, sin necesidad de realizar el mapeo a dicho espacio. Dicha funcion

8

Page 29: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Figura 2.3 – Truco de Kernel: El producto de Kernel resume en un paso lo que se tendrıa

que reproducir con una transformacion a un espacio vectorial de mayor dimensionalidad,

un producto punto en dicho espacio y una proyeccion posterior al espacio vectorial

original

de Kernel debe necesariamente ser una funcion simetrica positiva semi-definida [SS01,

HSS08]. En la figura 2.3 se ejemplifica graficamente la idea del Kernel Trick.

Para hacer uso de este metodo en las SVMs solo se debe realizar el reemplazo de los

producto puntos xi · xj por la funcion de Kernel deseada K (w,xi) en la formulacion

dual de la maquina:

minimizar{u} D(u) =1

2

∑i∈I

∑j∈I

uiujyiyjkij −∑i∈I

ui, (2.1.9)

sujeto a ui ≥ 0, ∀i ∈ I, (2.1.10)∑i∈I

uiyi = 0, (2.1.11)

9

Page 30: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

donde kij = K (xi,xj) = Φ(xi) · Φ(xj). En adelante, se utilizara la funcion de Kernel

en reemplazo del producto punto, ya que, al ser el mismo producto punto un tipo de

Kernel, esta funcion es una forma mas general de abarcar todos los casos.

2.1.2. Soft SVMs

Hay situaciones en las que la naturaleza de los datos es intrınsecamente ruidosa, lo

que repercute en que los ejemplos de ambas clases se mezclen mucho en la frontera.

Si bien, el uso de Kernels puede lograr separar los vectores de ambas clases correcta-

mente, la capacidad de generalizacion de la maquina puede verse comprometida por el

problema de sobreaprendizaje [SS01]. En terminos practicos, esto significa que la SVM

entrenada es muy buena clasificando aquellos ejemplos con los que fue entrenada, pero

tiene una tasa de error muy alta clasificando nuevos patrones.

(a) (b)

Figura 2.4 – SVMs de Margen Suave: En 2.4a se muestra una SVM utilizando una

funcion de Kernel para clasificar correctamente todos los ejemplos de entrenamiento,

mientras que en 2.4b se presenta una SVM lineal de margen suave. Rodeados de naranjo

se muestran los ejemplos mal clasificados. La flecha indica un posible futuro punto a

clasificar.

En estos casos, es aconsejable sacrificar la correcta clasificacion de algunos cuantos

datos de entrenamiento con tal de lograr una mejor capacidad de la generalizacion de la

10

Page 31: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

SVM frente a nuevos patrones. En este contexto entra en juego el concepto de Margen

Suave, el cual consiste en permitir un margen mas ancho que el optimo, permitiendo

que hayan vectores de ambas clases dentro de este o al lado incorrecto de la frontera.

La primera implementacion de SVM que utilizo este concepto fue la llamada C-SVM,

la cual tiene un factor de regularizacion C y variables de holgura ξi en la definicion de

su funcion objetivo:

P{w,b,ξ} : minimizar1

2‖w‖2 + C

∑i∈I

ξi, (2.1.12)

sujeto a yi (w · Φ (xi) + b) ≥ 1− ξi, ∀i ∈ I, (2.1.13)

ξi ≥ 0, ∀i ∈ I. (2.1.14)

La interpretacion del termino C puede entenderse como el grado de importancia

que la maquina tiene en clasificar bien cada uno de los vectores, versus la importancia

que tiene en lograr el margen mas ancho posible. Entre mayor sea el valor de C, mas

importancia le da a la clasificacion y menos al tamano del margen. Cuando C → ∞,

la C-SVM tiende a comportarse como una SVM Binaria clasica. Cuando C = 0, la

C-SVM genera su margen sin preocuparse en la clasificacion de los datos. El dual de

esta maquina deriva en el siguiente modelo:

minimizar{u} D(u) =1

2

∑i∈I

∑j∈I

uiujyiyjki,j −∑i∈I

ui, (2.1.15)

sujeto a 0 ≤ ui ≤ C, ∀i ∈ I, (2.1.16)∑i∈I

uiyi = 0. (2.1.17)

2.1.3. ν-SVMs

Si bien, la C-SVM logra franquear el problema del sobre-entrenamiento, elegir el

valor optimo de C se hace algo difıcil, ya que este no tiene una interpretacion directa de

cuanto error de clasificacion se tranza por que grado de generalizacion. En [SSWB00],

Scholkopf y Smola propusieron la ν-SVM, una modificacion de la C-SVM, la cual

reemplaza el termino C por ν, el cual tiene doble funcion: por un lado, establece

11

Page 32: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

una cota superior del error de entrenamiento (fraccion de los ejemplos que son mal

clasificados), y por otro lado define una cota inferior de la fraccion de vectores que

deben estar en el margen. En la figura 2.5 se puede apreciar un ejemplo mostrando las

propiedades del parametro ν.

Figura 2.5 – ν-SVMs: En la figura se muestra un mismo problema separado de 8 formas

diferentes con margenes generados por ν-SVMs con distintos valores para ν. En el caso

de la SVM superior izquierda, se utilizo un valor ν = 0.1, mientras que en la inferior

derecha se utilizo ν = 0.8. La funcion de Kernel utilizada corresponde a la guassiana

K (xi,xj) = exp(−‖xi − xj‖2). Fuente: [SS01].

Si la funcion de Kernel usada por la ν-SVM es definida positiva, los valores que

puede adoptar ν estan acotados al dominio [0, νmax], en donde νmax = 2ms/m y donde

ms es el tamano de la clase con menos ejemplos de entrenamiento del problema. El

primal de la maquina es:

P{w′,b′,ξ′,ρ′} : minimizar1

2‖w′‖2 − νρ′ + 1

m

∑i∈I

ξ′i, (2.1.18)

sujeto a yi (w′ · Φ (xi) + b′) ≥ ρ′ − ξ′i, ∀i ∈ I, (2.1.19)

ξ′i ≥ 0, ∀i ∈ I, (2.1.20)

ρ′ ≥ 0. (2.1.21)

12

Page 33: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

El parametro a optimizar ρ′ tiene una interpretacion geometrica, la cual consiste

en definir el margen 2ρ′/ ‖w′‖ que separarıa a las dos clases, suponiendo que todas las

variables ξ′i valieran 0. El dual de la ν-SVM queda definido como:

minimizar{u′} D(u′) =1

2

∑i∈I

∑j∈I

u′iu′jyiyjkij, (2.1.22)

sujeto a 0 ≤ u′i ≤1

m, ∀i ∈ I, (2.1.23)∑

i∈I

u′iyi = 0, (2.1.24)∑i∈I

u′i ≥ ν. (2.1.25)

En [CL01b], Chang y Lin demuestran que la restriccion (2.1.25) es redundante, y

explican que, de existir un optimo para el problema dado, este se encontrara en la

igualdad de la restriccion. Tomando esto en consideracion, el modelo queda como:

minimizar{u′} D(u′) =1

2

∑i∈I

∑j∈I

u′iu′jyiyjkij, (2.1.26)

sujeto a 0 ≤ u′i ≤1

m, ∀i ∈ I, (2.1.27)∑

i∈I

u′iyi = 0, (2.1.28)∑i∈I

u′i = ν. (2.1.29)

2.1.4. Interpretacion geometrica de las SVMs

Ademas de la vision tradicional de interpretar la SVM como un margen del hiper-

plano que separa a los ejemplos de las distintas clases, existe una forma alternativa de

abordar el problema, forma que resulta ser equivalente a la tradicional. Dicha forma,

comunmente denominada como vision geometrica de las SVMs [BB97, BB00, CB00],

consiste en considerar las envolturas convexas de ambas clases H− y H+, trazar el

segmento que une los puntos v− y v+ mas cercanos de dichas envolturas y situar el

hiperplano separador en la mitad del segmento.

13

Page 34: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

(a) (b)

Figura 2.6 – Interpretacion geometrica de SVMs: En 2.6a se muestran las envolturas

convexas que rodean a ambas clases en el problema mostrado por la figura 2.1a. El

hiperplano que divide por la mitad al segmento que une los puntos mas cercanos entre

ambas envolturas coincide a aquel generado con una SVM binaria tradicional. En 2.6b

se muestra un caso en donde las envolturas convexas de las clases se sobreponen. En

este caso no tiene sentido trazar el segmento que une a estas envolturas, pero sı aquel

que separa a las envolturas convexas reducidas. El concepto de envolturas convexas es

similar al de margenes suaves mostrado en la figura 2.4b.

Los puntos v− y v+ que unen al segmento se denominan prototipos de las clases C−

y C−. Ambos son combinaciones convexas de sus respectivas envolturas, por lo cual se

pueden definir como una suma ponderada de los puntos que pertenecen a cada clase:

minimizar{u} D(u) = ‖v+ − v−‖ , (2.1.30)

sujeto a vr =∑i∈Ir

uixi, r ∈ {−,+} , (2.1.31)

∑i∈Ir

ui = 1, r ∈ {−,+} , (2.1.32)

0 ≤ ui ≤ 1, ∀i ∈ I. (2.1.33)

Donde Ir = {i ∈ Ir : xi ∈ Cr} es el conjunto de todos los ındices de los ejemplos

pertenecientes a la clase Cr.

14

Page 35: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

En caso de que el ruido sea tal que los datos de una y otra clase se mezclen,

produciendo que las envolturas convexas se traslapen, la idea de buscar el segmento de

menor distancia que las une pierde sentido. En estos casos entra en juego la nocion

de envolturas reducidas: en vez de considerar la envoltura que abarca a todos los

puntos de una clase, la combinacion convexa se puede restringir para que se considere

una envoltura convexa que abarque solo una porcion de dichos datos. Esto se logra

restringiendo el valor al cual pueden optar los elementos ui de la combinacion a un

maximo de µ, donde p = d1/µe viene a ser el numero mınimo de ejemplos que deben

participar en la combinacion convexa de su clase con un valor de ui distinto de cero.

En la figura 2.6 se puede apreciar el concepto de envolturas convexas, la forma en que

definen el hiperplano separador y como se forman las envolturas convexas reducidas.

minimizar{u} D(u) =

∥∥∥∥∥∥∑i∈I+

uixi −∑i∈I−

uixi

∥∥∥∥∥∥ , (2.1.34)

sujeto a∑i∈Ir

ui = 1, r ∈ {−,+} , (2.1.35)

0 ≤ ui ≤ µ, ∀i ∈ I. (2.1.36)

Desarrollando un poco mas la funcion objetivo del modelo, esta puede expresarse

de la siguiente manera:

minimizar{u} D(u) =1

4

∑i∈I

∑j∈I

uiujyiyjkij, (2.1.37)

sujeto a∑i∈Ir

ui = 1, r ∈ {−,+} , (2.1.38)

0 ≤ ui ≤ µ, ∀i ∈ I. (2.1.39)

Notese que la restriccion (2.1.38) puede expresarse en dos restricciones similares

a las mostradas en (2.1.28) y (2.1.29) como se aprecia a continuacion con (2.1.41)

y (2.1.42):

15

Page 36: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

minimizar{u} D(u) =1

4

∑i∈I

∑j∈I

uiujyiyjkij, (2.1.40)

sujeto a∑i∈I

uiyi = 0, (2.1.41)∑i∈I

ui = 2, (2.1.42)

0 ≤ ui ≤ µ, ∀i ∈ I. (2.1.43)

Bajo este contexto, aparece el concepto de Boundary Support Vectors (BSVs) o Vec-

tores de Soporte de la Frontera. Los BSVs vienen a ser todos aquellos vectores cuyo

multiplicador de Lagrange tiene un valor igual a µ. Estos vectores se encuentran dentro

del margen generado por la SVM. Este concepto tambien esta presente en la formula-

cion de las C-SVMs y las ν-SVMs.

En [CB00], Crisp y Burges establecen el primal de este modelo:

P{w,b,ξ,ρ} : minimizar1

2‖w‖2 − ρ+ µ

∑i∈I

ξi, (2.1.44)

sujeto a yi (w · Φ (xi) + b) ≥ ρ− ξi, ∀i ∈ I, (2.1.45)

ξi ≥ 0, ∀i ∈ I, (2.1.46)

ρ ≥ 0. (2.1.47)

Adicionalmente demuestran que, tanto el primal como el dual de la µ-SVM son

equivalentes a sus correspondientes modelos de la ν-SVM, mediante la siguiente trans-

formacion de variables:

µ =2

ν ·m, w =

w′

ν, b =

b′

ν, ρ =

ρ′

ν, ξi =

ξ′iν, ui = u′i ·m. (2.1.48)

Con esto, se puede apreciar que el factor de regularizacion µ puede adoptar valores

del dominio [1/ms, 1]. El valor inferior que puede adoptar µ tambien tiene una inter-

pretacion geometrica: si µ tuviera un valor menor que 1/ms, se estarıa exigiendo que

el numero mınimo de ejemplos que deben participar en la combinacion convexa de la

16

Page 37: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

clase mas pequena sea p = d1/µe > ms, lo cual equivale a reducir su envoltura convexa

a un (hiper-)volumen menor que el de un punto en el espacio. La restriccion 2.1.38 no

se puede cumplir para la clase mas pequena bajo estas condiciones, lo que repercute

en un espacio de solucion nulo para el problema (no existe solucion factible).

2.2. SVMs Multi-categorıa

Como se ha visto hasta el momento, las SVMs en su forma original no son direc-

tamente aplicables a problemas de clasificacion con mas de 2 categorıas. Existen dos

enfoques que sirven para extender su funcionamiento a los problemas multi-clase:

El enfoque multi-objetivo: utilizar varias SVMs binarias en conjunto, o

El enfoque mono-objetivo: modificar la estructura de la SVM para que una sola

maquina sea capaz de separar mas de dos clases simultaneamente.

2.2.1. SVMs Multi-objetivo

El enfoque multi-objetivo es el mas utilizado al momento de extender las SVMs

a problemas multi-categorıa, siendo las implementaciones de Uno contra el Resto

(one against the rest o oar-SVM) y Uno contra Uno (one against one o oao-SVM)

sus exponentes mas conocidos. El metodo Uno contra el Resto consiste en implementar

un numero K de SVMs, en donde la r-esima SVM esta encargada de separar a los

elementos de la clase r del resto de los ejemplos. Por otro lado, el metodo Uno contra

Uno crea K(K − 1)/2 SVMs, una para cada par de clases. En la figura 2.7 se puede

apreciar un problema multi-categorıa resuelto por una oao-SVM y por una oar-SVM.

Si bien, la oao-SVM crea un mayor numero de SVMs binarias que la ovr-SVM, el

numero de ejemplos que tiene que abarcar cada una es una fraccion del total, mientras

que la oar-SVM tiene que entrenar con todos los datos del problema en cada una de las

SVMs que crea, por lo que el tiempo de entrenamiento que requiere la oao-SVM suele

ser en general menor que aquel requerido por la oar-SVM. Al momento de clasificar,

esto se invierte: en la mayorıa de los casos, tanto las SVMs creadas por la oar-SVM

como aquellas generadas por la oao-SVM tienen un numero de SVMs pequeno en

17

Page 38: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

(a) (b)

Figura 2.7 – SVMs Multi-objetivo: En estas figuras se ve el uso de SVMs multi-objetivo

para separar un problema de 3 clases. En 2.7a se utiliza una SVM binaria para separar

cada par de clases (oao-SVM). En 2.7b se utiliza una SVM por clase para separarla del

resto de los ejemplos del problema (oar-SVM). Los colores de los margenes indican a

que clases esta asociado el hiperplano en cuestion. En el caso de la oar-SVM, el color

gris corresponde al resto de los ejemplos.

comparacion con el total de los datos, por lo que lo que determina la duracion de la

clasificacion es basicamente el numero de SVMs creadas y no el numero de datos del

problema. Ası, mientras que la oar-SVM tiene que realizar solo K evaluaciones, la

oao-SVM debe evaluar K(K − 1)/2 veces antes de determinar a que clase pertenece el

nuevo patron a clasificar.

2.2.2. SVMs Mono-objetivo

La idea de las SVMs mono-objetivo es extender la SVM binaria a una maquina que

sea capaz de clasificar simultaneamente a mas de 2 clases a la vez. Ası, en contraste con

las SVMs multi-objetivo, en el entrenamiento solo se necesita entrenar una maquina, y

en su uso como clasificadores, se suele realizar una evaluacion por cada clase (similar

al caso de la oar-SVM). En la figura 2.8 se puede apreciar la diferencia de esquemas.

Sin embargo, y a diferencia de las SVMs multi-objetivo, en donde pueden reutilizar

18

Page 39: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

?

SVM 1,2

SVM 1,3

SVM 2,3

Clasificador Multi-objetivo

Entrada

Salida

Ensamblador

(a)

?

SVM 1,2

SVM 1,3

SVM 2,3

Clasificador Multi-objetivo

Entrada

Salida

Clasificador Mono-objetivo

?

V1

V3

V2

(b)

Figura 2.8 – Enfoque multi-objetivo v/s mono-objetivo: En estas figuras se esquema-

tizan la forma en que clasifican maquinas clasificadoras multi-categorıa del tipo multi-

objetivo (figura 2.8a) y mono-objetivo (figura 2.8b). Mientras que el esquema multi-

objetivo utiliza internamente un numero determinado de SVMs binarias para realizar su

clasificacion (y un sistema de ensamblaje para fusionar la salida de las distintas SVMs

en una sola), el esquema mono-objetivo consiste de una sola maquina capaz de clasificar

en mas de 2 clases a la vez.

directamente las SVMs binarias ya existentes, las SVMs monobjetivos deben disenar

una nueva maquina, la cual suele ser una derivacion mas compleja de una SVM tradicio-

nal y debe ser entrenada con un algoritmo especıfico para ella. Adicionalmente al tema

del diseno del solver, se debe agregar el hecho de que la mayorıa de las SVMs mono-

objetivo maneja un numero de restricciones que crece considerablemente con el tamano

del problema. Para ejemplificar este ultimo punto, tomaremos el caso de la SVM multi-

categorıa disenada por Crammer & Singer en [CS01] denominada MC-SVM, una de las

SVMs multi-categorıa mono-objetivo usadas en la actualidad. Tanto su formulacion co-

mo el codigo de su implementacion estan disponibles para el publico [Cra04]. Ademas,

su esquema ha servido de base para la implementacion de otras SVMs multi-categorıa,

como en la implementacion multi-Class de la SVM Light [Joa08]. Estas razones la hacen

un gran exponente de su tipo. Su formulacion del primal esta dada como:

19

Page 40: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

P{W,ξ} : minimizar1

2β ‖W‖2

2 +∑i∈I

ξi, (2.2.1)

sujeto a wyi · Φ (xi) + δyi,r −wr · Φ (xi) ≥ 1− ξi, ∀i ∈ I,

∀r ∈ {1, ..., K} ∧ ξi ≥ 0, si yi = r, (2.2.2)

β > 0, δyi,r =

{1, si yi = r

0, en cualquier otro caso.(2.2.3)

Donde W viene a ser una matriz de K×m, wr es la r-esima fila de W, ‖W‖22 es la

norma l2 de la matriz, definida como ‖W‖22 =

K∑r=1

‖wr‖22 =

K∑r=1

∑i∈I

w2i,r, y donde wi,r

es el i-esimo elemento de wr. En este contexto, las etiquetas yi ya no tienen los valores

{−1,+1}, sino que adquieren la enumeracion de las clases (yi ∈ {1, . . . , K}).

El diseno de la MC-SVM se deriva de reducir el error empırico de clasificacion.

Como se puede apreciar, su estructura en el primal se asemeja al de la C-SVM, con

la diferencia de que la variable de regularizacion esta unida a la matriz en vez de a

las variables de holgura. Sin embargo, basta realizar un cambio de variable del tipo

C = β−1 para obtener una estructura similar. El dual de esta maquina esta dado por:

minimizar{u} D(u) =1

2

∑i∈I

∑j∈I

kij ·

[K∑r=1

(δyi,r − ui,r)(δyj ,r − uj,r)

]

−∑i∈I

K∑r=1

ui,rδyi,r, (2.2.4)

sujeto aK∑r=1

ui,r = 1,∀i ∈ I, (2.2.5)

0 ≤ ui,r ≤ 1, ∀i, r. (2.2.6)

Como se puede apreciar, para un problema con m ejemplos y K clases, el orden de

variables ui,r que debera manejar el algoritmo de entrenamiento es de Km. Esto, en

comparacion con la oao-SVM, en donde se necesitan un promedio de 2m restricciones,

es bastante considerable, en especial si el numero de clases es muy elevado.

20

Page 41: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

2.2.3. AD-SVM

La AD-SVM (All-Distances SVM o SVM de Todas las Distancias) fue propuesta

en [NCA+09]. Es una SVM multi-clase de tipo mono-objetivo que deriva su modelo de

la vision geometrica descrita en la seccion 2.1.4. Basicamente, la idea de la AD-SVM

consiste en extender el concepto de encontrar la distancia menor entre dos envolturas

convexas a K envolturas, teniendo como objetivo minimizar la suma de las distancias

entre los K(K − 1)/2 pares de clases posibles:

minimizar{u} D(u) =K∑r=2

r−1∑s=1

‖vr − vs‖ , (2.2.7)

sujeto a vr =∑i∈Ir

uixi, r ∈ {1, 2, . . . , K} , (2.2.8)

∑i∈Ir

ui = 1, r ∈ {1, 2, . . . , K} , (2.2.9)

0 ≤ ui ≤ 1, ∀i ∈ I. (2.2.10)

(a) (b)

Figura 2.9 – All-Distances SVM: En estas figuras se muestra la formulacion de la

AD-SVM (figura 2.9a) y el esquema de clasificacion de nuevos patrones (figura 2.9b).

En la figura 2.9 se puede observar la formulacion de una AD-SVM aplicada a un

21

Page 42: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

problema de tres clases y el esquema de clasificacion utilizado para categorizar futuros

patrones del problema.

Al igual que en la version binaria, este modelo puede ser trabajado un poco mas

para dejar expresada la funcion objetivo como una sumatoria ponderada de los ejemplos

del problema, y generalizar el producto punto por un producto de Kernel:

minimizar{u} D(u) =1

4uTKu =

1

4

∑i∈I

∑j∈I

uikijuj, (2.2.11)

sujeto a∑i∈Ir

ui = 1, r ∈ {1, 2, . . . , K} , (2.2.12)

0 ≤ ui ≤ µ, ∀i ∈ I, (2.2.13)

yi = [yi1, yi2, . . . , yiK ] , yis =

{(K − 1)/

√K, si i ∈ Is

−1/√K, en cualquier otro caso,

(2.2.14)

y sea i ∈ Ir y j ∈ Is, entonces:

αij = yi · yj =

{(K − 1), si s = r

−1, en cualquier otro caso.(2.2.15)

Donde K es una matriz de m×m formada por los elementos kij = (yi · yj) kij = αijkij.

Como se trata de una SVM multi-categorıa, a partir de los multiplicadores de Lagrange

se debe generar no solo un hiperplano, sino K hiperplanos, uno para separar a cada

clase Cr del resto de los ejemplos (muy similar a la oar-SVM). Los componentes de

cada hiperplano estan definidos como:

wr =1

K

∑i∈I

αiruixi, (2.2.16)

br =−1

K2

∑i∈I

∑j∈I

uiαirkijuj, (2.2.17)

ρr =1

K2

∑i∈I

∑j∈I

uiαirkijαjruj, (2.2.18)

donde αir =

{K − 1, si i ∈ Ir−1, si i /∈ Ir.

(2.2.19)

22

Page 43: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Y la funcion para determinar a que clase pertenecen nuevos ejemplos esta dada por:

f (x) = arg maxr

(1

K

∑i∈I

αiruiK (xi,x) + br − ρr

). (2.2.20)

2.3. Algoritmos de Entrenamiento

El entrenamiento de una SVM binaria se puede abordar como un problema de

optimizacion cuadratico con restricciones lineales de la forma min{u}uTQu + cTu, en

donde el vector c puede ser el vector nulo. Para el caso de la ν-SVM y de la µ-SVM,

el vector c es nulo. Para el caso de la C-SVM, no.

Normalmente, problemas de esta ındole pueden ser resueltos eficientemente con

algoritmos similares al metodo de Newton, tales como el propuesto en [CL96], los que

tienen un tiempo de ejecucion bastante expedito cuando la matriz Q no es muy densa.

Sin embargo, cuando la matriz Q es especialmente densa, calcular y almacenar sus

valores se hace cada vez mas inviable a medida que su tamano aumenta. Este es el caso

en el entrenamiento de las SVMs binarias, en donde Q tiene una dimensionalidad de

m ×m y cada celda corresponde al producto punto de dos ejemplos del problema. Si

bien Q es simetrica y solo es necesario calcular m(m + 1)/2 de los productos, la gran

mayorıa de estos no seran nulos, y el crecimiento de su tamano sera de todas formas

cuadratico en funcion del numero de ejemplos de entrenamiento m.

2.3.1. Chunking y Algoritmos de Descomposicion

Como se puede apreciar, el uso directo de metodos tradicionales consume rapi-

damente los recursos de almacenamiento e invierte bastante tiempo en computo. Sin

embargo, hay caracterısticas intrınsecas a la formulacion de las SVMs que se pueden

utilizar a favor para hacer mas eficiente su resolucion. Una de ellas es lo disperso que

suele ser el vector resultante u, que indica cuales de los ejemplos del problema son vec-

tores de soporte y en cuanto contribuyen a determinar el hiperplano separador. Como

suelen ser pocos los elementos de u que no son nulos (y como la fraccion de ejemplos

23

Page 44: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

que son SVs tiende a ser constante a medida que el tamano del problema aumenta), se

hace necesario calcular solamente una cantidad reducida de columnas de Q que estan

relacionadas con dichos elementos, lo cual es una fraccion considerablemente pequena.

Con esto se puede asumir con bastante confianza que seran escasos los elementos

de u que estaran involucrados en la solucion final del problema, pero no se sabe cuales

de todos estos elementos son los que seran finalmente los vectores de soporte en dicha

solucion final. Ası, el inconveniente inicial de calcular y almacenar la matriz Q cambia

por el de encontrar los elementos de u que no son nulos en la solucion optima.

Uno de los metodos iniciales que se propusieron para encontrar los vectores de

soporte, denominado Chunking [BGV92], consistıa en trabajar inicialmente con una

fraccion B de los elementos de u, denominada conjunto de trabajo o Working Set.

Al final de una iteracion, luego de reajustar los elementos en B, aquellos que terminan

siendo nulos son descartados del conjunto de trabajo, mientras que otros M elementos

que violen las condiciones del problema son agregados al conjunto. Este ciclo se repite

hasta que no hayan mas elementos que violen las condiciones. Aunque el rendimiento

mejora usando esta estrategia, en la mayorıa de los casos, el numero de elementos que

salen del conjunto de trabajo es menor que los M elementos que ingresan, por lo que

B crece a un tamano que tampoco es tratable.

En [OFG97], Osuna et al propusieron que el numero de elementos que se adhirieran

a B en cada iteracion fuera el mismo que se sacasen del mismo, aun si todos los elemen-

tos en B son vectores de soporte. Esto asegura que los recursos de espacio no se vean

sobrepasados en ninguna iteracion. En este esquema, bajo ciertas circunstancias, se

puede asegurar la convergencia del entrenamiento al optimo. Osuna et al denominaron

este tipo de metodos “Algoritmos de Descomposicion”.

2.3.2. Sequential Minimal Optimization

En [Pla99], Platt propuso llevar el enfoque de Osuna al extremo, considerando

un tamano fijo para B de dos elementos a la vez. Aunque el numero de iteraciones

aumenta de forma considerable, el tiempo invertido en resolver cada iteracion se reduce

tambien drasticamente debido a que cada paso de optimizacion puede ser resuelto

analıticamente. A lo largo de los anos, diferentes aspectos de este metodo se han ido

24

Page 45: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

perfeccionando por distintos autores. Entre ellos, cabe destacar mejoras en el criterio

de termino propuestas por Keerthi et al en [KSMB01] o en la seleccion de elementos en

cada iteracion propuesta por Fan et al en [FCL05]. En la figura 2.10 se muestra como

trabajan los distintos esquemas descritos hasta el momento.

Chunking

Osuna

SMO

Figura 2.10 – Algoritmos de entrenamiento para las SVMs: En la figura se muestran

3 tecnicas distintas para entrenar SVMs. Para cada tecnica, se muestran 3 iteraciones

de ejemplo. En cada iteracion, la lınea delgada simboliza la totalidad del conjunto de

entrenamiento, mientras que el area rectangular muestra cuales de los ejemplos tienen

asociados multiplicadores de Lagrange que seran optimizados en dicha iteracion (el con-

junto activo). Fuente: [Pla99].

2.3.3. Estructura de un SMO

La estructura general de un algoritmo SMO abarca los siguientes componentes:

un criterio de termino para determinar eficientemente cuando se ha llegado a una

solucion optima o cercana a la optima (dentro de un margen τ preestablecido); un

paso de optimizacion (usualmente) analıtico para calcular los nuevos valores de dos

multiplicadores de Lagrange; una estrategia de seleccion (heurıstica o no) para elegir

a los dos multiplicadores de Lagrange a ser optimizados; un sistema de actualizacion

que eficientemente actualice los valores involucrados en la seleccion y optimizacion

de los dos multiplicadores de Lagrange. Todos estos componentes son organizados y

utilizados en un algoritmo.

25

Page 46: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Criterio de Termino

Para obtener el criterio de termino, se suelen buscar las KKT-conditions (abrevia-

cion para “condiciones de Karush-Kuhn-Tucker”) del problema. Las KKT-conditions

son las condiciones necesarias que debe cumplir la solucion de un problema no lineal,

que contiene restricciones de desigualdad, para ser una solucion optima. Viene a ser

una extension del metodo de los multiplicadores de Lagrange (el cual solo cubre restric-

ciones de igualdad1). En general, si el Kernel que se utiliza en la definicion de la SVM

es positivo semi-definido, tanto la funcion objetivo a optimizar como sus restricciones

seran convexas, por lo que las KKT-conditions seran necesarias y suficientes para

determinar que se ha alcanzado la optimalidad [KG02].

Las KKT-conditions se definen con detalle en [Kar39, KT51, Lue84], y para las

SVMs binarias existe una bibliografıa extensa que explica como obtenerlas para los

distintos tipos de SVMs [PR98, CL01b, CFL06]. En la subseccion 3.2.1 explicaremos

como obtener las KKT-conditions especıficas para la AD-SVM. Por el momento, para

ejemplificar con un caso especıfico, simplemente afirmaremos que las KKT-conditions

de la µ-SVM nos permiten definir los siguientes subconjuntos de ındices [KG02]:

I0s = {l : 0 < ul < µ ∧ l ∈ Is} , (2.3.1)

I1s = {l : ul = 0 ∧ l ∈ Is} , (2.3.2)

I2s = {l : ul = µ ∧ l ∈ Is} , s ∈ {−1,+1} , (2.3.3)

los cuales, a su vez nos permiten definir las variables βups y βlow

s :

βups = mın

{Fl : l ∈ Iup

s = I0s ∪ I1

s

}, (2.3.4)

βlows = max

{Fl : l ∈ Ilow

s = I0s ∪ I2

s

}, s ∈ {−1,+1} , (2.3.5)

donde Fl =1

2

∑j∈I

ujylyjklj, (2.3.6)

1En la practica, los multiplicadores involucrados en la definicion del dual de las Soft-SVMs (tanto C-SVMs como ν-SVMs y µ-SVMs) tambien son multiplicadores KKT, sin embargo se suelen denominarcomo multiplicadores de Lagrange para no causar mayor distincion o confusion con los multiplicadoresusados en SVMs de margen duro. Aunque la nomenclatura es incorrecta, esta diferenciacion nossera util para distingir los multiplicadores utilizados en la definicion del dual de aquellos implicadosen el criterio de termino.

26

Page 47: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

que por ultimo nos permiten definir nuestro criterio de termino:

βlows ≤ βup

s , ∀s ∈ {−1,+1} . (2.3.7)

Ası, si en un momento dado de nuestro entrenamiento vemos que la condicion dada

en (2.3.7) se cumple, sabremos que hemos llegado a una solucion optima y podremos

terminar el entrenamiento.

Paso de Optimizacion

Como lo hemos mencionado anteriormente, el paso de optimizacion es el pilar cen-

tral del SMO que lo hace tan eficiente. El proceso por el cual se define este paso

de optimizacion se puede encontrar en referencias tales como [Pla99]. En la subsec-

cion 3.2.2 describiremos en detalle el procedimiento que lleva a generar dicho paso de

optimizacion para la AD-SVM. Aquı, simplemente describiremos de manera informal el

proceso para la µ-SVM: Para obtener el paso de optimizacion, se suele definir la funcion

objetivo D(u) de la SVM en funcion de solo dos de sus multiplicadores de Lagrange, up

y uq (dejando todas las demas variables ui con valores fijos, o sea, constantes). Luego,

se despeja el valor de una de dichas dos variables, up, en funcion de la otra, uq. Ası,

tenemos toda nuestra funcion objetivo D definida en terminos de uq, D(uq). Derivamos

nuestra funcion objetivo con respecto a uq e igualamos esta derivada a cero, ∇qD = 0,

con lo cual podemos encontrar los puntos de inflexion de nuestra funcion. Sabemos

ademas que los puntos de inflexion corresponderan a un mınimo cuando la segunda

derivada, ∇2qD sea mayor que cero. Utilizando todos estos conceptos se puede generar

un algoritmo de Newton que permite definir el nuevo valor de uq, unewq en funcion de

su antiguo valor y de los productos de Kernel kqj calculados hasta el momento:

unewq = uold

q −Fq − Fp

kpp − 2kpq + kqq. (2.3.8)

Se debe verificar que unewq cumpla con las restricciones de frontera2, por lo que su valor

2Restricciones de frontera: unewq no puede valer menos que cero ni mas que µ debido a (2.1.39)

y tampoco puede valer mas que uoldq y uoldp sumados, porque de lo contrario unewp tendrıa un valor

negativo.

27

Page 48: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

se debe truncar:

unew,clippedq =

L, si unew

q ≤ L

unewq , si L < unew

q < H

H, si unewq ≥ H

(2.3.9)

donde L = max {0, (ψ − µ)} ,

H = mın {ψ, µ} ,

ψ = uoldp + uold

q

Despues de esto, unewp se puede obtener facilmente:

unewp = ψ − unew,clipped

q . (2.3.10)

Estrategias de Seleccion

Desde que Platt propusiera el algoritmo SMO, han existido diferentes tecnicas que

describen como seleccionar los dos multiplicadores de Lagrange up y uq a ser optimi-

zados.

En un principio Platt propuso en [Pla99] una heurıstica que seleccionaba el par

de multiplicadores en dos pasos: en un primer ciclo, iba analizando todos los mul-

tiplicadores que no tuvieran valores extremos C o cero, verificando que no violaran

las KKT-conditions. Si se encontraba con un multiplicador up que violase las KKT-

conditions, este quedaba seleccionado como el primer ındice. En el segundo ciclo, la

heurıstica corrıa a traves de todos los demas multiplicadores buscando aquel multi-

plicador uq que generara la mayor diferencia de |Fp − Fq|. Si, durante el primer ciclo,

no se encontraba algun multiplicador que violara las KKT-conditions, entonces se pro-

cedıa a buscar en los multiplicadores con valores extremos. Si alguno de estos violaba

las KKT-conditions, se procedıa a realizar el segundo ciclo, pero ahora con todos los

ejemplos. Cuando ningun ındice violaba las KKT-conditions, entonces se habıa llegado

al optimo y el algoritmo terminaba.

Keerthi et al [KSMB01] demostraron que habıan ciertas falencias en el algoritmo de

Platt, en especial con la actualizacion del valor umbral β (utilizado en la identificacion

28

Page 49: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

de multiplicadores que violaran las KKT-conditions) para ciertos casos en los que podıa

adquirir valores dentro del rango βup y βlow y la heurıstica propuesta simplemente elegıa(βup + βlow

)/2, lo cual podıa llevar a una convergencia prematura lejos del optimo.

Ellos expusieron una heurıstica alternativa: en vez de limitar el valor de β en estos casos,

propusieron mantener almacenados los valores actualizados de βup y βlow en cada paso

del algoritmo. Adicionalmente propusieron definir la eleccion del par de multiplicadores

de Lagrange de tal forma que sus valores Fl’s coincidiera con los valores betas, up :

Fp = βup y uq : Fq = βlow. Posteriormente, en [KG02] Keerthi et al demostraron la

convergencia de esta tecnica de forma generalizada y extendieron su uso a maquinas

del tipo ν-SVM y µ-SVM. Estas publicaciones trajeron consigo los conceptos de par

violador y par maximo violador. Estos conceptos tienen papeles importantes en la

demostracion de convergencia de las SVMs binarias [Lin01, Lin02]. En el contexto de

la µ-SVM, estos se definen como:

Definicion 2.3.1.Se dice que p, q ∈ Is corresponden a un Par Violador de la

clase s ∈ {−1,+1} si p ∈ Iups , q ∈ Ilow

s y Fp > Fq.

Definicion 2.3.2.

Se dice que p, q ∈ Is corresponden al Par Maximo Vio-

lador de la clase s ∈ {−1,+1} si Fp = βups , Fq = βlow

s y

Fp > Fq.

En [FCL05, CFL06], Chen et al explican que la tecnica propuesta por Keerthi et al

corresponde a seleccionar el par de multiplicadores de Lagrange a optimizar utilizando

la informacion de primer orden de la funcion objetivo de la SVM. En estas publicacio-

nes, adicionalmente proponen la idea de utilizar la informacion de segundo orden para

determinar que par de multiplicadores proveerıan una tasa mas alta de convergencia

que aquella obtenida solo con informacion de primer orden (esto se justifica debido a

que la funcion objetivo es efectivamente una funcion cuadratica). Sin embargo, Chen

et al muestran que, si bien esta tecnica alcanza mayores tasas de convergencia, invierte

en consecuencia un tiempo de computo muy alto para encontrar dicho par optimo,

necesitando un orden de O(m2) operaciones, lo cual no la hace una estrategia compe-

titiva con respecto a la estrategia de Keerthi et al, la cual solo requiere de un orden de

O(m) operaciones. Por esto, propusieron una heurıstica que perdıa eficiencia en cuanto

a convergencia, pero que ganaba en tiempo de ejecucion y de todas formas alcanzaba

mejores tasas de convergencia en general que la tecnica del par maximo violador. Dicha

29

Page 50: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

tecnica consiste en seleccionar el primero de los dos ındices como βups (o βlow

s ) y elegir

el segundo en funcion de la informacion de segundo orden. Para el caso de la µ-SVM y

la clase s, se debe elegir el ındice p : Fp = βups . Luego se debe encontrar el ındice q tal

que:

q = arg maxt

{b2pt

2apt, t ∈ Ilow

s ∧ Ft > Fp

}(2.3.11)

donde apt = kpp − 2kpt + ktt, bpt = Ft − Fp (2.3.12)

Esto se realiza para ambas clases. Luego, de estos dos pares de ındices, {p, q}+ y {p, q}−,

se elige el que tiene el factor b2pq/apq con valor maximo.

Sistema de Actualizacion

Una vez alterado el valor de dos multiplicadores de Lagrange, up y uq, es necesario

calcular el valor de todos los valores Fl nuevamente para verificar si se ha obtenido

optimalidad y calcular los valores de w, b y ρ. Por otro lado, si no se ha alcanzado la

optimalidad todavıa, los Fl deben ser recalculados de todas formas para seleccionar el

siguiente par de multiplicadores a optimizar. Este calculo se puede realizar en base a

los valores de los nuevos y viejos up y uq:

F newl = F old

l +(unew,clippedp − uold

p

)· ypylkpl

2+(unew,clippedq − uold

q

)· yqylkql

2(2.3.13)

Estructura del Algoritmo

Un algoritmo SMO que utiliza todos estos componentes en general tiene una es-

tructura que se asemeja a la mostrada en el algoritmo 1:

Cabe mencionar que este es un algoritmo bastante generico y simplista. En la

practica, los algoritmos utilizados suelen estar separados en etapas o ciclos, internos

y externos. En el ciclo interno, se suele trabajar solamente con los multiplicadores

de Lagrange que actualmente tienen valores mayores que cero, mientras que en el

ciclo externo se revisan todos los multiplicadores para revisar si se ha alcanzado la

optimalidad general o para ver si hay multiplicadores actualmente con valor cero que

debieran tener un valor mayor.

30

Page 51: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Algoritmo 1 Ejemplo de Algoritmo SMO para la µ-SVM

1: Inicializar u satisfaciendo las restricciones (2.1.38) y (2.1.39).

2: Calcular Fl, ∀l ∈ I.

3: Encontrar βlows y βup

s para cada clase s ∈ {−1,+1}.4: Mientras βlow

s − βups > 2τ por lo menos para un s ∈ {−1,+1} , hacer

5: Para cada clase s ∈ {−1,+1} hacer

6: Seleccionar p : Fp = βups .

7: Seleccionar q = arg mınt

{−b2pt

2apt, t ∈ Ilow

s ∧ Ft > Fp

}.

8: fin Para

9: Elegir el par de multiplicadores de Lagrange, {up, uq}− o {up, uq}+, con mınimo

valor −b2pq

2apqentre ambas clases.

10: Calcular{unew,clippedp , unew,clipped

q

}.

11: Actualizar Fl, ∀l ∈ I.

12: Encontrar el nuevo βlows y el nuevo βup

s para cada clase.

13: fin Mientras

Otras tecnicas adicionales suelen utilizarse para mejorar aun mas el tiempo de ejecu-

cion del algoritmo. Entre estas se encuentran [Joa99]: el uso de caches para almacenar

los valores de productos de Kernel que mas habitualmente se requieren; el cooling de

la tolerancia para acelerar la convergencia del algoritmo en las primeras iteraciones del

entrenamiento; y el shrinking del set de entrenamiento, para descartar (en iteracio-

nes intermedias y finales del proceso) ejemplos del problema que muestran suficiente

evidencia como para asumir que no formaran parte de la solucion final del problema.

Adicionalmente a estas tecnicas, ultimamente se han empezado a emplear tecnicas es-

tadısticas de entrenamiento que independizan el numero de ejemplos necesarios para

entrenar a la SVM del tamano total que tiene el conjunto de entrenamiento [FGL+10],

permitiendo una mejor escalabilidad a costa de una pequena y controlada perdida en

precision.

31

Page 52: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Capıtulo 3

Propuesta

Como se menciono anteriormente, el problema principal de la AD-SVM es que no

cuenta con un algoritmo de entrenamiento apropiado que escale bien en tiempo de

entrenamiento y en recursos de memoria.

En la subseccion 2.2.3 se mostro la estructura de la AD-SVM, la cual es muy similar

al de la µ-SVM (ver subseccion 2.1.4). Si bien, no es posible utilizar directamente el

algoritmo SMO de la µ-SVM, la semejanza entre las maquinas invita a pensar que

es posible disenar un solver con caracterısticas y estructura parcidas a las del SMO

binario.

De ser posible la implementacion de dicho algoritmo, se estima que este serıa capaz

de hacer a la AD-SVM competitiva frente a otras maquinas de clasificacion multi-

categorıa (ya sean mono o multi-objetivo) en cuanto a tiempo de ejecucion y utilizacion

de recursos.

3.1. Objetivos de la Tesis

Los objetivos generales de este trabajo consisten en I) generar un solver (algoritmo

de entrenamiento) tipo SMO para la AD-SVM1 y II) en comparar el rendimiento de

dicho solver propuesto, en cuanto a tiempo de ejecucion y error de generalizacion, con

otras tecnicas para clasificacion multi-categorıas que se utilizan en la actualidad.

1Se han enumerado deliberadamente los objetivos de la tesis para hacer un seguimiento mas facilde su cobertura en la seccion 5.1.

32

Page 53: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Mas especıficamente, una vez implementado el algoritmo, se busca 1) probar dife-

rentes heurısticas para la seleccion de los multiplicadores de Lagrange del solver tipo

SMO a disenar y 2) evaluar su convergencia empırica, analizando para esto distintas

condiciones.

Tambien se desea que 3) la AD-SVM entrenada con el solver tipo SMO conside-

rablemente mas rapida que cuando se ejecuta con el solver utilizado actualmente, sin

perder en el proceso mucha precision en la clasificacion de los datos. Dicho algorit-

mo es una implementacion en C++ con interfaz a traves de MATLAB del algoritmo

descrito en [CL96]. A modo de referencia, el entrenamiento de la AD-SVM se demora

actualmente alrededor de 400 segundos para problemas que contienen 528 ejemplos de

10 caracterısticas cada uno en computadores con iguales caracterısticas a los descritos

en el punto 1 de la subseccion 4.1.

Con respecto al punto anterior, tambien se necesita que 4) el solver a disenar tenga

una escalabilidad en el uso de memoria mejor que el solver usado actualmente, el cual

es incapaz de abordar problemas con mas de 1000 elementos

Dentro del estudio comparativo descrito en el objetivo II, 5) se requiere implemen-

tar o reutilizar otras SVMs multi-categorıas que controlen el error de entrenamiento

explıcitamente (como la propuesta en [CS01]) para comparar sus desempenos con los

de la AD-SVM en problemas de benchmarks frecuentemente utilizados para este tipo

de maquinas [BM98].

3.2. Diseno del Algoritmo

Para generar un solver para la AD-SVM que sea similar en estructura y funcio-

namiento al SMO utilizado por las SVMs binarias, dicho solver debe cumplir con las

siguientes condiciones:

1. Debe tener un criterio de termino que permita verificar cuando el entrena-

miento ha llegado a la solucion optima (o cercana al optimo).

2. Debe existir un paso de optimizacion (posiblemente analıtico) capaz de modifi-

car eficientemente un subconjunto de variables ul en cada paso del entrenamiento.

33

Page 54: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

3. Debe haber una estrategia de seleccion (heurıstica o exacta) que escoja el

subconjunto de variables ul a optimizar en cada paso, tal que la convergencia

hacia la solucion optima sea la maxima posible o muy cercana a dicho maximo.

4. Debe haber un sistema de actualizacion que actualice los valores involucrados

en la seleccion y optimizacion del subconjunto de variables optimizados al final

de cada paso de entrenamiento en un tiempo razonable.

Todos estos elementos finalmente deben ser organizados en un algoritmo que los

utilice para llevar a cabo el entrenamiento de la AD-SVM. En esta seccion se iran

presentando cada uno de estos elementos, con la derivacion que justifica su diseno.

3.2.1. Criterio de Termino: KKT-conditions para la AD-SVM

Como decıamos anteriormente en la subseccion 2.3.3, las KKT-conditions juegan un

papel importante en la determinacion del criterio de termino de un algoritmo tipo SMO.

Para encontrar las KKT-conditions de la AD-SVM necesitamos generar el Langragiano

de nuestra funcion objetivo D(u), el cual consiste de la misma funcion (2.2.11) menos

todas las restricciones de igualdad (2.2.12) y desigualdad (2.2.13), cada una de estas

multiplicada por una variable nueva:

L =1

4

∑i∈I

∑j∈I

uikijuj +∑i∈I

ηi (ui − µ)−∑i∈I

δiui −K∑r=1

βr

(∑i∈Ir

ui − 1

), (3.2.1)

donde las nuevas variables ηi ≥ 0, δi ≥ 0 y βr (para i ∈ {1, . . . ,m} y r ∈ {1, . . . , K})son los multiplicadores KKT2. Como la funcion objetivo es convexa, las KKT conditions

son necesarias y tambien suficientes para verificar optimalidad. Esto quiere decir que

u es la solucion de (2.2.11) si y solo si existen valores para los multiplicadores ηl ≥ 0,

2Notese que las variables asociadas a restricciones de desigualdad deben tener valores mayores oiguales a cero, mientras que los multiplicadores asociados a restricciones de igualdad pueden adquirircualquier valor real.

34

Page 55: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

δl ≥ 0 y βs tal que, ∀l ∈ I y ∀s : l ∈ Is, tenemos:

∇lL =1

2

∑j∈I

ujklj + ηl − δl − βs = 0, (3.2.2)

sujeto a: 0 ≤ ul ≤ µ,∑i∈Is

ui = 1, (3.2.3)

ηl (ul − µ) = 0, δlul = 0, (3.2.4)

ηl ≥ 0, δl ≥ 0, βs ∈ R. (3.2.5)

La ecuacion (3.2.2) es la derivada de L con respecto al multiplicador de Lagrange ul.

Las dos condiciones en (3.2.3) son las restricciones del problema mostrado en (2.2.11)).

Las condiciones en (3.2.4) expresan la idea de que un multiplicador de Lagrange es

no-nulo solo cuando la restriccion que controla “empuja” o efectivamente restringe a la

solucion. Estas son usualmente llamadas condiciones de la brecha KKT desvaneciente.

Las condiciones en (3.2.5) provienen de la definicion de L. Notese que estas KKT

conditions implican que:

ul = 0 : ηl = 0, δl ≥ 0, Fl − βs ≥ 0,

ul = µ : ηl ≥ 0, δl = 0, Fl − βs ≤ 0,

0 < ul < µ : ηl = 0, δl = 0, Fl − βs = 0,

donde Fl =1

2

∑j∈I

ujklj.

El valor Fl puede ser visto como el gradiente de la funcion objetivo con respecto a

ul. Aquı usamos deliberadamente Fl para diferenciarlo de los valores Fl involucrados

en el algoritmo SMO de la µ-SVM. Ası, las KKT-conditions para la AD-SVM pueden

resumirse en:

ul = 0 ⇒ Fl − βs ≥ 0, (3.2.6)

ul = µ ⇒ Fl − βs ≤ 0, (3.2.7)

0 < ul < µ ⇒ Fl − βs = 0. (3.2.8)

Ahora podemos formar el siguiente subconjunto de ındices para cada clase s ∈ {1, · · · , K},

35

Page 56: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

en funcion de los valores que van tomando los distintos ul a lo largo del entrenamiento:

I0s = {l : 0 < ul < µ ∧ l ∈ Is} , (3.2.9)

I1s = {l : ul = 0 ∧ l ∈ Is} , (3.2.10)

I2s = {l : ul = µ ∧ l ∈ Is} . (3.2.11)

Las KKT-conditions pueden ser convenientemente reescritas (siempre con el fin de

buscar formas eficientes para verificar optimalidad):

∃βs :

∀l ∈ Iups = I0

s ∪ I1s, Fl ≥ βs, (3.2.12)

∀l ∈ Ilows = I0

s ∪ I2s, Fl ≤ βs. (3.2.13)

Notese que, si todas las KKT-conditions son cumplidas, el menor valor Fl asociado al

subconjunto de ındices Iups sera mayor o por lo menos igual al mayor valor Fl asociado

al subconjunto de ındices Ilows , para toda clase s del problema. Siguiendo esta idea,

definimos:

βups = mın {Fl : l ∈ Iup

s } , (3.2.14)

βlows = max

{Fl : l ∈ Ilow

s

}. (3.2.15)

De esta forma, podemos afirmar que todas las KKT-conditions son satisfechas (verifi-

cando ası optimalidad) si y solo si [KSMB01]:

βlows ≤ βup

s , ∀s ∈ {1, . . . , K} . (3.2.16)

Tambien podemos normalizar estas desigualdades, para ası poder comparar entre las

distintas clases y ver cual es la que esta violando la condicion de termino en mayor

medida:

(βups − βlow

s )/βlows ≥ 0 , ∀s ∈ {1, . . . , K} . (3.2.17)

36

Page 57: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Como no siempre es posible alcanzar optimalidad (debido a limitantes de computo

aritmetico y otros problemas de orden numerico), se suele utilizar una tolerancia τ defi-

nida por el usuario [Pla99]. Si es bien definida, el uso de esta tolerancia puede permitir

una convergencia mas rapida a cambio de sacrificar una leve perdida en precision. De

esta forma, decimos que hemos logrado alcanzar una optimalidad τ -tolerante si:

βlows /βlow

s − τ ≤ βups /β

lows + τ, (3.2.18)

βlows /βlow

s ≤ βups /β

lows + 2τ, (3.2.19)

(βlows − βup

s )/βlows ≤ 2τ, ∀s. (3.2.20)

3.2.2. Derivacion del Paso de Optimizacion

Uno de los pilares del algoritmo SMO es su paso de optimizacion analıtico, el cual

permite resolver una gran cantidad de problemas pequenos en un tiempo reducido

de ejecucion. Para el paso analogo del solver de la AD-SVM, necesitamos derivar un

paso de optimizacion similar. Siguiendo la estrategia utilizada en los casos binarios,

derivaremos este paso solucionando el problema de optimizacion solamente para dos

de los multiplicadores de Lagrange, up y uq (que, como se vera mas adelante, deben

pertenecer a la misma clase), dejando al resto con su valor fijo (constante) en el proceso:

minimizar{up,uq} D(up, uq) =1

4

∑i,j∈I

uiujkij

=1

4u2pkpp +

1

4u2qkqq +

1

4upuqkpq +

1

4uqupkqp

+1

4

∑i∈I/{p,q}

uiupkip +1

4

∑j∈I/{p,q}

upujkpj

+1

4

∑i∈I/{p,q}

uiuqkiq +1

4

∑j∈I/{p,q}

uqujkqj +1

4

∑i,j∈I/{p,q}

uiujkij (3.2.21)

37

Page 58: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

=1

4u2pkpp +

1

4u2qkqq +

1

2upuqkpq

+1

2up ·

∑j∈I/{p,q}

ujkpj +1

2uq ·

∑j∈I/{p,q}

ujkqj + Ψconst. (3.2.22)

sujeto a∑i∈Ij

ui = 1 ∀j, 0 ≤ ui ≤ µ ∀i

Realizar el paso de (3.2.21) a (3.2.22) es seguro debido a que las funciones de Kernel con

las que trabajamos cumplen con la igualdad K (xi,xj) = K (xj,xi). Las restricciones

tambien pueden ser reescritas en funcion de estos dos multiplicadores:

∑i∈Ir

ui = 1

⇐⇒ up + uq +∑

i∈Ir/{p,q}

ui = 1

⇐⇒ up + uq = 1−∑

i∈Ir/{p,q}

ui

⇐⇒ up + uq = ψ (3.2.23)

Notese que en (3.2.23) solamente se involucran los multiplicadores que pertenecen a

la misma clase que up y uq. Ademas, de forma implıcita se establece que up y uq

pertenecen a la misma clase. Esto se debe principalmente a la restriccion (2.2.12). Si,

por ejemplo, se eligieran los dos multiplicadores de forma que pertenecieran a distintas

clases y se modificaran sus valores, entonces para una de las clases, la sumatoria de

todos sus multiplicadores valdrıa menos que 1, mentras que en la otra clase valdrıa mas.

La unica forma de corregir este desbalance en un solo paso serıa alterar el valor de otros

dos multiplicadores en el mismo paso. Para este tipo de procedimiento se tendrıa que

realizar un paso de optimizacion que involucrarıa a 4 multiplicadores simultaneamente,

lo cual se escapa del contexto de este procedimiento.

Usando (3.2.23) podemos reemplazar todas las ocurrencias de up en (2.2.12) con

ψ − uq. Ası, toda la funcion objetivo puede ser computada solamente en terminos de

38

Page 59: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

uq:

minimizar{uq} D(uq, ψ − uq) =1

4(ψ − uq)2 kpp +

1

4u2qkqq +

1

2(ψ − uq)uqkpq

+1

2(ψ − uq) ·

∑j∈I/{p,q}

ujkpj +1

2uq ·

∑i∈I/{p,q}

uikqi + Ψconst. (3.2.24)

Dada la naturaleza del problema, la optimalidad se alcanza si:

∂D(uq, ψ − uq)∂uq

= ∇qD = 0 ∧ ∂2D(uq, ψ − uq)∂u2

q

= ∇2qD > 0

Desarrollando ∇qD obtenemos:

∇qD =1

2

((−1) (ψ − uq) kpp + uqkqq + (ψ − uq) kpq − uqkpq

)− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi + 0

=1

2

(uq(kpp − 2kpq + kqq

)− ψ

(kpp − kpq

))− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi (3.2.25)

Y por su parte, ∇2qD queda:

∇2qD =

1

2

(kpp − 2kpq + kqq

)(3.2.26)

Reemplazando (3.2.26) en (3.2.25) y resolviendo para uq cuando ∇qD = 0, tenemos:

uq∇2qD−

1

2ψ(kpp − kpq

)− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi = 0

uq∇2qD =

1

2ψ(kpp − kpq

)+

1

2

∑j∈I/{p,q}

ujkpj −1

2

∑i∈I/{p,q}

uikqi

unewq =

2−1

∇2qD

ψ (kpp − kpq)

+∑

j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi

(3.2.27)

En (3.2.27) introducimos el termino unewq para denotar el valor del multiplicador uq

despues del paso de optimizacion en curso. De aquı en adelante, tambien utilizaremos

uoldq para denotar el valor uq previo al paso de optimizacion. Ahora podemos sumar y

restar el antiguo valor de uq en el lado izquierdo de la ecuacion (3.2.27):

unewq =uold

q +2−1

∇2qD

ψ (kpp − kpq)

+∑

j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi

− uoldq (3.2.28)

39

Page 60: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Si solamente nos concentramos en el numerador de la fraccion de (3.2.28) y agregamos

el termino(−uold

q

)en este, obtenemos:

ψ(kpp − kpq

)+

∑j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi − 2uoldq ∇2

qD

= ψ(kpp − kpq

)+

∑j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi − uoldq

(kpp − 2kpq + kqq

)= − 2∇qD,

simplificando ası la ecuacion (3.2.28) a:

unewq = uold

q −∇qD

∇2qD

(3.2.29)

Esto concuerda con el metodo de Newton utilizado en optimizacion para la busqueda

de mınimos y maximos, lo cual puede ser relevante en analisis de convergencia. Ex-

pandiendo ψ = uoldp + uold

q en la ecuacion de 2∇qD, esta se puede desarrollar en mayor

profundidad para obtener una formulacion mas compacta y practica de (3.2.28):

2∇qD = uoldq

(kpp − 2kpq + kqq

)−(uoldp + uold

q

) (kpp − kpq

)−

∑j∈I/{p,q}

ujkpj +∑

i∈I/{p,q}

uikqi

=

uoldq kqq + uold

p kpq +∑

i∈I/{p,q}

uikqi

uoldp kpp + uold

q kpq +∑

j∈I/{p,q}

ujkpj

=∑i∈I

uikqi −∑j∈I

ujkpj = Fq − Fp

⇒ unewq = uold

q −Fq − Fp

kpp − 2kpq + kqq(3.2.30)

Ahora todos los valores necesarios para calcular unewq son facilmente distinguibles. Adi-

cionalmente, y como se vera en las proximas subsecciones, todos estos valores estaran

disponibles antes siquiera de calcular unewq debido a que estan involucrados en el proce-

so de seleccion. Al igual que con un SMO binario (ver ecuacion (2.3.9)), unewq necesita

40

Page 61: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

ser truncado para cumplir con las restricciones de frontera impuestas por las restric-

ciones (2.2.12), (2.2.13) y (3.2.23):

unew,clippedq =

L, si unew

q ≤ L

unewq , si L < unew

q < H

H, si unewq ≥ H

(3.2.31)

donde L = max {0, (ψ − µ)} , (3.2.32)

H = mın {ψ, µ} . (3.2.33)

Despues de esto, unewp puede ser facilmente calculado:

unewp = ψ − unew,clipped

q (3.2.34)

3.2.3. Estrategias de Seleccion

Mientras no se haya llegado a la solucion (τ -tolerante) optima, el algoritmo se-

guira buscando en cada paso un par de multiplicadores de Lagrange que esten ac-

tualmente violando las KKT-conditions y optimizar sus valores para acercarnos al

optimo, hasta que ya no existan mas pares violadores. Como comentabamos en la

subseccion 2.3.3, lo ideal es elegir en cada paso el par de ındices que maximicen el

acercamiento de nuestra solucion actual al optimo. Es mas, si el par violador que se

selecciona en cada iteracion no cumple ciertas condiciones mınimas, la convergencia del

algoritmo no puede ser asegurada [CFL06].

Siguiendo la idea propuesta por Chen et al [FCL05, CFL06], trataremos de encon-

trar una pequena modificacion d para nuestro vector de multiplicadores de Lagrange

u que maximice la taza de convergencia de D(u) al optimo. Para esto, consideraremos

que nuestro nuevo vector unew = u + d producira una alteracion equivalente a una

aproximacion de segundo orden de nuestra funcion objetivo D(u):

D(unew) = D(u + d) = D(u) +∇D(u)Td + dT∇2D(u)d (3.2.35)

⇒ D(u + d)−D(u) = ∇D(u)Td + dT∇2D(u)d (3.2.36)

41

Page 62: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Dada la naturaleza de nuestro solver, el vector d debe cumplir con ciertas restricciones:

Primero, como estamos modificando solo dos ındices en cada paso, todos los elementos

de d deben valer cero, excepto por dos elementos, dp y dq; Segundo, como el nuevo

vector unew debe cumplir con la restriccion (2.2.12), tanto p como q deben ser ındices

pertenecientes a la misma clase y dp = −dq; Tercero, el nuevo vector unew tambien debe

preocuparse de la restriccion de frontera (2.2.13), pero como lo vimos en la seccion an-

terior, esta parte es cubierta por la etapa de truncamiento realizada en el paso descrito

en (3.2.31). O sea, el vector d nos indicara cual es el par de multiplicadores de Lagrange

ideal a ser optimizado, pero no nos dira en que cantidades deben ser modificados sus

valores. Con esto en mente, debemos solucionar el siguiente subproblema:

minimizar{d}D(d) = ∇D(u)Td + dT∇2D(u)d

= (Fpdp + Fqdq) +1

2

(d2pkpp + 2dpdqkpq + d2

qkqq)

(3.2.37)

sujeto a #|d : di 6= 0| = 2, (3.2.38)

y si dp 6= 0 ∧ dq 6= 0, p ∈ Ir, q ∈ Is

entonces dp = −dq ∧ r = s. (3.2.39)

Usando la igualdad dp = −dq para reemplazar a dp por −dq en (3.2.37), obtenemos

que:

D(dq,−dq) = (Fqdq − Fpdq) +1

2

(d2qkpp − 2d2

pkpq + d2qkqq

)= dq (Fq − Fp) +

1

2d2q

(kpp − 2kpq + kqq

),

∇dqD(dq,−dq) = (Fq − Fp) + dq(kpp − 2kpq + kqq

),

∇2dqD(dq,−dq) = kpp − 2kpq + kqq. (3.2.40)

Si estamos usando un Kernel positivo semi-definido y tenemos que los ejemplos xp

y xq no son iguales, sabemos entonces que (3.2.40) es estrictamente positivo. Ası, si

igualamos ∇dqD(dq,−dq) a cero y despejamos el valor de dq, entonces obtendremos el

42

Page 63: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

valor en donde D(dq,−dq) es mınimo:

∇dqD(dq,−dq) = (Fq − Fp) + dq(kpp − 2kpq + kqq

)= 0

⇒ dq(kpp − 2kpq + kqq

)= − (Fq − Fp)

⇒ dq =− (Fq − Fp)(

kpp − 2kpq + kqq) (3.2.41)

∴ D(dq,−dq) =− (Fq − Fp)

2

2(kpp − 2kpq + kqq

) . (3.2.42)

Con esta informacion a nuestra disposicion, podemos buscar por cada clase el par {p, q}rque minimice (3.2.42) y quedarnos con el de la clase que tenga genere el menor valor. Sin

embargo, para esto tenemos que realizar una busqueda del orden deK∑r=1

mr · (mr − 1)

revisiones. Si consideramos un problema en donde todas las clases tienen el mismo

numero de elementos, tendrıamos K · (m/K) · (m/K − 1) = m · (m/K − 1), lo cual

es algo menor que las m(m − 1) revisiones que se deben hacer en el caso binario

de la C-SVM, pero esta operacion de todas formas tiene un crecimiento cuadratico

con respecto a m. Para evitar que esta revision aumente el tiempo de ejecucion del

algoritmo, aquı propondremos una heurıstica similar a la propuesta por Chen et al

en [FCL05, CFL06], la cual consiste en elegir p : Fp = βups y luego buscar q tal que:

q = arg mınt

{−b2pt

2apt, t ∈ Ilow

s ∧ Ft > Fp

}(3.2.43)

donde apt = kpp − 2kpt + ktt, bpt = Ft − Fp (3.2.44)

Con esto, reducimos el numero de revisiones aK∑r=1

mr, lo que para un problema de

clases balanceadas equivale a K · m/K = m. Notese que se puede llevar a cabo una

estrategia similar eligiendo p : Fp = βlows . Notese tambien que los terminos apt y bpt

son los mismos empleados en el calculo de los nuevos valores de los multiplicadores de

Lagrange en el paso (3.2.30), por lo que una vez encontrado el par {p, q}r a optimizar,

no es necesario recalcular estos valores.

En [FCL05, CFL06], Chen et al extendieron la aplicacion de esta estrategia de

seleccion para casos en los que se utilizan funciones de Kernel simetrico que no son ne-

cesariamente semi-definidos positivos, por lo que pueden generar valores para apt que

43

Page 64: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

son menores que (o iguales a) cero. Para las SVMs binarias, demostraron que basta

reemplazar dicho valor por apt = ς, donde ς tiene un valor positivo considerablemente

pequeno (0 < ς � 1). Hemos probado esta estrategia en problemas que presentan

distintos ejemplos con identicas caracterısticas (o sea xp ≡ xt, lo que genera apt = 0),

encontrando la solucion optima sin inconvenientes, pero no hemos extendido la demos-

tracion formal para validar que dicha estrategia sirve en todos los casos demostrados

ya para las SVMs binarias.

3.2.4. Sistema de Actualizacion

Al igual que en el caso binario, una vez alterados los valores de los dos multiplica-

dores de Lagrange, up y uq, que se requerıan optimizar, se hace necesario actualizar los

valores Fl’s, ya sea para verificar si se ha llegado a la solucion optima (y para entonces

calcular los valores de los distintos wr, br y ρr necesarios en la clasificacion de nue-

vos patrones) o para continuar buscando nuevos multiplicadores que optimizar. Este

calculo se puede realizar en base a los nuevos y viejos valores de up y uq:

Fnewl = Fold

l +(unew,clippedp − uold

p

)· kpl

2+(unew,clippedq − uold

q

)· kql

2(3.2.45)

3.2.5. Algoritmo SMO para la AD-SVM

Teniendo todos los componentes de nuestro solver definidos, podemos ordenarlos

en un algoritmo iterativo para realizar el entrenamiento de la AD-SVM, como el que

se muestra en el algoritmo 2.

Hay que considerar que el algoritmo 2 es bastante general. El algoritmo que se

implemento para realizar los experimentos (disponible en [Can]) tiene un esquema al-

go mas complejo, que utiliza ciclos internos y externos similares a los propuestos por

Platt en [Pla99], descritos brevemente al final de la subseccion 2.3.3. Adicionalmente,

el algoritmo implementado tambien cuenta con un cache para almacenar productos de

Kernel ya calculados, que tiene un tamano definible por el usuario. Este cache sigue el

esquema LRU (Least Recently Used), el cual descarta los elementos que menos reciente-

mente se han utilizado cuando ya no queda espacio para almacenar nuevos elementos.

44

Page 65: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Algoritmo 2 Ejemplo de Algoritmo SMO para la AD-SVM

1: Inicializar u satisfaciendo las restricciones (2.2.12) y (2.2.13).

2: Calcular Ft, ∀t ∈ I.

3: Encontrar βlowr y βup

r para cada clase r ∈ {1, . . . , K}.4: Mientras (βlow

r − βupr )/βlow

r > 2τ por lo menos para un r ∈ {1, . . . , K} , hacer

5: Para cada clase r ∈ {1, . . . , K} hacer

6: Seleccionar i : Fi = βupr .

7: Seleccionar j = arg mınt

{− b2

it

2ait, t ∈ Ilow

r ∧ Ft > Fi

}.

8: fin Para

9: Elegir el par de multiplicadores de Lagrange {ui, uj}r con valor mınimo −b2ij

2aijentre todas las clases r ∈ {1, . . . , K}.

10: Calcular{unew,clippedi , unew,clipped

j

}.

11: Actualizar Ft, ∀t ∈ I.

12: Encontrar el nuevo βlowr y el nuevo βup

r para cada clase r ∈ {1, . . . , K}.13: fin Mientras

45

Page 66: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Capıtulo 4

Experimentos y Resultados

En este capıtulo se describen los experimentos realizados durante el desarrollo de

la tesis: que datos se utilizaron, de donde se obtuvieron o como fueron generados; en

que consistieron los experimentos, como se disenaron, con que proposito y que resulta-

dos se obtuvieron de ellos.

4.1. Recursos

Para los experimentos, se dispuso de dos equipos:

1. Un computador con 8 nucleos de 2.00GHz cada uno y con 20GB de memoria

RAM, con sistema operativo CentOS Linux 5.2 (kernel 2.6.18).

2. Un computador con 2 nucleos de 1.83GHz cada uno y con 2GB de memoria RAM,

con sistema operativo Arch Linux (kernel 2.6.35).

Para compilar los programas utilizados se empleo el compilador GCC version 4.5.1.

Para todos los experimentos se utilizo un solo procesador a la vez (no se utilizaron

algoritmos paralelos). Nunca se corrieron mas de 7 experimentos a la vez en el caso de

la primera maquina, ni mas de 1 experimento a la vez en el caso de la segunda, para no

sobrecargar los computadores y obtener tiempos de ejecucion mayores a los esperados.

Solamente en los experimentos descritos en la subseccion 4.5.1 se utilizo la segunda

maquina. En el resto de los experimentos, se utilizo la maquina de 8 nucleos.

46

Page 67: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4.2. Bases de Datos Utilizadas

A lo largo de los experimentos, se utilizaron conjuntos de datos de distintos pro-

blemas de clasificacion. La mayorıa de ellos se obtuvieron a partir de bases de datos

publicas, mientras que otros se generaron a partir de muestreos de algunos de los

conjuntos originales. La tabla 4.1 muestra una descripcion de los conjuntos de datos

originales utilizados.

Problema n m K (n×m) test

Iris 4 150 3 600 30

Wine 13 178 3 2314 36

Soybean small 35 47 4 1645 9

Waveform v.2 40 (no) 3 (no) (no)

Ecoli 8 336 9 2688 66

Glass 9 214 6 1926 (no)

Vowel 10 528 11 5280 462

Satimage 36 4435 6 159660 2000

USPS 256 7291 10 1866496 2007

Letter 16 16008 26 256128 3992

Shuttle 9 43500 7 391500 14500

MNIST 784 60000 10 3920000 10000

Tabla 4.1 – Conjuntos de datos Originales

Siguiendo la nomenclatura usada hasta el momento, n corresponde al numero de

caracterısticas que tienen los ejemplos de un problema dado, m viene a ser el numero

total de ejemplos de entrenamiento del problema, K es el numero de clases y test

corresponde al numero de ejemplos que tiene el conjunto de prueba con el que viene cada

problema. El valor (n×m) puede considerarse como el tamano del problema, y si bien

hay muchos mas factores que determinan que tan difıcil es resolver el entrenamiento

de un problema dado (como el desbalance de las clases, el ruido de los ejemplos o la

disposicion de los datos en el espacio caracterıstico), esta medida da una primera idea

de cual de los problemas podrıa tomar mas tiempo en ser resuelto.

47

Page 68: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Tanto el conjunto de datos USPS [Hul94] como el conjunto MNIST [BM98] fueron

obtenidos desde el sitio [CL01a] con los escalamientos provistos ahı.

Los conjuntos de datos Ecoli, Iris, Letter, Satimage, Shuttle, Soybean small, Vowel

y Wine fueron descargados desde el sitio [BM98]. A los datos de entrenamiento de

estos problemas se les realizo una normalizacion para que las medias y desviaciones

estandar de cada una de sus caracterısticas fuera de 0 y 1 respectivamente. Esta misma

normalizacion se le aplico a los conjuntos de prueba. Notese que la normalizacion

aplicada a los conjuntos de prueba podrıa generar medias y desviaciones estandar no

necesariamente iguales a 0 y 1.

El conjunto de datos Glass tambien fue obtenido desde el sitio [BM98]. Sin embargo,

su normalizacion se realizo en funcion de la moda de cada caracterıstica y no en funcion

de la media, para ası dejar una mayor cantidad de elementos en los vectores con valor

igual a cero. Como se puede apreciar en la tabla, este problema no tiene un conjunto

de datos de prueba por separado. A modo de sustituto para el conjunto de prueba, en

este caso se utilizo una validacion cruzada con separacion de 5 segmentos (80 % para

entrenamiento - 20 % para prueba) utilizando la totalidad del conjunto original1.

Problema n m K (n×m) test

Waveform41 40 300 3 12000 100

Shuttle small 9 5000 7 45000 9005

Letter small 16 5000 26 80000 3992

MNIST small 784 5000 10 3920000 10000

Tabla 4.2 – Conjuntos de datos Modificados usados en los experimentos

Como se vera mas adelante, no todos los conjuntos de datos listados en la tabla 4.1

son utilizados en los experimentos. Algunos de estos conjuntos de datos son usados para

generar otros mas pequenos a traves de muestreos. Especıficamente, estos conjuntos

son Shuttle, Letter y MNIST. En los casos de los problemas Shuttle y Letter, tanto

sus muestreos como sus conjuntos originales son utilizados. Sin embargo en el caso de

1Tanto en los conjuntos generados para esta validacion cruzada como para los generados en valida-ciones cruzadas de otros experimentos, se trato de mantener la misma proporcion entre los tamanosde las clases que se apreciaba en el conjunto original, dejando por lo menos un ejemplo por clase enlos conjuntos de entrenamiento cuando la proporcion requerıa menos de uno.

48

Page 69: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

MNIST, solo su muestreo participan de los experimentos. En la tabla 4.2 se lista el

nombre de los muestreos realizados con una descripcion equivalente a la realizada en

la tabla 4.1. Los tres muestreos generados de esta manera mantienen los escalamientos

y las normalizaciones que se les realizaron a los conjuntos originales. No se aplicaron

tratamientos adicionales sobre estos.

En el caso del problema Waveform, no se trata de un conjunto de datos como

tal, sino de un generador de conjuntos (Waveform Database Generator - Version 2, el

cual tambien puede descargarse desde [BM98]). Este generador se utilizo para crear un

conjunto de datos de 300 ejemplos de entrenamiento y un conjunto de 100 ejemplos de

prueba. Los datos de los ejemplos de entrenamiento tambien fueron normalizados para

que sus medias y desviaciones estandar fueran iguales a 0 y 1. El conjunto de datos

generado esta listado en la tabla 4.2 como Waveform41.

Problema n m K (n×m) test

MNIST 0.54 % 784 323 10 253232 60

MNIST 0.95 % 784 567 10 444528 100

MNIST 1.01 % 784 606 10 475104 105

MNIST 1.68 % 784 1006 10 788704 171

MNIST 1.79 % 784 1074 10 842016 183

MNIST 3.18 % 784 1906 10 1494304 322

MNIST 2.98 % 784 1787 10 1401008 301

MNIST 5.28 % 784 3167 10 2482928 533

MNIST 5.64 % 784 3383 10 2652272 567

MNIST 9.38 % 784 5627 10 4411568 942

MNIST 10.01 % 784 6006 10 4708704 1004

MNIST 16.68 % 784 10007 10 7845488 1673

MNIST 17.80 % 784 10678 10 8371552 1783

MNIST 31.64 % 784 18982 10 14881888 3170

Tabla 4.3 – Muestreos de Conjuntos de datos provenientes del problema MNIST.

Como se vera en la subseccion 4.4.3, se realizaron experimentos para analizar el com-

portamiento del algoritmo propuesto a medida que el tamano del problema aumenta.

49

Page 70: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Para estos experimentos, los conjuntos de datos utilizados consisten en muestreos de

distintos tamanos del problema MNIST. En la tabla 4.3 se listan los distintos muestreos

generados.

4.3. Estrategias de Seleccion

Como se explico en las subsecciones 2.3.3 y 3.2.3, en la actualidad son dos las

principales tecnicas de seleccion que existen para elegir a los multiplicadores de La-

grange que son optimizados en cada paso. La primera (propuesta por Keerthi et al

en [KSMB01, KG02]), consiste en utilizar el par maximo violador como candidato en

cada paso. La segunda (propuesta por Chen et al en [FCL05, CFL06]) consiste en elegir

el par de multiplicadores utilizando la informacion de segundo orden provista por la

funcion objetivo.

Para decidir cual de las dos tecnicas es mas adecuada para entrenar a la AD-SVM, se

probo el desempeno de ambas en cuanto a precision de clasificacion sobre los conjuntos

de pruebas y tiempo de entrenamiento. Los conjuntos de datos utilizados para esto

fueron Iris, Wine, Soybean small, Waveform41, Ecoli, Vowel, Satimage, Shuttle small,

Letter small, MNIST small y USPS. Se empleo una funcion de Kernel Gaussiana de la

forma K(xj,xj) = e(−‖xi−xj‖2/σ2), con parametro σ.

Para los problemas Iris, Wine, Soybean small, Waveform41 y Ecoli se utilizaron los

valores de los parametros σ y µ provistos por la publicacion [NCA+09]. Para determinar

el valor optimo de los parametros σ y µ en los problemas Vowel, Satimage, Shuttle

small, Letter small, MNIST small y USPS, se realizo una busqueda grillada usando

validacion cruzada con separacion de 10 segmentos sobre el conjunto de prueba (90 %

para entrenamiento - 10 % para prueba) para los conjuntos Vowel, Satimage, Shuttle

small, Letter small y MNIST small y con separacion de 5 segmentos para el caso de la

USPS (80 % para entrenamiento - 20 % para prueba).

Los valores probados consisten en una grilla logarıtmica de base 2:

σ ∈{

2−4/2, 2−3/2, . . . , 29/2, 210/2}, (4.3.1)

µ ∈{

1, 2−(1·log2(ms)/14), . . . , 2−(13·log2(ms)/14), 2−(14·log2(ms)/14)}. (4.3.2)

50

Page 71: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Donde ms es el tamano de la clase mas pequena de entre todos los conjuntos de en-

trenamiento generados para las validaciones cruzadas de un mismo problema. Los po-

sibles valores de µ cubiertos obedecen a la observacion de que valores menores que

2−(14·log2(ms)/14) = 1/ms llevan a un problema de optimizacion irresoluble, mientras

que valores mayores que 1 no cambian el espacio resoluble del problema (la solucion a

la que se llega con cualquier valor µ > 1 sigue siendo la misma que aquella encontrada

con µ = 1).

0

20

40

60

80

100

iriswine

soybean−small

waveform41

ecolivowel

satimage

shuttle−small

letter−small

mnist−sm

all

usps

Porc

enta

ge d

e P

recis

ión

K=CK=C

K=C K=C

K=C

K<C

K<C

K<C

K>C K<C

K=C

Keerthi et alChen et al

Figura 4.1 – Comparacion de Resultados de los experimentos Keerthi et al v/s Chen

et al en cuanto a Precision de Clasificacion sobre el conjunto de prueba.

En todos los experimentos, la tolerancia utilizada fue de 0.001 y el tamano del

cache empleado fue el mismo para ambos algoritmos. Como en los problemas de menor

tamano el tiempo de ejecucion se hacıa muy corto, se utilizo la medida de Numero de

Kernel Calls2 (Llamadas de Kernel) para comparar los tiempos de entrenamiento. En

la tabla 4.4 se muestran los resultados de los experimentos.

Como se puede apreciar de la tabla de resultados 4.4 y del grafico 4.1, en la mayorıa

2El Numero de Kernel Calls cuenta cada vez que un producto kij es usado en el algoritmo, ya seasi se esta calculando en el momento o si se obtiene a partir del cache.

51

Page 72: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Problema E. Selec. σ & µ Prec. % NoKernel Calls Tiempo E.

Iris Keerthi σ = 0.7 100 7.23× 104 0.05 secs

ms = 8 Chen µ = 1 100 7.63× 104 0.05 secs

Wine Keerthi σ = 4 97.22 8.96× 104 0.08 secs

ms = 43 Chen µ = 1 97.22 8.90× 104 0.08 secs

Soybean small Keerthi σ = 300 100 4.77× 103 0.01 secs

ms = 374 Chen µ = 1 100 5.97× 103 0.01 secs

Waveform41 Keerthi σ = 40 82 3.81× 105 2.73 secs

ms = 5 Chen µ = 0.02 82 4.05× 105 2.83 secs

Ecoli Keerthi σ = 0.6 83.33 3.40× 105 0.34 secs

ms = 1 Chen µ = 0.4 83.33 4.74× 105 0.4 secs

Vowel Keerthi σ = 2 44.81 2.55× 106 1.91 secs

ms = 43 Chen µ = 0.068 44.81 2.91× 106 2.07 secs

Satimage Keerthi σ = 2.828 88.20 4.97× 107 77.16 secs

ms = 374 Chen µ = 0.034 88.30 4.27× 107 75.31 secs

Shuttle small Keerthi σ = 4 99.70 1.30× 107 21.31 secs

ms = 5 Chen µ = 0.224 99.71 3.14× 107 34.88 secs

Letter small Keerthi σ = 2.828 60.82 1.06× 108 153.79 secs

ms = 1 Chen µ = 1 60.82 1.15× 108 153.92 secs

MNIST small Keerthi σ = 32 93.57 7.72× 107 1258.7 secs

ms = 407 Chen µ = 0.032 93.55 7.82× 107 1276.08 secs

USPS Keerthi σ = 32 93.12 7.14× 107 749.03 secs

ms = 433 Chen µ = 0.272 93.21 1.08× 108 764.75 secs

Tabla 4.4 – Resultados de los experimentos sobre Estrategias de Seleccion, Keerthi v/s

Chen, donde Tiempo E. significa Tiempo de Entrenamiento

de los experimentos no hay una diferencia en el porcentaje de ejemplos correctamen-

te clasificados, y cuando la hay, esta diferencia es considerablemente baja. De todas

formas, hay cuatro casos en los que la estrategia de seleccion de Chen et al alcan-

za mejores resultados que la de Keerthi et al (Satimage, Shuttle small, Letter small,

USPS), mientras que hay solo una en la que el mejor resultado se lo lleva la estrategia

52

Page 73: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

1000

10000

100000

1e+06

1e+07

1e+08

1e+09

iriswine

soybean-small

waveform41

ecolivowel

satimage

shuttle-small

letter-small

mnist-sm

all

usps

Kern

el Calls (

log)

Keerthi et alChen et al

Figura 4.2 – Comparacion de Resultados de los experimentos Keerthi et al v/s Chen

et al en cuanto a Tiempo de Entrenamiento.

de Keerthi (MNIST small).

En cuanto al numero de Kernel Calls, la situacion se invierte (ver tabla 4.4 y

grafico 4.2), siendo solamente dos casos (Wine, Satimage) en donde la estrategia de

Chen presenta menores llamadas, mientras que en todas las demas Keerthi obtiene

los mejores resultados. Tambien se debe senalar que estas diferencias en tiempo de

entrenamiento son relativamente bajas y la brecha no pareciera crecer en proporcion

con el tamano del problema.

A pesar de que las diferencias en tiempo y en precision son ambas relativamente

bajas entre las dos estrategias de seleccion, en este trabajo hemos decidido continuar

utilizando la estrategia de Chen et al, la cual presenta mejores resultados de clasificacion

a un bajo costo en tiempo de ejecucion, ademas de presentar mejores resultados en el

caso de las SVMs binarias, como se muetra en los trabajos [FCL05] y [CFL06].

53

Page 74: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4.4. Evaluacion de Propiedades

En esta seccion se muestran experimentos que exploran posibles escenarios en los

que tendrıa que funcionar el algoritmo: con alta o baja disponibilidad de recursos en

memoria (subseccion 4.4.1); bajo la necesidad de una precision permisiva o exigente

(subseccion 4.4.2); y con problemas de pequeno o gran tamano (subseccion 4.4.3). Se

analiza si el algoritmo converge bajo las distintas condiciones probadas y se observa

como cambia el tiempo de entrenamiento, la capacidad de generalizacion de la maquina

(que tan bien clasifica los ejemplos de los conjuntos de prueba) y otras propiedades en

funcion de los distintos factores examinados.

4.4.1. Comportamiento del Algoritmo v/s Tamano del Cache

Se realizaron una serie de experimentos para ver de que manera afecta el tamano

del cache en el tiempo de entrenamiento del algoritmo propuesto. Para todos los experi-

mentos se utilizo el conjunto de datos de entrenamiento MNIST 1.68 % (1006 ejemplos)

y el conjunto de datos de prueba MNIST 5.28 % (533 ejemplos). En todos ellos se em-

pleo el Kernel Gaussiano con los parametros optimos encontrados para el problema

MNIST small en los experimentos de la seccion 4.3 (σ = 32, µ = 0.032). Los porcen-

tajes de cache3 probados fueron 10 %, 20 %, 30 %, 40 %, 50 %, 60 %, 70 %, 80 %, 90 %

y 100 %. Para cada porcentaje de cache se realizaron cuatro experimentos con semillas

distintas (para el generador de numeros pseudoaleatorios utilizados en la inicializacion

del algoritmo) cada uno. De estos cuatro experimentos, uno tenıa la misma semilla

en todos los porcentajes probados, mientras los otros tenıan una semilla distinta para

cada caso. La tolerancia exigida en todos los experimentos fue de 0.001.

Los resultados de los tiempos de entrenamiento versus el porcentaje de cache uti-

lizado se muestran en el grafico 4.3. Como se puede apreciar del grafico, el tiempo de

entrenamiento pareciera descender de manera exponencial a medida que aumenta el

tamano del cache. De hecho, la lınea verde del grafico corresponde a la regresion

f(x) = a · ebx + c, con a = −118546, b = 0.319321, c = −a.

3Como porcentaje de cache se entiende el numero total de productos de Kernel que como maximose pueden llegar a almacenar en cache dividido por el numero total de productos de Kernel que existenpara el problema dado.

54

Page 75: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

0

500

1000

1500

2000

2500

3000

3500

4000

10 20 30 40 50 60 70 80 90 100

Tie

mpo d

e E

ntr

enam

iento

(secs)

Porcentage de Caché

T. Entrenamiento v/s % de CachéRegresión T. Entrenamiento

Figura 4.3 – Resultados de Experimentos: Tiempo de Entrenamiento v/s Tamano del

Cache.

En donde x viene a ser el porcentaje de cache empleado y f(x) el tiempo total de

entrenamiento (en segundos) en funcion de dicho porcentaje. Tanto el numero de Kernel

Calls como el numero de Support Vectors vario levemente con todos los experimentos,

presentando una media de 5.76× 106 ± 9.40× 104 y 734.68± 1.14 respectivamente. El

error de entrenamiento y el error de prueba no variaron a lo largo de los experimentos,

siendo el primero de 0.60 % y el segundo de 12.38 %.

Un comportamiento esperable podrıa haber sido que, cuando el tamano del cache die-

ra a basto para cubrir los productos de Kernel involucrados en el calculo de los Fl’s de

todos los Support Vectors, el tiempo de entrenamiento serıa relativamente similar. Sin

embargo, como se puede ver en la grafica, la disminucion del tiempo de entrenamiento

es gradual, y no se estanca en un mınimo pasado un cierto porcentaje de cache. La

explicacion de esto puede ser que, en este caso, el porcentaje de Support Vectors es

relativamente alto (100 ∗ 734.68/1006 = 73 %). Debido a esto, el algoritmo de entrena-

miento debe buscar entre la totalidad de los ejemplos (o un porcentaje cercano al total)

55

Page 76: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

para poder dar con todos los Support Vectors. Es posible que en problemas en don-

de el porcentaje final de Support Vectors sea menor podrıa darse un comportamiento

del tiempo de entrenamiento en funcion al tamano del cache como el anteriormente

mencionado.

4.4.2. Comportamiento del Algoritmo v/s Tolerancia

Se realizaron una serie de experimentos para ver de que manera afecta la tolerancia

exigida en el criterio de termino sobre el error de clasificacion en el conjunto de prueba y

sobre el tiempo de entrenamiento del algoritmo propuesto. Para todos los experimentos

se utilizo el conjunto de datos de entrenamiento MNIST 5.28 % (3167 ejemplos) y el

conjunto de datos de prueba MNIST 5.64 % (567 ejemplos). En todos ellos se empleo el

Kernel Gaussiano con los parametros optimos encontrados para el problema MNIST

small (σ = 32, µ =0.032). Las tolerancias probadas fueron 1, 0.5, 0.3, 0.2, 0.1, 0.05,

0.02, 0.01, 0.005, 0.002, 0.001, 0.0005 y 0.0001. En un principio, para cada tolerancia se

realizaron cuatro experimentos. Sin embargo, cuando se observo que las varianzas del

error de clasificacion variaban considerablemente para las tolerancias de la 1 a la 0.002,

se decidio realizar cuatro experimentos mas para estos diez valores. Se utilizaron las 8

semillas distintas, las cuales fueron reutilizadas para cada valor de tolerancia (excepto

en los tres valores mas exigentes, en los cuales se utilizaron solo 4 de las 8 semillas).

En todos los experimentos, el cache empleado cubrıa la totalidad de los productos de

Kernel almacenables para el problema.

Los resultados de los tiempos de entrenamiento versus la tolerancia exigida se mues-

tran en el grafico 4.4. Como se puede apreciar del grafico, el tiempo de entrenamiento

pareciera estancarse en extremos maximos y mınimos a medida que disminuye y au-

menta la tolerancia empleada, asemejandose la curva a una tangente hiperbolica. La

curva verde del grafico es el resultado de la regresion

f(x) = a · tanh(bx) + c, con a = −334.162, b = 6.957, c = 531.101.

En donde x viene a ser la tolerancia exigida y f(x) el tiempo total de entrenamiento

(en segundos) en funcion de dicha tolerancia.

56

Page 77: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

150

200

250

300

350

400

450

500

550

0.0001 0.001 0.01 0.1 1

Tie

mpo d

e E

ntr

enam

iento

(secs)

Tolerancia (log)

T. Entrenamiento v/s ToleranciaRegresión T. Entrenamiento

Figura 4.4 – Resultados de Experimentos: Tiempo de Entrenamiento v/s Tolerancia.

Los resultados del numero de Support Vectors y de Boundary Support Vectors4

encontrados versus la tolerancia exigida se muestran en el grafico 4.5. Para poder

mostrar ambos valores en la misma grafica, los valores fueron escalados por los valores

maximos encontrados en cada caso (1483 para los SVs y 27 para los BSVs). Como se

puede ver en el grafico, el numero de SVs tiene un comportamiento similar al del tiempo

de entrenamiento, estancandose en un valor mınimo de 320 SVs cuando la tolerancia es

muy alta, y estancandose en un maximo de 1483 SVs cuando la tolerancia es cercana

a cero. La lınea verde del grafico es el resultado de la regresion

f(x) = a · tanh(bx) + c, con a = −334.162, b = 6.957, c = 531.101.

En donde x viene a ser la tolerancia exigida y f(x) el tiempo total de entrenamiento

(en segundos) en funcion de dicha tolerancia.

Por otro lado, el comportamiento de los BSVs es algo mas erratico, partiendo con

muy pocos (solo uno o cero BSVs), aumentando con alta varianza hasta un maximo de

27 BSVs en la tolerancia de 0.1 y disminuyendo luego en varianza y en numero hasta

4Los Boundary Support Vectors (BSVs) o Vectores de Soporte de la Frontera, son aquellos vectoresde soporte cuyo multiplicador de Lagrange tiene un valor igual a µ.

57

Page 78: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

0

0.2

0.4

0.6

0.8

1

0.0001 0.001 0.01 0.1 1

Núm

ero

de S

Vs N

orm

alizado

Tolerancia (log)

(Nº SVs)/Max(Nº SVs)Regresión SVs Norm.

(Nº BSVs)/Max(Nº BSVs)Regresión BSVs Norm.

Figura 4.5 – Resultados de Experimentos: N◦de SVs v/s Tolerancia. En puntos rojos se

muestra el numero de SVs dividido por el maximo numero de SVs encontrados durante

los experimentos (1483), mientras que en puntos azules se muestra el numero de SVs de

frontera (BSVs) dividido por el maximo numero de BSVs encontrados (27).

un valor de 20 BSVs. La lınea azul de la grafica viene a ser el resultado de la regresion

f(x) = a · ebx(cx+ d) + g · ehx(ix+ j),

con a = − 0.16573, b = −57.5661, c = −1.26894, d = 1.37413,

g = − 2.86007 h = −7.51051, i = −0.189108, j = −4.12925.

Los resultados del error de clasificacion sobre el conjunto de prueba versus la tole-

rancia exigida se muestran en el grafico 4.6. Como se puede ver en el grafico, el error

de prueba pareciera aumentar exponencialmente a medida que aumenta la tolerancia

permitida. De hecho, la curva verde del grafico corresponde a la regresion

f(x) = a · ebx + c, con a = −98.5869, b = −0.202635, c = 104.471.

En donde x viene a ser la tolerancia exigida y f(x) el porcentaje de ejemplos de

prueba clasificados erroneamente en funcion de dicha tolerancia. Si se mira con detalle

58

Page 79: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

5

10

15

20

25

30

35

0.0001 0.001 0.01 0.1 1

% E

rror

de C

lasific

ació

n

Tolerancia (log)

% Error de Prueba v/s ToleranciaRegresión % Err. Prueba

Figura 4.6 – Resultados de Experimentos: Error de Clasificacion v/s Tolerancia.

el grafico, se puede apreciar que los menores errores de clasificacion se logran con las

tolerancias 0.02 y 0.01 con un error de 5.996 %, mientras que el error de clasificacion al

que se llega a medida que la tolerancia tiende a cero es de 6.349 %. Esto se debe a que

con tolerancias no tan exigentes se alcanza un menor numero de Support Vectors, lo

cual puede llevar a una mejor capacidad de generalizacion de la maquina. Sin embargo,

tambien debe observarse que a menor tolerancia, mayor varianza entre los experimentos.

De todas formas, se puede apreciar que con una tolerancia relativamente baja de 0.1 ya

se obtienen errores de generalizacion entre un 7.7 % y un 6.0 %, lo cual habla bien de

la robustez al parametro de tolerancia en la maquina. Los niveles de tolerancia ideales

parecieran encontrarse entre el 0.01 y el 0.1, que generan niveles de error razonables

a escalas de tiempo menores. Sin embargo, si se prefiere tener resultados mas precisos

(aunque no necesariamente mas exactos), con una tolerancia de 0.001 ya se alcanzan

valores bajos en varianza tanto para el tiempo, para el numero de SVs, para el numero

de BSVs y para el error de clasificacion.

59

Page 80: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4.4.3. Comportamiento del Algoritmo v/s Tamano del Pro-

blema

Se realizaron una serie de experimentos para ver de que manera afecta el tamano del

problema sobre el tiempo de entrenamiento del algoritmo propuesto, el error de clasifi-

cacion y el porcentaje de Support Vectors. Para estos experimentos se utilizaron todos

los conjuntos de entrenamiento listados en la tabla 4.3. Para medir el de error de clasifi-

cacion sobre los ejemplos de prueba se utilizo solamente el conjunto de datos de prueba

MNIST 10.01 % (1004 ejemplos). En todos los experimentos se empleo el Kernel Gaus-

siano con los parametros optimos encontrados para el problema MNIST small (σ = 32,

µ =0.032). Para cada tamano de problema distinto se realizaron cuatro experimentos

con semillas distintas. Las semillas usadas fueron distintas para cada experimento. La

tolerancia exigida en todos los experimentos fue de 0.001. El cache utilizado cubrıa el

80 % de los productos totales de Kernel en cada experimento.

0

2000

4000

6000

8000

10000

12000

14000

16000

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

Tie

mpo d

e E

ntr

enam

iento

(secs)

Número de Ejemplos

T. Entrenamiento v/s Nº EjemplosRegresión T. Entrenamiento

Figura 4.7 – Resultados de Experimentos: Tiempo de Entrenamiento v/s Tamano del

Problema.

Los resultados de los tiempos de entrenamiento versus el tamano del problema se

60

Page 81: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

muestran en el grafico 4.7. Como se puede apreciar del grafico, el tiempo de entre-

namiento pareciera escalar de forma cuadratica a medida que aumenta el tamano del

problema. Ası mismo, la lınea verde del grafico es el resultado de la regresion

f(x) = ax2 + bx+ c, con a = 3.50× 10−5, b = 0.106063, c = 26.3193.

En donde x viene a ser el tamano del problema (medido en numero de ejemplos) y

f(x) el tiempo total de entrenamiento (medido en segundos) en funcion del tamano.

4

6

8

10

12

14

16

18

20

22

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

% E

rror

de C

lasific

ació

n

Número de Ejemplos

% Error de Prueba v/s Nº EjemplosRegresión % Err. Prueba

Figura 4.8 – Resultados de Experimentos: Error de Clasificacion v/s Tamano del Pro-

blema.

Los resultados del error de clasificacion sobre el conjunto de prueba versus el tamano

del problema se muestran en el grafico 4.8. Como se puede notar en el grafico, el error

de clasificacion pareciera disminuir exponencialmente a medida que se dispone de un

mayor numero de ejemplos de entrenamiento. De hecho, la curva verde del grafico

corresponde a la regresion

f(x) = a · ebx + c · edx + h,

con a = 10.8202, b = −0.000551854,

c = 3a, d = 10b, h = 6.29141.

61

Page 82: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

En donde x viene a ser el tamano del problema (medido en numero de ejemplos) y f(x)

el porcentaje de ejemplos de prueba clasificados erroneamente en funcion del tamano.

10

20

30

40

50

60

70

80

90

100

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

Porc

enta

ge d

e S

upport

Vecto

rs (

% S

Vs)

Número de Ejemplos

%SVs = 100*(Nº SVs)/(Nº Ejemplos)Regresión % SVs

Figura 4.9 – Resultados de Experimentos: Porcentage de Support Vectors v/s Tamano

del Problema.

Los resultados del porcentaje de Support Vectors sobre el total de ejemplos de en-

trenamiento versus el tamano del problema se muestran en el grafico 4.9. Como se

puede notar en el grafico, el porcentaje de Support Vectors parece disminuir exponen-

cialmente a medida que el tamano del problema aumenta. Sin embargo, una mejor

regresion de los resultados (a la cual corresponde la lınea verde del grafico) esta dada

por

f(x) =a

(b+ x)+ c, con a = 1.61× 105, b = 1591.35, c = 12.202.

En donde x viene a ser el tamano del problema (medido en numero de ejemplos) y

f(x) el porcentaje de Support Vectors en funcion del tamano.

62

Page 83: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4.5. Comparacion contra Tecnicas Actuales

4.5.1. Comparacion de Solvers: Generico v/s SMO

Para probar las mejoras en tiempo del solver SMO propuesto y verificar si exis-

te alguna perdida significativa en cuanto a desempeno de clasificacion debido a las

heurısticas implicadas en el algoritmo, se realizaron experimentos contrastando estos

rendimientos con los producidos usando el solver generico que se habıa estado emplean-

do hasta ahora para examinar las capacidades de la AD-SVM. El solver generico en

cuestion es una implementacion en C++ y MATLAB del algoritmo descrito en [CL96].

En MATLAB, puede accederse a este mediante la rutina quadprog(...) (denominada

en los resultados de tablas y graficos como QuadProg).

Debido a las limitantes en cuanto a tiempo de ejecucion y espacio en memoria de

QuadProg que se producen al resolver problemas con matrices densas, solamente se

probaron conjuntos de datos de tamano pequeno (Iris, Wine, Soybean small, Wave-

form41 y Ecoli). En todos los experimentos utilizo un Kernel Gaussiano con parametro

σ. Al igual que en los experimentos de la seccion 4.3, los valores para σ y µ usados

fueron obtenidos de [NCA+09]. Los resultados de los experimentos se muestran en la

tabla 4.5.

Problema Solver σ & µ Prec. % Tiempo E.

Iris QuadProg σ = 0.7 96.67 3.23 secs

ms = 8 SMO µ = 1 100 0.09 secs

Wine QuadProg σ = 4 97.22 5.55 secs

ms = 43 SMO µ = 1 97.22 0.15 secs

Soybean small QuadProg σ = 300 100 0.27 secs

ms = 374 SMO µ = 1 100 0.01 secs

Waveform41 QuadProg σ = 40 80 109.35 secs

ms = 5 SMO µ = 0.02 82 0.67 secs

Ecoli QuadProg σ = 0.6 81.82 4.35 secs

ms = 1 SMO µ = 0.4 83.33 0.75 secs

Tabla 4.5 – Resultados de los experimentos QuadProg v/s SMO

63

Page 84: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

0

20

40

60

80

100

iriswine

soybean−small

waveform41

ecoli

Porc

enta

ge d

e P

recis

ión

96.67%97.22%

82.00% 81.82%

QuadProgSMO

Figura 4.10 – Comparacion de Resultados de los experimentos QuadProg v/s SMO en

cuanto a Precision de Clasificacion sobre el conjunto de prueba.

Como se aprecia de la tabla de resultados y del grafico 4.10, la diferencia entre

el desempeno de clasificacion de los dos solvers es bastante baja (no mayor que un

3.33 %), siendo el algoritmo SMO algo mas preciso en los 3 casos en los que no hubo

empate. Esto no se debe a una imprecision intrınseca del algoritmo descrito en [CL96],

sino mas bien a una terminacion prematura del algoritmo, terminacion implementada

de fabrica para evitar extensivos tiempos de ejecucion. Estos resultados muestran que

el solver SMO puede alcanzar los mismos niveles de precision (o por lo menos, niveles

muy similares) a los que alcanzarıa un solver teorico de precision absoluta aplicado a

la misma AD-SVM.

A pesar de que los resultados en cuanto a precision de clasificacion fueron bastante

similares, las diferencias en tiempo son notablemente altas. En el grafico 4.11 se muestra

en barras rojas el tiempo de entrenamiento ahorrado, el cual se calcula como:

% de T iempo Ahorrado =Tiempo QuadProg − Tiempo SMO

Tiempo QuadProg· 100.

Las barras verdes muestran cuantas veces el algoritmo SMO puede ser ejecutado en el

mismo periodo de tiempo que el solver QuadProg. Ambas comparaciones muestran la

64

Page 85: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

0

20

40

60

80

100

iriswine

soybean−small

waveform41

ecoli

0

40

80

120

160

20097.21%

35.9x

97.30%

37x

96.30%

27x

99.39%

163.2x 82.76%

5.8x

Porcentage de Tiempo AhorradoTiempo QuadProg / Tiempo SMO

Figura 4.11 – Comparacion de Resultados de los experimentos QuadProg v/s SMO en

cuanto a Tiempo de Entrenamiento.

gran diferencia que hay en tiempos de ejecucion. Si bien, los tiempos de estos experi-

mentos son relativamente pequenos, se debe notar que los tiempos del solver QuadProg

son siempre por lo menos un orden de magnitud mas altos, y es esperable que esta di-

ferencia siga aumentando a medida que crezca el tamano del problema involucrado.

Como se menciono anteriormente, la principal causa de estas diferencias de tiempo se

debe al hecho de que el algoritmo QuadProg necesita calcular completamente la matriz

Hessiana para poder empezar su ejecucion, mientras que el solver SMO computa uni-

camente una fraccion de los productos de Kernel de dicha matriz, y solamente cuando

se necesitan.

4.5.2. Comparacion de Maquinas: MC-SVM v/s AD-SVM

Se realizaron experimentos para medir y comparar el desempeno en clasificacion y

tiempo de entrenamiento de la AD-SVM con el algoritmo SMO propuesto contra la

SVM multi-categorıa mono-objetivo propuesta en [CS01] (denominada como MC-SVM

en las tablas y graficas de resultados). Para poder comparar ambas maquinas de forma

65

Page 86: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

independiente a optimizaciones de compilacion y de codigo, se utilizo el numero de

Kernel Calls para medir el tiempo de entrenamiento. Adicionalmente, no se hizo uso

del cooling de la tolerancia5 en ninguna de las dos maquinas.

Problema Maquina σ β & µ Prec. % NoKernel Calls

Glass MC-SVM 0.707 0.5 72.89 2.96× 106

ms = 8 AD-SVM 2.828 0.125 80.61 1.97× 105

Vowel MC-SVM 0.25 0.25 50.87 7.43× 105

ms = 43 AD-SVM 2 0.068 44.81 2.97× 106

Satimage MC-SVM 2 0.5 91.40 2.60× 109

ms = 374 AD-SVM 2.828 0.034 88.30 4.49× 107

Shuttle small MC-SVM 2 0.25 99.79 3.46× 108

ms = 5 AD-SVM 4 0.224 99.71 2.85× 107

Letter small MC-SVM 2.828 0.25 63.73 7.02× 1010

ms = 1 AD-SVM 2.828 1 60.82 1.19× 108

MNIST small MC-SVM 16 1 99.04 5.05× 108

ms = 407 AD-SVM 32 0.032 93.55 8.14× 107

USPS MC-SVM 5.657 0.5 95.37 5.48× 109

ms = 433 AD-SVM 32 0.272 93.21 1.22× 108

Letter MC-SVM 2.828 0.25 71.31 1.24× 1012

ms = 1 AD-SVM 2 1 65.66 8.43× 108

Shuttle MC-SVM 0.707 0.25 99.90 2.26× 109

ms = 5 AD-SVM 4 0.447 99.89 5.15× 108

Tabla 4.6 – Resultados de los experimentos MC-SVM v/s AD-SVM

En estos experimentos se probaron conjuntos de datos de tamanos variados (Glass,

Vowel, Satimage, Shuttle small, Letter small, MNIST small, USPS, Letter, Shuttle).

En todos los experimentos utilizo un Kernel Gaussiano con parametro σ. Al igual que

en los experimentos de la seccion 4.3, los valores para σ y µ usados fueron obtenidos

5El cooling de la tolerancia consiste en la iterativa refinacion de la tolerancia a traves del entrena-miento, partiendo desde una tolerancia relativamente permisiva hasta llegar a una de exigencia masestricta.

66

Page 87: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

mediante una busqueda grillada y validada por un proceso de validacion cruzada. Para

los problemas de tamanos pequeno y mediano (Glass, Vowel, Satimage, Shuttle small,

Letter small, MNIST small) se utilizo una validacion cruzada de 10 segmentos (90 %

para entrenamiento - 10 % para prueba) mientras que para los problemas de gran

tamano (USPS, Letter, Shuttle) se realizo una validacion cruzada de 5 segmentos (80 %

para entrenamiento - 20 % para prueba). Los valores probados para σ y µ son los

mismos que se muestran en (4.3.1) y (4.3.2), mientras que los valores probados para

el parametro β de la MC-SVM fueron

β ∈{

2−2, 2−1, . . . , 211, 212}. (4.5.1)

Los resultados de los experimentos se muestran en la tabla 4.6 y en los graficos 4.12

y 4.13.

100000

1e+06

1e+07

1e+08

1e+09

1e+10

1e+11

1e+12

1e+13

glassvowel

satimage

shuttle-small

letter-small

mnist-sm

all

uspsletter

shuttle

Kern

el Calls (

log)

MC-SVMAD-SVM

Figura 4.12 – Comparacion de Resultados de los experimentos MC-SVM v/s AD-SVM

en cuanto a Kernel Calls (Numero de Llamadas de Kernel).

Como se puede notar del grafico 4.12, en la mayorıa de los casos, el numero de

Kernel Calls es mayor para la MC-SVM que para la AD-SVM, con una diferencia en

orden de magnitud de por lo menos 1, alcanzando diferencias de hasta 4 ordenes mas,

67

Page 88: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

como en el caso del problema Letter. No queda claro si la diferencia en los tiempos

de entrenamiento escala lineal o cuadraticamente con el tamano del problema, pero

sı pareciera que dicha diferencia no es constante y varıa mucho de caso en caso.

0

20

40

60

80

100

glassvowel

satimage

shuttle−small

letter−small

mnist−sm

all

uspsletter

shuttle

Porc

enta

ge d

e P

recis

ión

MC−SVMAD−SVM

Figura 4.13 – Comparacion de Resultados de los experimentos MC-SVM v/s AD-SVM

en cuanto a Precision de Clasificacion sobre el conjunto de prueba.

En cuanto al desempeno de clasificacion, la situacion se invierte (ver grafico 4.13), y

es la MC-SVM la que exhibe una mejor precision al clasificar los ejemplos del conjunto

de prueba en casi todos los problemas. Debe notarse que esta diferencia en el error de

clasificacion es debido a las capacidades de la AD-SVM y no a limitaciones intrınsecas

del solver SMO propuesto (como se mostro en la seccion 4.5.1, un solver generico habrıa

obtenido similares desempenos para la AD-SVM). Estas diferencias en el desempeno

de clasificacion son esperadas, ya que la AD-SVM maneja un menor numero de res-

tricciones que la MC-SVM. Sin embargo, tambien debe notarse que la diferencia no es

superior al 6 %.

68

Page 89: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Capıtulo 5

Conclusiones y Trabajo Futuro

El algoritmo propuesto mostro empıricamente que convergıa bajo distintas condicio-

nes exploradas (tamano de cache, tolerancia exigida, tamano del problema y distintos

conjuntos de datos). Los resultados experimentales sugieren que, manteniendo el por-

centaje de cache utilizado y la tolerancia exigida, el tiempo de entrenamiento crece de

forma cuadratica con respecto al tamano del problema.

Tambien se observo que el tiempo de entrenamiento crece de manera exponencial a

medida que el tamano del cache disminuye, lo cual puede ser problematico para tratar

problemas de gran tamano en los que no se puede disponer de muchos recursos en

memoria. Sin embargo, los resultados tambien muestran que la proporcion de Support

Vectors encontrados disminuye a medida que el tamano del problema crece, por lo que,

en problemas de gran tamano podrıa no ser necesario un cache muy grande. El factor

principal de esta idea es que el algoritmo debe ser capaz de encontrar gran parte de

la totalidad de los Support Vectors en las primeras iteraciones del problema, para que

ası el comportamiento del algoritmo fuera similar al que tendrıa en condiciones donde

la totalidad de los productos de Kernel estuvieran almacenados en memoria.

Se contrastaron las capacidades del solver propuesto contra las del solver generico

que se estaba utilizando a la fecha, y se observo que no habıan mayores diferencias

en los errores de clasificacion, mientras que se observaba un gran ahorro en cuanto a

tiempos de entrenamiento.

Tambien se contrasto el desempeno de la AD-SVM contra el de la MC-SVM,

mostrandose que, a pesar de que la AD-SVM no superaba en clasificacion a la MC-SVM,

69

Page 90: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

obtenıa resultados bastante cercanos con una cantidad de computo mucho menor.

5.1. Objetivos Cumplidos

Se diseno e implemento un algoritmo tipo SMO para entrenar a la AD-SVM [CNCA10]

(objetivo I).

Se probaron dos heurısticas distintas para la seleccion de los multiplicadores de

Lagrange, y las dos mostraron pequenas diferencias, tanto en tiempo de entre-

namiento como en la calidad de la clasificacion (ver seccion 4.3). Finalmente, se

opto por la heurıstica propuesta por Chen et al por ser mas precisa, a pesar de

que la de Keerthi et al era mas rapida (objetivo 1).

Se evaluo la convergencia empırica del solver tipo SMO propuesto, bajo distin-

tos esquemas de tolerancia, tamanos de cache, tamanos de problema y tipos de

problema. En todos ellos, el algoritmo finalizo llegando al optimo global o a una

vecindad del mismo (objetivo 2).

Se comparo el rendimiento del solver propuesto versus el del solver generico que

se estaba utilizado para entrenar a la AD-SVM. En cuanto a error de clasificacion

los algoritmos era bastante similares (ver grafico 4.10), mientras que en tiempo

de entrenamiento, el solver propuesto mostro mejoras de entre un 82.76 % hasta

un 99.39 %, lo cual corresponde a decir que el algoritmo propuesto es entre 5.8 a

163.2 veces mas rapido (ver grafico 4.11) (objetivo 3).

Se probo el desempeno en tiempo de entrenamiento del solver SMO propuesto

con conjuntos de datos entre 528 y 5000 ejemplos (Vowel, Satimage, Shuttle smal

y Letter smal) en una maquina que demoraba alrededor de 400 segundos para

resolver el problema Vowel con el algoritmo generico. En todos estos experimen-

tos, el tiempo de entrenamiento obtenido por el algoritmo propuesto fue menor

a los 160 segundos (ver tabla 4.4) y los recursos de memoria fueron suficientes

para ejecutar el algoritmo (objetivo 4).

70

Page 91: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Se contrasto el rendimiento de la AD-SVM contra el de la MC-SVM (ver sec-

cion 4.5.2). Los resultados demostraron que la AD-SVM obtiene errores de cla-

sificacion cercanos a los de la MC-SVM (con diferencias no mayores al 6 %) con

una cantidad de computo de 1 a 4 ordenes de magnitud mas rapidos (objetivos

II y 5).

Adicionalmente, un trabajo cientıfico fue generado a partir de esta tesis [CNCA10]

que ya ha sido aceptado en un congreso internacional [BC10].

5.2. Trabajo Futuro

A partir del trabajo realizado, se puede afirmar que el algoritmo SMO propuesto

y la AD-SVM son metodos competitivos a las alternativas que actualmente se utilizan

en clasificacion multi-categorıa. Esto motiva a profundizar el trabajo teorico sobre el

analisis de sus propiedades. Entre los temas que se pueden continuar esta el de extender

las demostraciones formales de convergencia del algoritmo SMO en el caso binario

(como las mostradas en [KG02, Lin01, Lin02]) para el caso de la AD-SVM. Lo mismo

se puede decir de la redefinicion del termino aij descrito al final de la subseccion 3.2.3

para manejar funciones de Kernel semi-definidas o indefinidas [FCL05, CFL06].

En cuanto al desempeno del algoritmo en sus tiempos de entrenamiento, todavıa

se pueden realizar mejoras, como la implementacion de tecnicas tales como cooling de

la tolerancia o shrinking dinamico del problema [Joa99]. Adicionalmente, se pueden

investigar formas de modificar la formulacion de la AD-SVM para poder utilizar tecni-

cas, tales como las propuestas en [TKCC05] y [FGL+10], que independizan el tiempo

de entrenamiento del tamano del problema.

En cuanto a las capacidades de la AD-SVM, se pueden proponer modificaciones a su

diseno para que contemple la posibilidad de manejar multiples prototipos por clases o

que sea capaz de ponderar la distancia entre ciertas clases (mas difıciles de diferenciar)

por sobre otras. Tambien se pueden seguir estrategias combinadas, en donde la AD-

SVM proporcione una solucion inicial para otra maquina, mas precisa pero mas lenta

(como la MC-SVM), y analizar si esta estrategia conjunta reduce el tiempo total que

tendrıa la maquina mas precisa, cuando esta ultima es entrenada desde cero.

71

Page 92: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Apendice A

English Translation of

Demonstrations and Algorithms

NOTE: additional changes, contributions and corrections will be made in this appen-

dix (and in the whole document) from now to January 2011, so please revisit this file

at http://alumnos.inf.utfsm.cl/~dcontard/tesis.pdf to see new updates.

The solver that we propose here for training the AD-SVM has a structure and a

working scheme similar to those of the SMO algorithm used to train binary SVMs.

Said solver thus has the following components:

1. It has a stopping criteria that allows verification of when the training has

reached the optimal solution (or a solution that is in the vicinity of the optimum).

2. It has an (analytic) optimization step capable of efficiently modifying a subset

of two variables ul in each step of the training process to further approach the

optimal solution.

3. It has a(n heuristic) selection strategy that chooses the subset of two variables

ul to be optimized in each step, such that the convergence rate towards the

optimum is maximal or near this maximum.

72

Page 93: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

4. It has an update system that updates the values that are involved in the selec-

tion and optimization of the next subset of variables at the end of each optimi-

zation step in a reasonable amount of time.

All these components are organized in an algorithmic structure that uses them to

train the AD-SVM. Here, we will be presenting each one of these components, with the

derivations that justify their design.

A.1. KKT-Conditions for the AD-SVM and Stop-

ping Criteria

KKT-conditions [Kar39, KT51, Lue84] play an important roll in the determina-

tion of a stopping criteria for the binary SMO solver [PR98, CL01b, CFL06]. In this

section, we try to derive the KKT-conditions specific for the AD-SVM and try to

formulate a similar stopping criteria for this machine. Given the dual form of the AD-

SVM [NCA+09]:

minimize{u} D(u) =1

4uTKu =

1

4

∑i∈I

∑j∈I

uikijuj, (A.1.1)

subject to∑i∈Ir

ui = 1, r ∈ {1, 2, . . . , K} , (A.1.2)

0 ≤ ui ≤ µ, ∀i ∈ I, (A.1.3)

yi = [yi1, yi2, . . . , yiK ] , yis =

{(K − 1)/

√K, if i ∈ Is

−1/√K, in any other case,

(A.1.4)

and let i ∈ Ir and j ∈ Is, then:

αij = yi · yj =

{(K − 1), if s = r

−1, in any other case.(A.1.5)

Where K is a matrix of m ×m consisting of the elements kij = (yi · yj) kij = αijkij,

kij = K (xi,xj) is a Kernel product, I is the set of all indexes and Ir is the subset

of indexes belonging only to class Cr. We proceed to calculate the Lagrangian L of

73

Page 94: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

D(u), this consisting of the same function (A.1.1) minus all the equality (A.1.2) and

inequality restrictions (A.1.3), each of these multiplied by a new variable:

L =1

4

∑i∈I

∑j∈I

uikijuj +∑i∈I

ηi (ui − µ)−∑i∈I

δiui −K∑r=1

βr

(∑i∈Ir

ui − 1

), (A.1.6)

where the new variables ηi ≥ 0, δi ≥ 0 and βr (for i ∈ {1, . . . ,m} and r ∈ {1, . . . , K})are the KKT multiplier1. Since the objective function is convex, this KKT condi-

tions are necessary and sufficient to verify optimality. This means that u is a solution

of (A.1.1) if and only if there exist values for the multipliers ηl ≥ 0, δl ≥ 0 y βs such

that, ∀l ∈ I and ∀s : l ∈ Is, we have:

∇lL =1

2

∑j∈I

ujklj + ηl − δl − βs = 0, (A.1.7)

subject to: 0 ≤ ul ≤ µ,∑i∈Is

ui = 1, (A.1.8)

ηl (ul − µ) = 0, δlul = 0, (A.1.9)

ηl ≥ 0, δl ≥ 0, βs ∈ R. (A.1.10)

Equation (A.1.7) is the derivative of L with respect to Lagrange multiplier ul. The

two conditions in (A.1.8) are the constraints of problem (A.1.1). Conditions in (A.1.9)

express the idea that a Lagrange multiplier is not-null only when the constraint it con-

trols pushes, i.e. effectively constraints the solution. They are usually called conditions

of vanishing KKT gap. Conditions in (A.1.10) are in the definition of L. Note now that

these KKT conditions imply:

ul = 0 : ηl = 0, δl ≥ 0, Fl − βs ≥ 0,

ul = µ : ηl ≥ 0, δl = 0, Fl − βs ≤ 0,

0 < ul < µ : ηl = 0, δl = 0, Fl − βs = 0,

where Fl =1

2

∑j∈I

ujklj.

The value Fl can be seen as the gradient of the objective function with respect to ul.

1Note that the variables associated to equality restrictions must have values grater or equal to zero,meanwhile the multiplier associated to inequality restrictions can have any given real value.

74

Page 95: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Thus, the KKT Conditions for the AD-SVM can be summarized as follow:

ul = 0 ⇒ Fl − βs ≥ 0, (A.1.11)

ul = µ ⇒ Fl − βs ≤ 0, (A.1.12)

0 < ul < µ ⇒ Fl − βs = 0. (A.1.13)

Now we can form the following subsets of indexes for each class r ∈ {1, · · · , K}, in

function of the values that take the different multipliers ul in the course of the training

process:

I0s = {l : 0 < ul < µ ∧ l ∈ Is} , (A.1.14)

I1s = {l : ul = 0 ∧ l ∈ Is} , (A.1.15)

I2s = {l : ul = µ ∧ l ∈ Is} . (A.1.16)

The KKT Conditions can be conveniently rewritten (we are looking for efficient ways

to check optimality) as:

∃βs :

∀l ∈ Iups = I0

s ∪ I1s, Fl ≥ βs, (A.1.17)

∀l ∈ Ilows = I0

s ∪ I2s, Fl ≤ βs. (A.1.18)

Note that, if all KKT-conditions are met, the lowest value Fl in the subset of indexes

Iups will be greater or at least equal to the greatest value Fl in the subset of indexes

Ilows , for all the class s of the problem. Following this thought, we define:

βups = min {Fl : l ∈ Iup

s } , (A.1.19)

βlows = max

{Fl : l ∈ Ilow

s

}. (A.1.20)

All the KKT Conditions (and so, all the optimality conditions) are satisfied if and only

if [KSMB01]:

βlows ≤ βup

s , ∀s ∈ {1, . . . , K} . (A.1.21)

We can normalize this inequalities, so we can compare among the different classes and

see which one is violating the stopping condition the most:

(βups − βlow

s )/βlows ≥ 0 , ∀s ∈ {1, . . . , K} . (A.1.22)

75

Page 96: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Since is not always possible to reach optimality (due to arithmetic-calculation limi-

tations and other numeric-related problems), a tolerance τ defined by the user is often

used [Pla99]. If well defined, the use of this tolerance can allow a fast convergence with

a small trade-off in precision loss. Now, we can say that we have reached a τ -tolerant

optimality if:

βlows /βlow

s − τ ≤ βups /β

lows + τ, (A.1.23)

βlows /βlow

s ≤ βups /β

lows + 2τ, (A.1.24)

(βlows − βup

s )/βlows ≤ 2τ, ∀s. (A.1.25)

A.2. Analytic Solution for two Multipliers

Here we derive the formulations to show how to calculate the new values for two

Lagrange multipliers up, uq ∈ Ir. We start from the objective function (A.1.1), leaving

fixed all the Lagrange multipliers different to up, uq:

minimize{up,uq} D(up, uq) =1

4

∑i,j∈I

uiujkij

=1

4u2pkpp +

1

4u2qkqq +

1

4upuqkpq +

1

4uqupkqp

+1

4

∑i∈I/{p,q}

uiupkip +1

4

∑j∈I/{p,q}

upujkpj

+1

4

∑i∈I/{p,q}

uiuqkiq +1

4

∑j∈I/{p,q}

uqujkqj +1

4

∑i,j∈I/{p,q}

uiujkij (A.2.1)

=1

4u2pkpp +

1

4u2qkqq +

1

2upuqkpq

+1

2up ·

∑j∈I/{p,q}

ujkpj +1

2uq ·

∑j∈I/{p,q}

ujkqj + Ψconst. (A.2.2)

subject to∑i∈Ij

ui = 1 ∀j, 0 ≤ ui ≤ µ ∀i

76

Page 97: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

We can safely perform the step from (A.2.1) to (A.2.2) since the Kernel functions that

we are working with fulfill the equality K (xi,xj) = K (xj,xi). The restrictions can be

also rewritten in function of the two multipliers:

∑i∈Ir

ui = 1

⇐⇒ up + uq +∑

i∈Ir/{p,q}

ui = 1

⇐⇒ up + uq = 1−∑

i∈Ir/{p,q}

ui

⇐⇒ up + uq = ψ (A.2.3)

Note that in (A.2.3) only are involved multipliers that belong to the same class as up

and uq. Furthermore, in an implicit way is established that up y uq must belong to the

same class. This is due mainly to to restriction (A.1.2). If, for example, two multipliers

belonging to different classes were chosen and their values would be altered, then for

one of these classes, the sum of all its multipliers would be less than 1, meanwhile the

sum of the other class would be greater than 1. The only way to mend these imbalances

in the same optimization step would be by altering the value of two more multipliers

simultaneously. This kind of procedure would involve four multipliers at a time, which

escapes the context of this sort of algorithms.

Using (A.2.3) we can replace all the occurrences of up in (A.1.2) with ψ − uq. This

way, the entire objective function can be calculated solely in terms of uq:

minimize{uq} D(uq, ψ − uq) =1

4(ψ − uq)2 kpp +

1

4u2qkqq +

1

2(ψ − uq)uqkpq

+1

2(ψ − uq) ·

∑j∈I/{p,q}

ujkpj +1

2uq ·

∑i∈I/{p,q}

uikqi + Ψconst. (A.2.4)

Given the nature of the problem, optimality is achieved if:

∂D(uq, ψ − uq)∂uq

= ∇qD = 0 ∧ ∂2D(uq, ψ − uq)∂u2

q

= ∇2qD > 0

77

Page 98: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Deploying ∇qD we obtain:

∇qD =1

2

((−1) (ψ − uq) kpp + uqkqq + (ψ − uq) kpq − uqkpq

)− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi + 0

=1

2

(uq(kpp − 2kpq + kqq

)− ψ

(kpp − kpq

))− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi (A.2.5)

And ∇2qD can be stated as:

∇2qD =

1

2

(kpp − 2kpq + kqq

)(A.2.6)

Replacing (A.2.6) in (A.2.5) and solving for uq when ∇qD = 0, we have:

uq∇2qD−

1

2ψ(kpp − kpq

)− 1

2

∑j∈I/{p,q}

ujkpj +1

2

∑i∈I/{p,q}

uikqi = 0

uq∇2qD =

1

2ψ(kpp − kpq

)+

1

2

∑j∈I/{p,q}

ujkpj −1

2

∑i∈I/{p,q}

uikqi

unewq =

2−1

∇2qD

ψ (kpp − kpq)

+∑

j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi

(A.2.7)

For clarity we introduce unewq to denote the values of the variable uq after the current

optimization and uoldq to denote the previous values of uq . We can add and subtract

the old value of uq in the left side of equation (A.2.7):

unewq =uold

q +2−1

∇2qD

ψ (kpp − kpq)

+∑

j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi

− uoldq (A.2.8)

If we take the numerator of the fraction in (A.2.8) and insert(−uold

q

)in it, we obtain:

ψ(kpp − kpq

)+

∑j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi − 2uoldq ∇2

qD

= ψ(kpp − kpq

)+

∑j∈I/{p,q}

ujkpj −∑

i∈I/{p,q}

uikqi − uoldq

(kpp − 2kpq + kqq

)= − 2∇qD,

78

Page 99: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

thus simplifying equation (A.2.8) to:

unewq = uold

q −∇qD

∇2qD

(A.2.9)

This fits with the Newton Method for optimization, which could be important in order

to analyze convergence. Expanding ψ = uoldp +uold

q , the equation of ∇qW can be further

developed to achieve a more compact formulation of (A.2.8):

2∇qD = uoldq

(kpp − 2kpq + kqq

)−(uoldp + uold

q

) (kpp − kpq

)−

∑j∈I/{p,q}

ujkpj +∑

i∈I/{p,q}

uikqi

=

uoldq kqq + uold

p kpq +∑

i∈I/{p,q}

uikqi

uoldp kpp + uold

q kpq +∑

j∈I/{p,q}

ujkpj

=∑i∈I

uikqi −∑j∈I

ujkpj = Fq − Fp

⇒ unewq = uold

q −Fq − Fp

kpp − 2kpq + kqq(A.2.10)

With this formulation, all values needed to calculate unewq are easily distinguishable.

Moreover, as it will be seen in next sections, all of them are already available prior to

the calculation of unewq because they were previously calculated in the selection process.

As with the Binary SMO [Pla99, KSMB01], the unewq has to be clipped to conform to

the bounding constraints imposed by the constraints (A.1.2), (A.1.3) and (A.2.3):

unew,clippedq =

L, si unew

q ≤ L

unewq , si L < unew

q < H

H, si unewq ≥ H

(A.2.11)

where L = max {0, (ψ − µ)} , (A.2.12)

H = min {ψ, µ} . (A.2.13)

After this, unewp can be easily calculated:

unewp = ψ − unew,clipped

q (A.2.14)

79

Page 100: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

A.3. Selection Strategy to choose the Active Varia-

bles

The selection strategy to choose the Lagrange multipliers that are optimized in each

iteration of the SMO algorithm is really important in order to get a fast advance

towards the optimal solution of (A.1.1). Time complexity as well as space (memory)

complexity is also determined by the heuristics designed to select a good set of Lagrange

multipliers. More important, if the violating pair chosen in each iteration does not meet

certain conditions, the convergence of the algorithm cannot be assured [CFL06].

Following the idea proposed by Chen et al [FCL05, CFL06], we will try to find a

slight modification d for our vector of Lagrange multipliers u that should maximize

the convergence rate of D(u) towards the optimum. For this, we will consider that the

new vector unew = u + d will produce an alteration equivalent to an approximation of

second order of the objective function D(u):

D(unew) = D(u + d) = D(u) +∇D(u)Td + dT∇2D(u)d (A.3.1)

⇒ D(u + d)−D(u) = ∇D(u)Td + dT∇2D(u)d (A.3.2)

Given the nature of our solver, the vector d must meet certain restrictions: First, since

we are modifying only two indexes in each step, all elements of d must be zero, except

for two, dp and dq; Second, since the new vector unew must fulfill restriction (A.1.2),

both p and q must belong to the same class and dp = −dq; Third, the new vector unew

must also fulfill boundary restrictions (A.1.3), but as we see in the previous section,

this is cover in the clipping stage performed in the step described in (A.2.11). In other

words, vector d indicates which is the pair of ideal Lagrange multipliers to be optimized,

but it wont tell us in which amounts its values must be modified. With this in mind,

80

Page 101: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

we must solve the following subproblem:

minimize{d}D(d) = ∇D(u)Td + dT∇2D(u)d

= (Fpdp + Fqdq) +1

2

(d2pkpp + 2dpdqkpq + d2

qkqq)

(A.3.3)

subject to #|d : di 6= 0| = 2, (A.3.4)

and if dp 6= 0 ∧ dq 6= 0, p ∈ Ir, q ∈ Is

then dp = −dq ∧ r = s. (A.3.5)

Using equality dp = −dq to replace dp with −dq in (A.3.3), we get:

D(dq,−dq) = (Fqdq − Fpdq) +1

2

(d2qkpp − 2d2

pkpq + d2qkqq

)= dq (Fq − Fp) +

1

2d2q

(kpp − 2kpq + kqq

),

∇dqD(dq,−dq) = (Fq − Fp) + dq(kpp − 2kpq + kqq

),

∇2dqD(dq,−dq) = kpp − 2kpq + kqq. (A.3.6)

If we are using a semi-definite positive Kernel and we have that examples xp and xq

are not equivalent, then we know that (A.3.6) is strictly positive. This way, if we match

∇dqD(dq,−dq) to zero and we find the value of dq, then we obtain the value in which

D(dq,−dq) is at a minimum:

∇dqD(dq,−dq) = (Fq − Fp) + dq(kpp − 2kpq + kqq

)= 0

⇒ dq(kpp − 2kpq + kqq

)= − (Fq − Fp)

⇒ dq =− (Fq − Fp)(

kpp − 2kpq + kqq) (A.3.7)

∴ D(dq,−dq) =− (Fq − Fp)

2

2(kpp − 2kpq + kqq

) . (A.3.8)

With this information at our disposition, we can search in each class the pair {p, q}rthat minimizes (A.3.8) and we can keep the one with the lowest value. Nevertheless,

for this we must perform a search with an order ofK∑r=1

mr · (mr − 1) checks. If we

consider a problem in which all classes have the same number of elements, we should

have K · (m/K) · (m/K − 1) = m · (m/K − 1), that is less than the m(m− 1) revisions

that must be done in the case of the C-SVM, but this operation has a quadratic growth

81

Page 102: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

with respect to m. To avoid that this exhaustive search increases the algorithm runtime,

here we propose an heuristic similar to that proposed by Chen et al in [FCL05, CFL06],

this consisting in choosing p : Fp = βups and then searching q such that:

q = argmint

{−b2pt

2apt, t ∈ Ilow

s ∧ Ft > Fp

}(A.3.9)

where apt = kpp − 2kpt + ktt, bpt = Ft − Fp (A.3.10)

With this, we reduce the number of checks toK∑r=1

mr, which, for a problem with ba-

lanced classes, is equivalent to K · m/K = m. Note that a similar strategy can be

performed by choosing p : Fp = βlows . Note also that terms apt and bpt are the same

that those used in the calculation of the new values for the Lagrange multipliers in

step (A.2.10). Thus, once the pair to optimize {p, q}r is found, it is not necessary to

re-calculate these values.

In [FCL05, CFL06], Chen et al extended the application of this strategy for cases

in which a simetric Kernel that is not necessarily semi-definite positive is being used,

thus generating values of apt that are lower (or equal to) zero. For binary SVMs, they

proved that is enough to replace this value with apt = ς, were ς has a very small

positive value (0 < ς � 1). We have made tests of this extension in problems that

present different examples with identical characteristics (meaning that xp ≡ xt, which

generates apt = 0), finding the optimal solution without inconvenient, but we haven’t

proved the formal demonstration to validate said extension of the strategy in all the

cases that have been proved for binary SVMs.

A.4. Update System

Just as in the binary case, once the values of the two Lagrange multipliers to be

optimized, up and uq, are altered, the need to update the Fl’s values arises, let this be

to check if optimality has been reached or to continue in the search of new multipliers

to optimize. This calculation can be performed using the new and old values of up and

uq: up y uq:

Fnewl = Fold

l +(unew,clippedp − uold

p

)· kpl

2+(unew,clippedq − uold

q

)· kql

2(A.4.1)

82

Page 103: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

A.5. SMO Algorithm for the AD-SVM

Having all the components of our solver defined, we can arrange them in an iterative

algorithm to perform the training process of the AD-SVM, as that shown in algorithm 3.

Algorithm 3 Example of SMO solver for the AD-SVM

1: Initialize u satisfying restrictions (A.1.2) and (A.1.3).

2: Calculate Ft, ∀t ∈ I.

3: Find βlowr and βup

r for each class r ∈ {1, . . . , K}.4: While (βlow

r − βupr )/βlow

r > 2τ for at least one class r ∈ {1, . . . , K} , do

5: For each class r ∈ {1, . . . , K} do

6: Select i : Fi = βupr .

7: Select j = arg mint

{− b2

it

2ait, t ∈ Ilow

r ∧ Ft > Fi

}.

8: end For

9: Choose the pair of Lagrange multipliers {ui, uj}r with minimal value −b2ij

2aijamong all classes r ∈ {1, . . . , K}.

10: Calculate{unew,clippedi , unew,clipped

j

}.

11: Update Ft, ∀t ∈ I.

12: Find new βlowr and new βup

r for each class r ∈ {1, . . . , K}.13: end While

It must be taken into account that algorithm 3 is very generic. The algorithm

implemented to perform the experiments in this work (available at [Can]) has a rather

more complex scheme, that utilizes internal and external loops similar to those proposed

by Platt in [Pla99]. Additionally to this, the implemented algorithm also counts with a

cache to store calculated Kernel products, that has a custom size defined by the user.

This cache follows the LRU (Least Recently Used) scheme, that discards elements that

least recently have been used when there is no more space to store new Kernel values.

83

Page 104: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

Bibliografıa

[BB97] Kristin P. Bennett and Erin J. Bredensteiner. Geometry in Learning. Geo-metry at Work, 1997.

[BB00] Kristin P. Bennett and Erin J. Bredensteiner. Duality and Geometry inSVM Classifiers. Proc. 17th International Conf. on Machine Learning, pages57–64, 2000.

[BC10] Isabelle Bloch and Roberto M. Cesar, editors. Progress in Pattern Recog-nition, Image Analysis, Computer Vision, and Applications - 15th Iberoa-merican Congress on Pattern Recognition, CIARP 2010, Sao Paulo, Brazil,November 8-11, 2010. Proceedings, volume 6419 of Lecture Notes in Com-puter Science. Springer, 2010.

[BGV92] Bernhard E. Boser, Isabelle M. Guyon, and Vladimir N. Vapnik. A trainingalgorithm for optimal margin classifiers. In Proceedings of the 5th AnnualACM Workshop on Computational Learning Theory, pages 144–152. ACMPress, 1992.

[BM98] Cathy L. Blake and Christopher J. Merz. UCI repository of machine learningdatabases. http://mlr.cs.umass.edu/ml/index.html, 1998.

[Can] Diego Candel. Source code of the smo algorithm for the ad-svm. http:

//git.inf.utfsm.cl/?p=dcontard.git;a=summary.

[CB00] David J. Crisp and Christopher J. C. Burges. A Geometric Interpretationof ν-SVM Classifiers. Advances in Neural Information. Cambridge, USA:MIT, (12):244–250, 2000.

[CFL06] Pai-Hsuen Chen, Rong-En Fan, and Chih-Jen Lin. A study on SMO-typedecomposition methods for support vector machines. IEEE transactionson neural networks / a publication of the IEEE Neural Networks Council,17(4):893–908, July 2006.

[Cha07] Olivier Chapelle. Training a support vector machine in the primal. Neuralcomputation, 19(5):1155–78, May 2007.

84

Page 105: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

[CL96] Thomas F. Coleman and Yuying Li. A reflective newton method for mi-nimizing a quadratic function subject to bounds on some of the variables.SIAM J. on Optimization, 6(4):1040–1058, 1996.

[CL01a] Chih-Chung Chang and Chih-Jen Lin. Libsvm data: Classification (multi-class). http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/

multiclass.html, 2001.

[CL01b] Chih-Chung Chang and Chih-Jen Lin. Training ν-support vector classifiers:theory and algorithms. Neural computation, 13(9):2119–47, September 2001.

[CNCA10] Diego Candel, Ricardo Nanculef, Carlos Concha, and Hector Allende. A se-quential minimal optimization algorithm for the all-distances support vectormachine. In Bloch and Cesar [BC10], pages 484–491.

[Cra04] Koby Crammer. MCSVM 1.0: C code for multiclass svm. http://webee.

technion.ac.il/people/koby/code-index.html, 2004.

[CS01] Koby Crammer and Yoram Singer. On the algorithmic implementationof multiclass kernel-based vector machines. Journal of Machine LearningResearch, (2):265–292, 2001.

[CV95] Corinna Cortes and Vladimir Vapnik. Support-vector networks. MachineLearning, 20(3):273–297, 1995.

[FCL05] Rong-En Fan, Pai-Hsuen Chen, and Chih-Jen Lin. Working Set SelectionUsing Second Order Information for Training Support Vector Machines.Journal of Machine Learning Research, 6:1889–1918, 2005.

[FGL+10] Emanuele Frandi, Maria Grazia Gasparo, Stefano Lodi, Ricardo Nanculef,and Claudio Sartori. A new algorithm for training svms using approximateminimal enclosing balls. In Bloch and Cesar [BC10], pages 87–95.

[HSS08] Thomas Hofmann, Bernhard Scholkopf, and Alexander J. Smola. Kernelmethods in machine learning. Annals of Statistics, 36(3):1171–1220, 2008.

[Hul94] Jonathan J. Hull. A database for handwritten text recognition research.IEEE Trans. Pattern Anal. Mach. Intell., 16(5):550–554, 1994.

[Joa99] Thorsten Joachims. Making Large-Scale SVM Learning Practical. Advancesin Kernel Methods: Support Vector Learning, pages 169–184, 1999.

[Joa08] Thorsten Joachims. SVMmulticlass: Multi-class support vector machine.http://svmlight.joachims.org/svm_multiclass.html, 2008.

[Kar39] William Karush. Minima of functions of several variables with inequalitiesas side constraints. Master’s thesis, Dept. of Mathematics, Univ. of Chicago,1939.

85

Page 106: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

[KG02] Selvaraj Sathiya Keerthi and Elmer G. Gilbert. Convergence of a Ge-neralized SMO Algorithm for SVM Classifier Design. Machine Learning,46(1):351–360, 2002.

[KSMB01] Selvaraj Sathiya Keerthi, Shirish K. Shevade, Karuturi R. Krishna Murthy,and Chiranjib Bhattacharyya. Improvements to Platt’s SMO Algorithm forSVM Classifier Design. Neural Computation, 13(3):637–649, 2001.

[KT51] Harold W. Kuhn and Albert W. Tucker. Nonlinear programming. In Proc.2nd Berkeley Symposium on Mathematical Statistics and Probabilistics, pa-ges 481–492, Berkeley, 1951. University of California Press.

[Lin01] Chih-Jen Lin. On the convergence of the decomposition method for supportvector machines. IEEE Transactions on Neural Networks, 12:1288–1298,2001.

[Lin02] Chih-Jen Lin. Asymptotic convergence of an smo algorithm without anyassumptions. IEEE Transactions on Neural Networks, 13:248–250, 2002.

[Lue84] David G. Luenberger. Linear and Nonlinear Programming. Addison-Wesley,Reading, MA, 1984.

[NCA+09] Ricardo Nanculef, Carlos Concha, Hector Allende, Diego Candel, and Clau-dio Moraga. Ad-svms: A light extension of svms for multicategory classi-fication. International Journal of Hybrid Intelligent Systems, 6(2):69–79,2009.

[OFG97] Edgar E. Osuna, Robert Freund, and Federico Girosi. Support vector ma-chines: Training and applications. Technical report, 1997.

[Pla99] John C. Platt. Fast training of support vector machines using sequentialminimal optimization. pages 185–208, 1999.

[PR98] John C. Platt and Microsoft Research. Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines. pages 1–21, 1998.

[SS01] Bernhard Scholkopf and Alexander J. Smola. Learning with Kernels: Sup-port Vector Machines, Regularization, Optimization, and Beyond. MITPress, Cambridge, MA, USA, 2001.

[SSWB00] Bernhard Scholkopf, Alex J. Smola, Robert C. Williamson, and Peter L.Bartlett. New support vector algorithms. Neural computation, 12(5):1207–45, May 2000.

[TKCC05] Ivor W. Tsang, James T. Kwok, Pak-Ming Cheung, and Nello Cristianini.Core vector machines: Fast svm training on very large data sets. Journalof Machine Learning Research, 6:363–392, 2005.

86

Page 107: ALGORITMO TIPO SMO PARA LA AD-SVM APLICADO A …dcontard/tesis.pdf · la misma clase. En cualquier otro caso, ij vale 1. Ver p agina 22. ir Resultado del producto punto entre el vector

[Vap95] Vladimir N. Vapnik. The nature of statistical learning theory. Springer-Verlag, 1995.

87