ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

59

Transcript of ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

Page 1: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

ESTUDIO DE PROCEDIMIENTOS PARA ACELERAR LA

GENERACIÓN DE CLASIFICADORES COMBINADOS

PEDRO ANDRÉS RANGEL WALTEROS

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

BOGOTA D.C.

2005

Page 2: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

ESTUDIO DE PROCEDIMIENTOS PARA ACELERAR LA GENERACIÓN DECLASIFICADORES COMBINADOS

PEDRO ANDRÉS RANGEL WALTEROS

Trabajo de grado para optar al título de:Magister en Ingeniería Electrónica y de Computadores

Director:Fernando Enrique Lozano Martínez, Ph.D.

UNIVERSIDAD DE LOS ANDESFACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICABOGOTA D.C.

2005

Page 3: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Tabla de contenidos

1. Introducción 1

2. Notación y preliminares 3

2.1. Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.1. Problema de clasi�cación binaria . . . . . . . . . . . . . . . . . 32.1.2. Modelo PAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2. Algoritmos de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . 62.3. Clasi�cadores combinados . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3.1. Adaboost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3.2. Bagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4. Maquinas de vectores de soporte (SVM) . . . . . . . . . . . . . . . . . 11

3. Boosting Support Vector Machines 14

3.1. Support Vector Machines modi�cadas . . . . . . . . . . . . . . . . . . . 153.1.1. SVM con distribuciones . . . . . . . . . . . . . . . . . . . . . . 153.1.2. Support Vector Machines Debilitados . . . . . . . . . . . . . . . 19

3.2. Support Vector Machines como algoritmo de edición . . . . . . . . . . . 213.3. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.1. Boosting Support Vector Machines . . . . . . . . . . . . . . . . 233.3.2. Boosting SVM como Algoritmo de Edición . . . . . . . . . . . . 25

4. Algoritmos de Boosting Paralelo 29

4.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2. Algoritmo general de boosting paralelo . . . . . . . . . . . . . . . . . . 33

4.2.1. Combinar hipótesis y generar la siguiente distribución semilla . 344.2.2. Generar distribuciones utiles a partir de una distribución semilla 35

4.3. Boosting paralelo usando rotación de información . . . . . . . . . . . . 374.4. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.4.1. Experimentos con datos arti�ciales . . . . . . . . . . . . . . . . 394.4.2. Experimentos con datos reales . . . . . . . . . . . . . . . . . . . 43

5. Conclusiones 45

i

Page 4: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Índice de �guras

2.1. Funciones de costo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8(a). Función de costo binaria . . . . . . . . . . . . . . . . . . . . . . . 8(b). Función de costo de margen suave . . . . . . . . . . . . . . . . . . 8(c). Función de costo logistica . . . . . . . . . . . . . . . . . . . . . . 8(d). Función de costo exponencial . . . . . . . . . . . . . . . . . . . . 8

2.2. Adaboost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3. Bagging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1. Algoritmo debilitado de Support Vector Machines. . . . . . . . . . . . . 193.2. Algoritmo debilitado de Support Vector Machine modi�cado. . . . . . . 213.3. Algoritmo debilitado de SVM para edición. . . . . . . . . . . . . . . . . 223.4. Tiempo de entrenamiento (Eje vertical izquierdo) y error de entrenamien-

to (Eje vertical derecho) vs. Peso de los datos rechazados µ. El tiempoesta normalizado a el tiempo de entrenar un único SVM con el conjuntoentero de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5. Error de Generalización vs. Peso de los datos rechazados para diferentesrondas de Adaboost. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6. Número de vectores de soporte del modelo reducido vs. Rondas de Ada-boost para diferentes valores de µ. . . . . . . . . . . . . . . . . . . . . . 26

3.7. Error de entrenamiento vs. Tamaño del conjunto de entrenamiento . . . 273.8. Número de vectores de soporte vs. Tamaño del conjunto de entrenamiento 273.9. Tiempo vs. Tamaño del conjunto de entrenamiento . . . . . . . . . . . 28

4.1. Experimentos con las distribuciones de Adaboost en el problema de in-tervalos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32(a). Adaboost con distribuciones perturbadas con ruido gaussiano de

media cero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32(b). Adaboost con distribuciones perturbadas con ruido que cumplen la

restricción de no correlación . . . . . . . . . . . . . . . . . . . . . 324.2. Algoritmo General de Boosting Paralelo. . . . . . . . . . . . . . . . . . 334.3. Algoritmo de combinación de hipótesis. . . . . . . . . . . . . . . . . . 344.4. Distribuciones aleatorias. . . . . . . . . . . . . . . . . . . . . . . . . . 35

ii

Page 5: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

4.5. Márgenes aleatorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.6. Clusters Difusos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.7. Márgenes no correlacionados (DUUM). . . . . . . . . . . . . . . . . . . 384.8. Algoritmo de boosting usando rotación de información (PBIS). . . . . . 384.9. Flujo de información en el algoritmo de boosting paralelo usando rotación

de información. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.10. Error de generalización vs. Número de clasi�cadores Base para el algo-

ritmo general de boosting paralelo, generando las distribuciones usandoRandDG, MargDG y FuzzyDG. . . . . . . . . . . . . . . . . . . . . . . 41

4.11. Error de generalización vs. Número de clasi�cadores Base para DUUMy PBIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.12. Error empírico vs. Número de clasi�cadores Base para el algoritmo gene-ral de boosting paralelo, generando las distribuciones usando RandDG,MargDG y FuzzyDG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.13. Error empírico vs. Número de clasi�cadores Base para DUUM y PBIS 424.14. Error de empírico vs. Número de clasi�cadores base de DUUM, PBIS y

Adaboost, en el problema de cancer de seno. . . . . . . . . . . . . . . . 434.15. Error de generalización vs. Número de clasi�cadores base de DUUM,

PBIS y Adaboost, en el problema de cancer de seno. . . . . . . . . . . . 44

iii

Page 6: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Capítulo 1

Introducción

A través de este documento se presentan varias técnicas para mejorar la comple-jidad temporal del entrenamiento de clasi�cadores combinados. En la actualidad, losclasi�cadores combinados son unos de las métodos más usados para resolver el pro-blema de clasi�cación binaria; sin embargo, en muchos casos prácticos, no es posibleusar dichos métodos debido a su elevada complejidad temporal. Esta investigación estáenfocada principalmente en el estudio de dos métodos de generación de clasi�cadorescombinados: Algoritmos de boosting y maquinas de vectores de soporte.

En 1984, Valiant presentó un histórico artículo sobre teoría computacional, en elcual por primera vez se de�nió un modelo formal de aprendizaje [48]. En este modelose de�ne una entidad (llamada aprendiz) la cual tiene como misión encontrar una reglaque diferencie correctamente entre dos clases de objetos en un conjunto de entrada.Para aprender la regla de clasi�cación, el aprendiz tiene acceso a una entidad (llamadaoráculo) que muestra aleatoriamente un elemento del conjunto y su correspondienteetiqueta.

La formalidad con que Valiant planteó su modelo de aprendizaje hizo posible quelas antiguas preguntas sobre clasi�cación fueran planteadas en forma adecuada; y quesurgieran nuevas preguntas mucho más sutiles. Una de las preguntas más interesantesque surgió gracias a este modelo fue la hipótesis de Boosting. En 1988, Kearns y elmismo Valiant de�nieron una clase de aprendiz capaz de predecir etiquetas con un errorligeramente menor que el de adivinar. Debido a la naturaleza poco restrictiva de dichoaprendiz, lo llamaron aprendiz débil. Posteriormente, Kearns y Valiant plantearon lapregunta de si la existencia de un aprendiz débil garantiza la existencia de un aprendizfuerte (i.e. un aprendiz capaz de predecir etiquetas con un error arbitrariamente bueno).A esta pregunta se le conoce como hipótesis de boosting .

En 1990, la hipótesis de boosting fue contestada a�rmativamente por Schapire [38].Para realizar la prueba, Schapire ideo un algoritmo de aprendizaje fuerte el cual usabacomo subrutina la clasi�cación obtenida por el aprendiz débil. La idea básica de estealgoritmo consiste en muestrear el conjunto de entrada en forma inteligente, permitien-do así que las reglas de clasi�cación encontradas por el aprendiz débil sean combinadaspara obtener una regla fuerte. Lamentablemente, el algoritmo de Schapire no es fácil-

1

Page 7: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

mente implementable en la práctica. Por esta razón, algunos investigadores siguierontrabajando en encontrar un algoritmo más e�ciente. Entre los intentos más notablesteoricamente, se encuentra el algoritmo de boosting por mayoría propuesto por Freund[17].

Finalmente, en 1997, Freund y Schapire encontraron un algoritmo práctico de boos-ting el cual fue llamado Adaboost (Por sus siglas en inglés: Adaptive Boosting) [18].En términos generales, la �losofía de Adaboost es la misma que la de sus predecesores.El algoritmo procede en una serie de iteraciones o rondas; en cada una de estas rondasse obtiene una hipótesis mediante la optimización de un criterio de error que fuerzaal algoritmo de aprendizaje a �concentrarse� en los datos que han sido mal clasi�ca-dos en las rondas anteriores. Para esto se minimiza el criterio de error respecto a unadistribución que depende de los datos en que el algoritmo se equivoco anteriormente.

En cierto modo, Adaboost ha revolucionado los algoritmos de aprendizaje. Luego delalgoritmo, surgió toda una serie de artículos sobre el tema. En particular, el algoritmoes interesante porqué, bajo ciertas circunstancias, garantiza un buen desempeño enlas tareas de aprendizaje. En muchos casos prácticos es preferible utilizar un aprendizdébil y luego impulsar su desempeño mediante Adaboost a utilizar un aprendiz fuertedirectamente.

Gran parte de este trabajo está motivado en mejorar el desempeño de Adaboost.Existen muchos algoritmos que permiten mejorar el desempeño de Adaboost en casosparticulares, o que permiten mejorar su resistencia a outliers. La motivación de estetrabajo es diferente. En este trabajo se buscan métodos capaces de mejorar el tiempode corrida de Adaboost mediante el uso e�ciente de varios procesadores. Dado que Ada-boost es un algoritmo secuencial, éste no es capaz de usar e�cientemente computaciónparalela. En el capítulo 4, se mostrarán algunos métodos mediante los cuales es posiblerealizar este procedimiento en paralelo.

Una de las direcciones de investigación en el problema de aprendizaje está enfoca-da a encontrar algoritmos que posean ciertas características estadísticas deseables. Elprincipal ejemplo de este tipo de investigación son las maquinas de vectores de soporte(SVM) [13, 49]. Al igual que Adaboost, las SVM generan un clasi�cador combinado.En el capítulo 3 se presenta una técnica que permite mejorar la complejidad temporalde los algoritmos de entrenamiento de una SVM.

2

Page 8: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Capítulo 2

Notación y preliminares

2.1. Aprendizaje

En inteligencia computacional, por aprendizaje se piensa en un agente (aprendiz)inmerso en un entorno determinado. El aprendiz interactua con su entorno y extraeinformación de éste. Usando esta información junto con algún conocimiento previo, elaprendiz forma una representación interna o modelo de su entorno. Dicha representaciónes usada para varias tareas tales como predicción, planeamiento de acciones futuras,etc.

Piense, por ejemplo, en un niño que intenta aprender a clasi�car las �guras geo-métricas. Para enseñarle esta tarea al niño existen diferentes métodos; por ejemplo, sepuede pensar en que un supervisor (o maestro) le muestre las �guras al niño y le vayaindicando a que clase pertenecen (i.e. que le vaya diciendo si la �gura que le muestraes un triângulo, un cuadrado, etc.); en este caso se hablará de aprendizaje supervisadoporque existe un maestro que conoce las etiquetas (En adelante se llamará etiqueta ala clase a la cual pertenece un objeto). También puede ocurrir que simplemente se lemuestren las �guras al niño y no se le diga nada acerca de las etiquetas, en ese caso elniño debe de alguna manera inferir una posible regla de clasi�cación de las �guras; enese caso se hablará de aprendizaje no supervisado. Una tercera posibilidad es premiaral niño cuando clasi�ca correctamente un objeto (i.e. premiarlo cuando se le muestraun triângulo y dice triângulo y así sucesivamente) y castigarlo cuando lo hace en formaincorrecta; en este último caso se hablará de aprendizaje con refuerzo. Luego del procesode aprendizaje, se espera que el niño (aprendiz) sea capaz de clasi�car correctamentenuevas �guras de acuerdo a las etiquetas aprendidas; en este caso se dirá que el procesode aprendizaje fue exitoso.

2.1.1. Problema de clasi�cación binaria

El problema más sencillo y representativo de aprendizaje que puede plantearse esel problema de clasi�cación binaria. En este problema, existen dos clases de objetos deinterés, los cuales se pueden etiquetar como clase −1 y como clase +1, respectivamente.

3

Page 9: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

El aprendiz tiene a su disposición un conjunto de objetos previamente etiquetados ycon este conjunto debe encontrar una regla de clasi�cación (hipótesis) que le permitaetiquetar muestras futuras. El método que usa el aprendiz para encontrar la hipótesis,es conocido como algoritmo de aprendizaje [26]. Ya que el aprendiz tiene a su disposi-ción las etiquetas de los datos, el problema de clasi�cación binaria es un problema deaprendizaje supervisado. El problema de clasi�cación binaria es de suma importanciaen inteligencia computacional ya que contiene los principales elementos del problemade aprendizaje; además, una solución a este problema, generalmente, permite una ex-tensión para solucionar problemas más complejos.

2.1.2. Modelo PAC

En esta sección, se de�nirá aprendizaje en el modelo probablemente aproximada-mente correcto (Modelo PAC) [48]. Las de�niciones dadas en esta sección son tomadasprincipalmente de [23].

Se llamará espacio de entrada al conjunto X de todos los elementos que existen parael aprendiz. Por ejemplo, en el caso del niño aprendiendo �guras geométricas, X es elconjunto de todas las �guras que puede ver el niño. En la práctica resulta complicadotrabajar con un conjunto de este tipo ya que carece de estructura algebraica (i.e. noexisten operaciones entre los elementos del conjunto). En el caso general se pensará enel conjunto X como una codi�cación de las los objetos en el mundo del aprendiz.

Un concepto sobre X es simplemente un subconjunto C ⊆ X del espacio de entrada.En el ejemplo de las �guras geométricas un concepto puede ser el subconjunto de todaslas �guras triangulares. Así un concepto puede ser pensado como el conjunto de todoslos elementos que ejempli�can alguna regla de interés. Cada concepto tiene una funciónde etiquetas asociada, la cual se de�ne como sigue:

c(x) =

{1 Si x ∈ C ,

−1 Si x /∈ C .

Una clase de conceptos C sobre X es una colección de conceptos sobre X . En elejemplo de las �guras geométricas una clase de conceptos puede ser todas las �gurasregulares.

Una muestra etiquetada es una pareja 〈x, y〉, donde x es un elemento del espacio deentrada el cual fue sorteado aleatoria e independientemente a partir de una distribución∆ �ja pero desconocida, mientras y pertenece a un conjunto de etiquetas Y . En el casode clasi�cación binaria Y es igual a {−1, 1}. Las etiquetas son escogidas a partir de unconcepto objetivo C desconocido (i.e. yi = c(xi)). Un conjunto de muestras etiquetadases un conjunto S = {〈xi, yi〉}mi=1 donde cada 〈xi, yi〉 es una muestra etiquetada.

En el modelo PAC, el algoritmo de aprendizaje tendrá acceso a un conjunto demuestras etiquetadas S. En algunos entornos es útil decir que el algoritmo tiene acceso aun oráculo EX(C , ∆) quien en cada llamada retorna una muestra etiquetada (xi, c(xi)).

4

Page 10: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Un algoritmo de aprendizaje es un procedimiento que teniendo acceso al oráculoEX(C , ∆), retorna un concepto H ∈ H, este concepto usualmente es llamado hipótesis.Note que, en general, la clase de conceptos H es diferente de la clase de conceptos C.Para diferenciarlas se llamará a H clase de representaciones o clase de hipótesis.

Los algoritmos de aprendizaje son evaluados por su habilidad de retornar una hi-pótesis H ∈ H que pueda clasi�car correctamente muestras generadas por el conceptoobjetivo. Para evaluar la precisión con que una hipótesis H ∈ H se aproxima a unconcepto objetivo C ∈ C, se usa la siguiente de�nición de error de generalización:

R∆(h) = Px∼∆ [h(x) 6= c(x)] (2.1)

donde el subíndice x ∼ ∆ denota que la probabilidad es tomada con respecto aescoger las x de acuerdo con la distribución objetivo ∆. Usualmente, no es posiblemedir el error de generalización de una hipótesis. Por esta razón, se suele medir eldesempeño de un algoritmo mediante el error de prueba sobre un conjunto de muestrasetiquetadas S:

Remp(h, S, D) =m∑

i=1

DiJh(xi) 6= yiK (2.2)

donde J·K es la función indicadora (i.e. una función que vale 1 cuando su argumentoes verdadero y 0 en otro caso) y D es una distribución discreta sobre el conjunto demuestras etiquetadas S. En el caso particular en que S es el mismo conjunto de datosusados por el algoritmo de aprendizaje, entonces esta cantidad será llamada error deentrenamiento sobre D. Cuando S es independiente de los datos usados por el algoritmode aprendizaje y D es la distribución uniforme sobre S, entonces esta cantidad será unestimativo del error de generalización. Usualmente los algoritmos de aprendizaje sonprocedimientos que encuentran una función que minimizá (2.2) o alguna otra medidade riesgo.

A continuación se dará una de�nición formal de aprendizaje en el modelo PAC.

De�nición 1 (Aprendizaje PAC Fuerte). Sean C y H es una clases de conceptos sobreel espacio de entrada X , se dirá que C es PAC-Aprendible (fuerte) usando H si existe unalgoritmo L con la siguiente propiedad: Para todo concepto C ∈ C, para toda distribución∆ sobre X , para todo ε ∈ (0, 1/2) y para todo δ ∈ (0, 1/2); si L tiene acceso a EX(C , ∆)y entradas ε y δ, entonces el algoritmo L retorna una hipótesis H ∈ H tal que:

P [R∆(h) ≥ ε] ≤ δ (2.3)

Si además, L corre en tiempo polinomial en 1/ε y 1/δ, entonces se dirá que C ese�cientemente PAC-Aprendible. Usualmente se conoce a ε como el parámetro de errory a 1− δ como el parámetro de con�anza.

5

Page 11: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

La hipótesis H que retorna el algoritmo es aproximadamente correcta, de dondenace el nombre de aprendizaje PAC. En el aprendizaje PAC fuerte, se exige que elalgoritmo de aprendizaje retorne una hipótesis con error arbitrariamente bajo con unacon�anza arbitrariamente alta. A continuación se de�ne un tipo de aprendizaje el cualsolo exige que se encuentre una hipótesis con error y con�anza predeterminadas.

De�nición 2 (Aprendizaje PAC Débil). Sean C y H es una clases de conceptos sobreel espacio de entrada X , se dirá que C es PAC-Aprendible (débil) usando H si existe unalgoritmo L con la siguiente propiedad: Para todo concepto C ∈ C, para toda distribución∆ sobre X , para algún ε0 ∈ (0, 1/2) y para algún δ0 ∈ (0, 1/2); si L tiene acceso aEX(C , ∆), entonces el algoritmo L retorna una hipótesis H ∈ H tal que:

P [R∆(h) ≥ ε0] ≤ δ0 (2.4)

A los algoritmos que retornan hipótesis que cumplen con (2.3) se les conoce comoaprendices fuertes ; mientras que a los algoritmos que retornan hipótesis que cumplencon (2.4) se les conoce como aprendices débiles . En forma análoga, cuando un algoritmoretorna una hipótesis con error de entrenamiento arbitrariamente bajo para cualquierdistribución discreta D, entonces se dirá que el algoritmo es un aprendiz empiricamentefuerte. Cuando el algoritmo sólo puede lograr un error predeterminado ε < 1/2, se diráque es un aprendiz empiricamente débil.

Aunque la de�nición 1 parece mucho más restrictiva que la de�nición 2; estas dosresultan ser equivalentes, tal y como probó por Shapire en el siguiente teorema:

Teorema 1 (Equivalencia entre aprendibilidad fuerte y débil [38]). Sea C una clasede conceptos. Entonces C es e�cientemente PAC aprendible fuerte si y sólo si C ese�cientemente PAC aprendible débil.

Para probar este teorema Shapire ideo un algoritmo e�cientemente PAC-aprendiblefuerte que usaba como subrutina al algoritmo PAC-aprendible débil. La idea básicade este algoritmo era usar el algoritmo débil para generar varias hipótesis, y luegocombinarlas para formar una hipótesis con un error inferior. Al algoritmo que usoSchapire (y a técnicas similares) se le conoce con el nombre de boosting , ya que estos�impulsan� el parámetro de error y de la con�anza de un algoritmo.

De�nición 3 (Algoritmo de Boosting). Sea W un aprendiz débil para la clase de con-ceptos C. Un algoritmo de boosting para W es un algoritmo B que tiene acceso a W ya EX(C , D); y retorna una hipótesis que para todo ε ∈ (0, 1/2) y para todo δ ∈ (0, 1/2),cumple con (2.3).

2.2. Algoritmos de Aprendizaje

Idealmente, un algoritmo de aprendizaje es un procedimiento que toma un conjuntode datos S y retorna una hipótesis con error de generalización mínimo. Para poder

6

Page 12: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

minimizar el error de generalización es necesario estimar las distribuciones de probabi-lidad de las cuales provienen los datos de cada clase (i.e. se debe estimar P (x|y = +1)y P (x|y = +1)). En la práctica, estimar en forma precisa esas distribuciones es tancomplejo como el problema de aprendizaje que se desea solucionar. Por esta razón, enlugar de minimizar el error de generalización, los algoritmos de aprendizaje minimizanuna función de riesgo empírico:

Remp(h) =m∑

i=1

Di · c(xi, yi, h(xi)) (2.5)

donde cada 〈xi, yi〉 pertenecen a un conjunto de muestras etiquetadas S, Di esuna distribución discreta sobre S y c(·, ·, ·) es una función de costo, la cual se de�niráformalmente a continuación:

De�nición 4 (Función de costo). Sea (x, y, h(y)) ∈ X ×Y×Y una tripleta que consistede un punto en el espacio de entrada x, una etiqueta y y una predicción h(x). Entoncesla función c : X × Y × Y 7→ [0,∞) es una función de perdida si cumple con que paratodo x ∈ X y para todo y ∈ Y, c(x, y, y) = 0.

Sea H un conjunto de hipótesis h : X 7→ R las cuales serán usadas para predecirla clasi�cación de los puntos en el espacio de entrada. Para un x ∈ X , el signo deh(x) será interpretado como la predicción de h, mientras que la magnitud de h(x)se interpretará como la �con�anza� de dicha predicción. Un algoritmo de aprendizajepráctico WLR,H(S, D) será un procedimiento que encuentra la h ∈ H que minimizá lafunción de riesgo R sobre el conjunto de muestras etiquetadas S y la distribución D.En el caso en que D no se mencione explicitamente, entonces la función de riesgo setomará respecto a la distribución uniforme.

Los algoritmos de aprendizaje prácticos, entonces se distinguirán por la función deperdida que utilicen y por el conjunto de hipótesis donde busquen el mínimo. La funciónde costo más natural para el problema de clasi�cación binaria, es la función de costo1-0 o binaria:

De�nición 5 (Función de costo binaria).

c(x, y, h(x)) =

{1 Si y 6= h(x),

0 Si y = h(x).(2.6)

Note que cuando se usa la función de costo binaria, el riesgo es equivalente al errorde entrenamiento. El error de entrenamiento es útil porque se encuentra relacionadocon el error de generalización; sin embargo, minimizar el error de entrenamiento taly como se de�ne en (2.2) es en algunos casos complicado. Por ejemplo, para el casode discriminantes lineales el problema es NP-Hard [21]. Por esta razón, y también pormotivos estadísticos, algunas veces es preferible utilizar otras funciones de costo. Entrelas más usadas, se encuentran:

7

Page 13: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

(a) Función de costo binaria (b) Función de costo de margen suave

(c) Función de costo logistica (d) Función de costo exponencial

Figura 2.1: Funciones de costo

De�nición 6 (Funciones de costo). La función de costo de margen suave se de�necomo:

c(x, y, h(x)) = max(0, 1− yh(x)) (2.7)

En forma similar, la función de costo de margen suave cuadrático se de�ne:

c(x, y, h(x)) = max(0, 1− yh(x))2 (2.8)

La función de costo logística:

ln(1 + exp(−yh(x))) (2.9)

La función de costo exponencial:

exp(−yh(x)) (2.10)

2.3. Clasi�cadores combinados

Una de las formas de mejorar el error obtenido por un algoritmo de aprendizaje, esusar dicho algoritmo para generar un clasi�cador combinado [31].

8

Page 14: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

De�nición 7 (Clasi�cador combinado). Sea H una clase de hipótesis. Un clasi�cadorcombinado H es una hipótesis que se encuentra en la expansión lineal de H, y por tantose puede expresar como:

H =m∑

i=1

αihi (2.11)

donde los αi ∈ R y donde cada hi pertenece a H.

En esta sección se presentan dos algoritmos clásicos para la generación de clasi�-cadores combinados. El primero, es un algoritmo de boosting práctico conocido comoAdaboost. El segundo es un algoritmo heurístico que, pese a no hacer boosting, hademostrado mejorar en error de generalización de algunos clasi�cadores.

2.3.1. Adaboost

Sea Weak un algoritmo empiricamente débil, el cual toma un conjunto de muestrasetiquetas S y una distribución discreta D; y retorna una hipótesis H ∈ H, la cualminimiza el error de entrenamiento de S sobre D.

Adaboost es un algoritmo el cual utiliza como subrutina a Weak(·, ·) y retorna unahipótesis empiricamente fuerte [18]. Du�y y Helmbold demostraron que bajo ciertascondiciones de Weak, adaboost es además un algoritmo de boosting [15, 16]. La �gura2.2 muestra el algoritmo de Adaboost como fue presentado en [39].

Adaboost toma un conjunto de muestras etiquetadas S, una distribución discretaD, y un aprendiz empiricamente débil Weak; y retorna un clasi�cador combinado. Encada iteración t, Adaboost ejecuta Weak sobre la distribución Dt para obtener ht.Dependiendo del desempeño de la hipótesis ht, el algoritmo modi�ca la distribuciónDt para darle más peso a las muestras mal clasi�cadas por ht y menos peso a lasmuestras bien clasi�cadas. De esta forma, el algoritmo intenta maximizar la cantidadde información que obtendrá en la ronda siguiente.

Note que el algoritmo de Adaboost es esencialmente secuencial, ya que necesitade la ronda anterior para poder ejecutar la siguiente. Si el algoritmo débil tiene unacomplejidad temporal demasiado alta, o si se requieren demasiadas rondas para generaruna hipótesis adecuada; la complejidad temporal de Adaboost puede ser demasiadogrande. A través de este trabajo se proponen algunas técnicas que permiten acelerar eltiempo de corrida de Adaboost mediante el uso de computación paralela.

2.3.2. Bagging

Bagging [6] es un método de generación de clasi�cadores combinados, el cual funcio-na generando varias muestras bootstrap del conjunto de entrenamiento. El algoritmoes mostrado en la �gura 2.3.

9

Page 15: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: Adaboost (S, D1, T, Weak)

Input: S = {xi, yi}mi=1, D1, T , Weak(·, ·)Output: H(·)for t = 1 to T do

Obtener una hipótesis débil usando Dt.ht ← Weak(S, Dt).Escoger αt ∈ R. Usualmente:

αt =1

2ln

(1−Remp(ht, S,Dt)

Remp(ht, S,Dt)

). (2.12)

Actualizar:

Dt+1(i) =Dt(i)exp(−αtyiht(xi))

Zt

. (2.13)

donde Zt es un factor de normalización, escogido para que Dt+1 sea unadistribución

end

Retornar la hipótesis �nal:

H(x) = sign

(T∑

t=1

αt∑t αt

ht(x)

).

Figura 2.2: Adaboost.

Algorithm: Bagging (S, D, T, Weak)

Input: S = {xi, yi}mi=1, D, T , Weak(·, ·)Output: H(·)for t = 1 to T do

Obtener Dt aleatoriamente con valor esperado D.Obtener St a partir de muestras bootstrap de Dt sobre el conjunto S.ht ← Weak(S).

end

Retornar la hipótesis �nal:

H(x) = sign

(1

T

T∑t=1

αtht(x)

).

Figura 2.3: Bagging.

10

Page 16: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

A diferencia de Adaboost, Bagging no es un algoritmo de Boosting. El algoritmoestá diseñado para reducir la varianza de los algoritmos débiles que usa como subrutina,para esto hace un promedio de las hipótesis que encuentra sobre diferentes conjuntos dedatos. Así, en teoria, para que Bagging encuentre un clasi�cador con un buen desempeñose requiere que el algoritmo base sea inestable; sin embargo, se han mostrado numerososexperimentos en los que el predictor generado por Bagging encuentra buenos resultadosen clasi�cadores con baja varianza [20].

Usualmente el desempeño de Adaboost es superior al de Bagging; sin embargo,Bagging es un algoritmo que se puede paralelizar fácilmente puesto que no necesita dela ronda anterior para generar las siguientes muestras bootstrap [44].

2.4. Maquinas de vectores de soporte (SVM)

En esta sección se introduce otro tipo de clasi�cador combinado que es ampliamenteusado en la resolución de problemas de aprendizaje [13, 49, 9, 41]. La idea básica delmétodo consiste en transformar los datos de entrada hacia un espacio de característicasde alta dimensión. Posteriormente, en dicho espacio se encuentra una función de deci-sión lineal, la cual posee propiedades especiales que garantizan una alta habilidad degeneralización.

Considérese la familia H de clasi�cadores lineales de la forma hw,b(x) = sign(〈x, w〉X+b); donde w ∈ X y b ∈ R. Se dira que un conjunto de muestras etiquetadas S ={〈xi, yi〉}mi=1 con xi ∈ X and yi ∈ {−1, +1}, es linealmente separable cuando existe unhw,b ∈H tal que hw,b(xi) = yi para cada 〈xi, yi〉 ∈ S.

De�nición 8 (Margen Geométrico). Para un hiperplano hw,b ∈H , el margen geomé-trico de el punto 〈x, y〉 ∈ X × {−1, +1} se de�ne como:

ρw,b(〈x, y〉) =y · hw,b(x)

‖w‖(2.14)

En forma análoga, el margen geométrico de un hiperplano hw,b sobre el conjunto demuestras etiquetadas S se de�ne como:

ρw,b = mıni=1,...,m

ρw,b(〈xi, yi〉) (2.15)

Cuando un conjunto de muestras S = {〈xi, yi〉}mi=1 es linealmente separable, se puedeencontrar el clasi�cador lineal con margen máximo resolviendo el siguiente problemade optimización:

mınw,b

τ(w, b) =1

2‖w‖2 (2.16)

s.t. yi[〈xi, w〉X + b] ≥ 1, for i=1,. . . ,m

11

Page 17: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Cuando se encuentra un clasi�cador con máximo margen, entonces se pueden daralgunas garantias teóricas sobre el desempeño de este clasi�cador [49, 5]. En el caso enel que el conjunto de muestras no es linealmente separable, se puede estar interesado enencontrar el clasi�cador lineal con mínimo error empírico sobre un conjunto de muestrasetiquetado. Sin embargo, el problema de encontrar este clasi�cador es NP-Hard [21].Por otro lado, este problema puede ser aliviado descartando aquellos puntos que poseenun margen geométrico pre-establecido. En este caso, el problema tiene complejidadtemporal polinomial. Así, en el caso no linealmente separable, se resolverá el siguienteproblema de optimización:

mınw,b,ξ

τ(w, b, ξ) =1

2‖w‖2 +

C

m

m∑i=1

ξi (2.17)

s.t. yi[〈xi, w〉X + b] ≥ (1− ξi), for i=1,. . . ,m

ξi ≥ 0

donde C es una constante la cual controla el compromiso entre dos objetivos con-�ictivos: minimizar el error de entrenamiento, y maximizar el margen geométrico. Pormotivos prácticos, en lugar de resolver directamente (2.17) se resuelve su formulacióndual:

maxα

W (α) =m∑

i=1

αi −1

2

m∑i=1

m∑j=1

αiαjyiyj〈xi, xj〉X (2.18)

s.t. 0 ≤ αi ≤C

m,

m∑i=1

αiyi = 0

Cuando se resuelve este problema, la regla de clasi�cación toma la forma:

h(x) =m∑

i=1

αiyi〈x, xi〉X + b

Se observa que la hipótesis tiene la forma de un clasi�cador combinado, en el cualla conjunto de hipótesis base está formado por 〈·, xi〉, donde cada xi es un elementodel conjunto de entrenamiento. Note que el hiperplano de margen óptimo puede serexpresado usando únicamente productos punto con los datos de entrenamiento graciasal teorema de representación de Rietz [41].

Los clasi�cadores lineales son uno de los más simples conjuntos de hipótesis. Usual-mente, su error de generalización y su error empírico es demasiado alto. Para obtenerun mejor clasi�cador, se puede transformar los datos de entrada antes de resolver elproblema dual. Sea φ una transformación no lineal la cual mapeá X a un espacio de

12

Page 18: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

altas dimensiones X , el cual se llamará espacio de características de φ. Note que pararesolver (2.18) no es necesario transformar cada xi usando φ. Únicamente se requierede un método e�ciente para evaluar el producto interno en el espacio de características.Una forma de realizar este cálculo e�cientemente es usando kernels.

De�nición 9 (Kernel). Un kernel k es una función la cual va de X × X hacia R, ytiene la siguiente interesante propiedad:

∀xi, xj ∈ X , k(xi, xj) = 〈φ(xi), φ(xj)〉X (2.19)

Usando kernels, es posible encontrar en forma e�ciente el clasi�cador lineal con mar-gen máximo en el espacio de características. El clasi�cador resultante es llamado unamaquina de vectores de soporte (SVM por sus siglas en inglés (Support Vector Machi-ne)). Note que una SVM es un clasi�cador combinado en el que los clasi�cadores basetienen la forma k(·, xi), donde cada xi es un elemento del conjunto de entrenamiento.

13

Page 19: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Capítulo 3

Boosting Support Vector Machines

En este capítulo, se presenta una variación debilitada de Support Vector Machines(SVM) que puede ser usada junto con Adaboost. Una SVM es un tipo de clasi�ca-dor combinado en el cual el conjunto de hipótesis base está formado por el productointerno con los elementos del conjunto de entrenamiento [9]. Usualmente, el entrena-miento de una SVM es un proceso lento, en este capítulo presentamos un método quepermite acelerar la generación de este tipo de clasi�cadores combinados sin afectar sudesempeño.

El éxito de las SVM ha sido explicado desde el punto de vista estadístico [41]. Enparticular, se ha demostrado recientemente que para cierto tipo particular de kernels,las SVM son aprendices fuertes [47]. Desde luego, hacer Boosting a un aprendiz fuerteno tiene mucho sentido desde el punto de vista del error de generalización. De hecho,existe evidencia empírica que muestra que usar un aprendiz fuerte como clasi�cadorbase de Adaboost no es muy buena idea. Wickramaratna, Holden y Buxton aplicarondirectamente SVM con Adaboost y observaron que el desempeño del clasi�cador obte-nido empeora a medida que se ejecutan más rondas de Adaboost [50]. Sin embargo, severá que si la SVM es obligada a retornar una hipótesis débil, entonces boosting tendráalgunas ventajas.

Los principales inconvenientes de una SVM son la complejidad temporal y espacialde su algoritmo de entrenamiento. Usualmente, para entrenar una SVM se debe resolverun problema de programación cuadrática. Si m es el número de muestras de entrena-miento, entonces la complejidad temporal del problema de programación cuadráticaes O(m3), mientras que su complejidad espacial es O(m2). Varios investigadores hanpropuesto métodos para mejorar la complejidad temporal y espacial de esté problema,entre estos métodos se destacan: chunking [4], métodos de descomposición [32] y méto-dos de optimización secuencial mínima [34]. En la práctica, estos métodos tienen unacomplejidad temporal O(m2).

Pavlov, Mao y Dom propusieron un método para acelerar el entrenamiento de SVMusando Adaboost [33]. Ellos implementaron el entrenamiento de SVM por medio del al-goritmo de optimización secuencial mínima. Para simular las distribuciones requeridaspor Adaboost, ellos usaron muestras bootstrap de los datos originales. En sus experi-

14

Page 20: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

mentos, el tamaño de las muestras bootstrap estaba entre el 2 % y el 4 % del tamaño delconjunto de datos original. En esta forma, ellos reducían sustancialmente el conjuntode entrenamiento en cada ronda de Adaboost.

A continuación, se presenta una versión modi�cada de SVM la cual tiene las si-guientes propiedades: Primero, es capaz de tratar con distribuciones sin usar muestrasBootstrap. Segundo es un algoritmo empiricamente débil. Tercero, cuando este algorit-mo es combinado con Adaboost, el algoritmo resultante retorna una hipótesis que estambién una SVM, pero que es entrenada mucho más rápido.

Además, se presenta evidencia empírica de que el algoritmo de Boosting SupportVector machine puede ser usado como algoritmo de edición [1]. Usualmente, la reglade clasi�cación de una SVM es innecesariamente compleja (i.e. La hipótesis de la SVMcontiene vectores de soporte linealmente dependientes). Un algoritmo de edición es unprocedimiento que reduce el conjunto de entrenamiento para simpli�car la representa-ción de un SVM.

3.1. Support Vector Machines modi�cadas

Para poder usar una SVM como aprendiz débil de Adaboost, es necesario resolverdos inconvenientes: se necesita modi�car el problema de optimización de una SVM detal forma que este pueda manejar distribuciones; y se necesita debilitar el desempeñode la SVM resultante.

3.1.1. SVM con distribuciones

El algoritmo presentado usa la formulación ν del problema SVM. El parámetro νpermite controlar el error empírico del clasi�cador tal y como se explica posteriormente.El problema de optimización la formulación ν es el siguiente [42]:

mınw,ξ,ρ

τ(w, ξ, ρ) =1

2‖w‖2R − νρ +

1

m

m∑i=1

ξi (3.1)

s.t. yi [〈φ(xi), w〉R + b] ≥ (ρ− ξi), for i=1,. . . ,m

ξi ≥ 0, ρ ≥ 0

Donde R es el espacio de Hilbert con kernel reproductor (RKHS por sus siglasen inglés) de un kernel de�nido positivo k(·, ·) y φ es una transformación de X haciaR tal que k(xi, xj) = 〈φ(xi), φ(xj)〉R. Usualmente a R se le conoce como espacio decaracterísticas . Usando el truco del kernel, la formulación dual del problema se convierteen:

15

Page 21: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

mınα

W (α) =1

2

m∑i=1

m∑j=1

αiαjyiyjk(xi, xj) (3.2)

s.t. 0 ≤ αi ≤1

mm∑

i=1

αiyi = 0m∑

i=1

αi ≥ ν

Este problema produce una hipótesis la cual tiene la forma:

h(x) =m∑

i=1

αiyik(x, xi) + b (3.3)

Dependiendo del valor de α en (3.3), las muestras de entrenamiento son clasi�cadasen tres categorias. En cada categoria, el margen de la muestra de entrenamiento yih(xi)está pre-establecido por la condición de optimalidad de Karush-Kuhn-Tucker.

La primera categoria está compuesta por todos los puntos tales que αi = 1/m.Estos datos son llamados errores de margen o vectores de soporte errados . Los erroresde margen satisfacen yih(xi) < ρ. Note que todos los datos que son mal clasi�cadospor h son errores de margen y que por tanto, el error empírico de h está acotado por elporcentaje de sus errores de margen y de sus vectores de soporte.

La segunda categoria consiste de los puntos para los cuales 0 < αi < 1/m. Estosdatos satisfacen yih(xi) = ρ y son conocidos como vectores de soporte ordinarios . Noteque en el caso particular en que el conjunto de entrenamiento es linealmente separableen el espacio de características R, únicamente existen vectores de soporte ordinario (i.e.no existen errores de margen).

La tercera categoria está formada por aquellos datos en los cuales αi = 0. Estosdatos satisfacen yih(xi) > ρ y no juegan ningún papel en la función de decisión h. Noteque es posible re-entrenar una maquina de vectores de soporte usando únicamente comoconjunto de entrenamiento los vectores de soporte y se obtendría la misma función dedecisión h.

A continuación se modi�cará la formulación de ν-SVM para introducir la distribu-ción sobre el conjunto de entrenamiento D. Para hacer esto, se multiplican las variablesde holgura ξi por el peso correspondiente Di. De esta forma se fomentan las solucionesque no se equivocan en los puntos de entrenamiento con alto peso. Con el objetivo deque los datos con mayor peso tengan mayores márgenes, la restricción de cada datotambién es multiplicada por Di:

16

Page 22: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

mınw,ξ,ρ

τ(w, ξ, ρ) =1

2‖w‖2H − νρ +

m∑i=1

Diξi (3.4)

s.t. yi [〈xi, w〉H + b] ≥ Di(ρ− ξi), for i=1,. . . ,m

ξi ≥ 0, ρ ≥ 0

El problema dual correspondiente es:

mınα

W (α) =1

2

m∑i=1

m∑j=1

αiαjyiyjk(xi, xj) (3.5)

s.t. 0 ≤ αi ≤ 1m∑

i=1

αiyi = 0 (3.6)

m∑i=1

Diαi ≥ ν (3.7)

Existen varios algoritmos de optimización e�ciente que son capaces de resolver es-te problema. En general, se dira que SVk,ν(S, D) es un algoritmo de aprendizaje queresuelve el problema de optimización (3.5), y retorna una hipótesis hw,b.

El parámetro ν en (3.5) permite controlar el error de entrenamiento tal y como seexplica en el siguiente lema.

Lema 1. Sea h∗w,b una hipótesis retornada por SVk,ν(S, D). Si w y b son puntos factiblesde (3.4) con ρ > 0, entonces Remp(h

∗w,b, S,D) ≤ ν (i.e. El Parámetro ν es una cota

superior en el error de entrenamiento del clasi�cador).

Demostración. Por las condiciones de optimalidad de Karush-Kuhn-Tucker, ρ mayorque cero implica que (3.7) se convierte en igualdad. Entonces

ν =m∑

i=1

Diαi ≥∑

i:αi=1

Di ≥m∑

i=1

DiJsign(h(xi)) 6= yiK (3.8)

donde la ultima desigualdad se cumple porque todas las muestras con ξi > 0 satis-facen αi = 1 (si no, αi podría crecer más para reducir el valor de ξi).

Entonces, si se garantiza que ρ es mayor que cero, se puede garantizar que el errorde entrenamiento esta acotado superiormente por ν.

17

Page 23: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

De�nición 10 (Kernel Universal). Sea φ una transformación hacia un espacio conkernel reproductor, y sea k el kernel de φ. Sea S = {〈xi, yi〉}mi=1 un conjunto de muestrasetiquetadas para el cual si xi = xj implica yi = yj (En adelante llamaremos a este tipode conjunto de muestras un conjunto únicamente etiquetado). Se dirá que un k es unkernel universal si la imagen de S a través de φ es linealmente separable.

Cuando se usa un kernel universal en (3.5), siempre se puede encontrar una solucióncon ρ > 0.

Lema 2. Sea k un kernel universal, y sea h∗w,b la hipótesis retornada por SVk,ν(S, D),entonces el error empírico de h∗w,b está siempre acotado superiormente por ν.

La prueba de este lema se sigue inmediatamente de la universalidad del kernel y dellema 1.

Otra forma de introducir distribuciones en el problema (3.1) consiste en únicamentepenalizar las variables de holgura del problema. Así el problema primal queda de lasiguiente forma:

mınw,ξ,ρ

τ(w, ξ, ρ) =1

2‖w‖2R − νρ +

m∑i=1

Diξi (3.9)

s.t. yi [〈φ(xi), w〉R + b] ≥ (ρ− ξi), for i=1,. . . ,m

ξi ≥ 0, ρ ≥ 0

A diferencia de la formulación (3.4), en este problema no se fomenta que las solucio-nes con mayor peso tengan mayor margen geométrico. El problema dual correspondientees:

mınα

W (α) =1

2

m∑i=1

m∑j=1

αiαjyiyjk(xi, xj) (3.10)

s.t. 0 ≤ αi ≤ Dim∑

i=1

αiyi = 0m∑

i=1

αi ≥ ν

Es fácil veri�car que cuando el algoritmo SVk,ν(S, D) resuelve el problema (3.10) enlugar de (3.5), entonces los lemas 1 y 2 se siguen cumpliendo. El problema (3.5) intentagarantizar un margen geométrico mayor a aquellas muestras con mayor peso. Desde elpunto de vista estadístico, esto resulta buena idea. Sin embargo, la implementación deun algoritmo que resuelva (3.5) es ligeramente más compleja que la de un algoritmoque resuelva (3.10).

18

Page 24: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: WSV (S, D, k, γ, λ)

Input: S = {〈xi, yi〉}mi=1, D, k, γ, λOutput: h(·)begin

Seleccionar ν = λ · (1/2− γ).Seleccionar µ = (1− λ) · (1/2− γ).Seleccionar J tal que

∑j∈J D(j) ≤ µ, y tenga máxima cardinalidad.

Seleccionar S∗ = {〈xj, yj〉}J ′ .Seleccionar D∗ = DJ ′ .

end

Retornar la hipótesis h(·)← SVk,ν(S∗, D∗)

Figura 3.1: Algoritmo debilitado de Support Vector Machines.

Note que una solución a (3.5) basada en optimización secuencial minima debe ac-tualizar en cada ronda tres variables. Esto se debe a que en general las restricciones(3.6) y (3.7) son diferentes. Por otra parte, una solución a (3.10) basada en optimiza-ción secuencial minima únicamente debe actualizar dos variables a la vez ya que las dosrestricciones del problema se vuelven iguales para las muestras con yi 6= yj [10, 11]. En-contrar una solución cerrada cuando se actualizan tres variables en este método es mascomplicado que encontrarla para el algoritmo habitual que sólo actualiza dos variables[34].

3.1.2. Support Vector Machines Debilitados

Como se menciono al principio del capítulo, usar Adaboost en combinación con SVMpuede ser contra-productivo. Sin embargo, usar una versión debilitada de SVM juntocon Adaboost tiene dos ventajas sobre entrenar un único SVM de la forma habitual.Primero, este método de entrenamiento puede mejorar el desempeño del SVM. Segundo,este método acelera el algoritmo de entrenamiento.

El algoritmo SVM debilitado será llamado WSV . WSV toma como entrada unconjunto de muestras etiquetadas S, una distribución D, un kernel k y un parámetro dedebilidad γ; y retorna una hipótesis con error de entrenamiento acotado superiormentepor ε = 1

2−γ. Además, el algoritmo debilitado corre mucho más rápido que el algoritmo

original de entrenamiento de SVM. La idea básica de WSV es rechazar algunas muestrasen el conjunto de entrenamiento S, y entrenar una SV M con las muestras restantes.La �gura 3.1 muestra el algoritmo WSV .

Sea J el conjunto de indices de las muestras que se eliminarán, y sea J ′ el comple-mento de J . Se de�ne µ como una cota superior sobre el peso de las muestras rechazadas(i.e. µ ≥

∑J D(j)). WSV corre SVk,ν(·, ·) usando un conjunto de muestras etiquetadas

modi�cado. El algoritmo selecciona J tal que∑

j∈J D(j) ≤ µ, y que tenga cardinali-

19

Page 25: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

dad máxima. Esto se realiza con el propósito de eliminar el mayor número de datosen cada ejecución del algoritmo. Un método de seleccionar J es ordenar Di en formadescendente, e ir tomando los datos hasta completar el peso requerido.

Resulta fácil demostrar que este algoritmo garantiza una cota superior en el errorde entrenamiento tal y como lo a�rma el siguiente lema.

Lema 3. Sea S un conjunto de datos etiquetados únicamente y D una distribuciónempirica sobre S. Sea k un kernel universal. Si hw,b es la hipótesis retornada porWSV (S, D, k, γ, λ) para un λ ∈ [0, 1], entonces Remp(h, S, D) ≤ 1/2− γ

Demostración. Para ver esto, note que el error cometido por hw,b puede ser divididoen dos partes. La primera parte es debida al algoritmo original SVk,ν(S, D), y puedeser controlada por el parámetro ν (ver lema 2). La segunda parte viene de la porciónde datos descartados. Asumiendo el peor caso, en el cual el clasi�cador se equivocaen todos los datos rechazados, entonces el error de entrenamiento del algoritmo estáacotado superiormente por ν + µ. Ahora, ya que λ es un número real entre 0 y 1, ydado que el algoritmo escoge ν = λε y µ = (1−λ)ε, se puede garantizar que el error deentrenamiento está acotado por ε = 1/2− γ.

Dado que el complejidad temporal de SV es del orden de O(m2), la complejidadtemporal de WSV dependerá del número de datos rechazados por el algoritmo. Entremás datos se rechacen, más rápido correrá WSV . El número de datos rechazados de-pende de dos factores: primero, depende de la distribución sobre el conjunto originalD. Por ejemplo, si la distribución es uniforme (como es el caso en la primera ronda deAdaboost) la proporción de datos rechazados es cercana a 1 − µ. Por otra parte, si ladistribución está más concentrada (como ocurre en rondas posteriores de Adaboost) laporción de datos rechazados es mucho mayor. Así, es posible ejecutar muchas rondasde Adaboost en poco tiempo si se usa WSV como aprendiz débil. El segundo factorque afecta el número de datos rechazados es el valor de µ. Entre más grande sea µ,más datos podrán ser rechazados. En el algoritmo WSV , el parámetro µ puede serincrementado en dos formas: Decrementando γ, o decrementando λ.

En el análisis del algoritmo WSV se asume que todos los datos rechazados sonmal clasi�cados por la hipótesis h. Usualmente, este no es el caso. En la �gura 3.2 semuestra una versión modi�cada de WSV que aprovecha esta situación. El algoritmoMWSV inicialmente rechaza un número de datos que es controlado por un parámetroµ y que no depende de γ. De esta forma, es posible rechazar inicialmente más datos queWSV . Luego, MWSV entrena SV con los datos restantes. Si SV falla en encontraruna hipótesis h con error menor que 1/2 − γ, el algoritmo agrega un nuevo dato alconjunto de entrenamiento y re-entrena. Usualmente, el paso de re-entrenamiento nose ejecuta; sin embargo, cuando lo hace, se ejecuta su�cientemente rápido ya que lasolución anterior está cerca del mínimo de la nueva solución.

20

Page 26: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: MWSV (S, D, k, γ, ν, µ)

Input: S = {〈xi, yi〉}mi=1, D, k, γ, ν, µOutput: h(·)begin

Seleccionar J tal que∑

j∈J D(j) ≤ µ, y tenga cardinalidad máxima.Seleccionar S∗ = {〈xj, yj〉}J ′ .Seleccionar D∗ = DJ ′ .h(·)← SVk,ν(S

∗, D∗).while Remp(h, S, D) > (1/2− γ) do

Seleccionar I = {i ∈ N : h(xi) 6= yi ∧ 〈xi, yi〉 ∈ (S − S∗)}.Seleccionar j = arg max

i∈IDi.

Actualizar J ← {J} ∪ j.Actualizar S∗ = {〈xj, yj〉}J ′ .Actualizar D∗ = DJ ′ .h(·)← SVk,ν(S

∗, D∗).end

end

Retornar la hipótesis h(·)Figura 3.2: Algoritmo debilitado de Support Vector Machine modi�cado.

3.2. Support Vector Machines como algoritmo de edición

Tanto en la etapa de entrenamiento como en la etapa de predicción, el desempeñode una SVM está altamente in�uenciado por el número de vectores de soporte. Cuandola hipótesis producida por un SVM no contiene su�cientes vectores de soporte, ésta noes capaz de hacer predicciones con alta precisión. Por otra parte, entre más vectores desoporte tiene una SVM, más lenta es la predicción y el entrenamiento. Idealmente seespera que la función de decisión de una SVM contenga la cantidad mínima de vectoresde soporte que pueden representarla. Esto se logra cuando la imagen de los vectores desoporte en el espacio de características es linealmente independiente.

Dado un kernel k, Steinwart demostró que el número de vectores de soporte n de unaSVM depende del número de muestras de entrenamiento m y de Rk que es el mínimoerror de clasi�cación posible para un SVM con kernel k [46]. Más explicitamente:

n

m→ 2Rk (3.11)

Note que en el caso particular en el cual k es un kernel universal, Rk es el mismo errorde Bayes RBayes (i.e. el mínimo error posible en un problema de decisión determinado).

Existen varias técnicas para reducir el número de vectores de soporte sin degradarel error de generalización de una SVM. La mayoría de estas técnicas están enfocadas en

21

Page 27: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: WSVE (S, D, k, γ, ν, µ, σ)

Input: S = {〈xi, yi〉}mi=1, D, k, γ, ν, µ, σOutput: h(·)begin

Seleccionar J tal que∑

j∈J D(j) ≤ σ, y tenga cardinalidad mínima.Seleccionar S∗ = {〈xj, yj〉}J .Seleccionar D∗ = DJ/

∑DJ .

h(·)← MWSV (S∗, D∗, k, γ, ν, µ).end

Retornar la hipótesis h(·)Figura 3.3: Algoritmo debilitado de SVM para edición.

reducir el número de vectores de soporte luego de la etapa de entrenamiento [8, 14] y portanto no son adecuadas para reducir la complejidad temporal del algoritmo SVM. Estetipo de estrategias son conocidas como técnicas de reducción a posteriori del númerode vectores de soporte.

Por otra parte, existen métodos que reducen selectivamente el conjunto de entrena-miento usando estimadores probabilísticos. A estas técnicas se les conoce como algorit-mos de edicion [1].

Para obtener una buena SVM con un conjunto de entrenamiento reducido, los datosen el nuevo conjunto de entrenamiento deben parecer como si hubieran sido sorteadosa partir de una distribución que tiene la misma función de decisión de Bayes que ladel problema original, pero con un error de Bayes igual a cero. Es decir, que la idea eseliminar aquellos datos que se encuentran localizados en el lado equivocado de la funciónde decisión de Bayes. En la mayoría de problemas estos datos corresponden a outliers(i.e puntos tienen poca probabilidad de ser obtenidos a partir de una distribución).

A priori, no se tiene conocimiento de cuales patrones de entrenamiento están malubicados. Se propone usar las distribuciones generadas por Adaboost para estimar laprobabilidad de un punto de estar ubicado en el lado equivocado de la función dedecisión de Bayes. En cada ronda, Adaboost aumenta el peso de aquellos datos que estánmal clasi�cados. Intuitivamente, aquellos datos en que el aprendiz se está equivocandodemasiado tienen alta probabilidad de ser outliers. Además, bajo ciertas condiciones,en cada ronda Adaboost se acerca asintóticamente a la función de decisión de Bayes.Si un dato se equivoca demasiado en la función obtenida actualmente por Adaboost,entonces ese dato tiene mayor probabilidad de estar en el lado equivocado de la funciónde decisión de Bayes.

Teniendo en cuenta lo anterior, se propone rechazar en cada ronda de Adaboostaquellos datos que tienen peso grande porque estos tienen alta probabilidad de seroutliers. De esta forma, es posible usar Adaboost para hacer edición de los datos. El

22

Page 28: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

algoritmo debilitado de SVM para hacer edición es mostrado en la �gura 3.3. Estealgoritmo modi�cado crea un conjunto de entrenamiento el cual rechaza los datos conpeso grande y �nalmente ejecuta el algoritmo MWSV para obtener una hipótesis conalta precisión en el conjunto de entrenamiento transformado.

Con el objetivo de reducir aún más el número de vectores de soporte, se proponere-entrenar una SVM usando como datos de entrenamiento los vectores de soporteobtenidos por Adaboost-WSVE. Dado que los vectores de soporte encontrados porAdaboost-WSVE son pocos, este re-entrenamiento corre su�cientemente rápido. En lapráctica, este método heurístico mejora ligeramente el número de vectores de soporte,tal y como se ilustra en la sección de experimentos.

Otro método para realizar edición de los datos de entrenamiento consiste en utilizaralguna variante suave de Adaboost, la cual no sobre-penalice los datos difíciles de clasi-�car [43, 19]. En este caso se puede usar directamente MWSV como algoritmo débil yaque las distribuciones de Adaboost darían poco peso a los datos con alta probabilidadde ser outliers.

3.3. Experimentos

3.3.1. Boosting Support Vector Machines

En esta sección, se presentan algunos experimentos con el algoritmo de BoostingSupport Vector Machines propuesto en las secciones anteriores. Los experimentos des-critos usan el conjunto de datos arti�cial fournorm. El conjunto consiste en datos deveinte dimensiones, clasi�cados en forma binaria. Los datos de la clase +1 son sorteadoscon igual probabilidad a partir de una de dos distribuciones normales con valores medio(a, a, . . . , a) y (a,−a, a,−a, . . . ,−a) respectivamente. En forma similar, los datos de laclase −1 son sorteados con igual probabilidad a partir de una de dos distribucionesnormales con valores medio (−a,−a, . . . ,−a) y (−a, a,−a, a, . . . , a). Las matrices decovarianza de las distribuciones normales son iguales a la matriz identidad. Para losexperimentos presentados en esta sección, el valor de a fue establecido en 2/

√20. Se

escogió este conjunto de datos por su complejidad y porqué es posible generar tantosdatos de entrenamiento y prueba como sean necesarios.

Se implemento el algoritmo de entrenamiento de la SVM usando un algoritmo deoptimización mínima secuencial, el cual fue presentado por Platt en [34]. El algoritmode Platt estaba diseñado para el problema C-SVM; Chang y Lin modi�caron estealgoritmo para que fuera implementable en la versión ν-SVM del problema [10]. Para losexperimentos, se realizó una modi�cación del algoritmo de Chang y Lin la cual resuelveel problema de optimización (3.10) y por tanto permite el manejo de distribuciones. Paraentrenar las SVM se utilizo un Kernel Gaussiano con varianza σ2 = 200. Se realizaronexperimentos corriendo 20 rondas de Adaboost usando como aprendiz débil MWSV. Elparámetro µ se varió entre 0 y 0,96; mientras que en cada experimento el parámetro ν

23

Page 29: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 3.4: Tiempo de entrenamiento (Eje vertical izquierdo) y error de entrenamiento(Eje vertical derecho) vs. Peso de los datos rechazados µ. El tiempo esta normalizadoa el tiempo de entrenar un único SVM con el conjunto entero de datos.

se hizo igual a 0,1(1− µ).La �gura 3.4 muestra que, sin importar cuantos datos se rechacen, el error decrece a

medida que aumentan el número de rondas de Adaboost. La �gura muestra que resultamás conveniente entrenar varias rondas de Adaboost rechazando un gran porcentajede los datos que entrenar usando el conjunto de datos original. Por ejemplo, cuandose rechazan datos con un peso equivalente al 0,58, en la quinta ronda de Adaboost, elerror de entrenamiento es cercano a 1 %; mientras que el tiempo empleado es cercanoa la mitad del tiempo original.

En la �gura 3.5 muestra el error de generalización contra el peso de los datos recha-zados µ. Se observa que en cada ronda, el error de generalización de Adaboost mejora.Sin embargo, es claro que para valores de µ superiores al 0,85 el modelo presenta unmal desempeño en generalización.

Note que Adaboost retorna una hipótesis que es la combinación lineal de SVM.Dicha combinación lineal es también un SVM. De ahora en adelante, para diferenciar laSVM entrenada convencionalmente de la SVM entrenada usando Adaboost, llamaremosa está última SVM Reducida. En experimentos previos, las funciones de decisión de laSVM reducida y la SVM convencional resultan similares; sin embargo, el número devectores de soporte de la SVM reducida no se incrementa con el número de datos en elconjunto de entrenamiento.

La �gura 3.6 muestra el número de vectores de soporte de el modelo reducido contrael número de rondas de Adaboost. Se observa que las curvas convergen asintóticamente

24

Page 30: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 3.5: Error de Generalización vs. Peso de los datos rechazados para diferentesrondas de Adaboost.

hacia un punto para diferentes valores de µ. Note que el número de vectores de soporteobtenido por el modelo reducido es alto, esto ocurre porque en este experimento nose están rechazando los datos con alto peso y por tanto todos los outliers se estánintroduciendo en el conjunto de trabajo de la SVM.

3.3.2. Boosting SVM como Algoritmo de Edición

Para estos experimentos, se uso un problema simple de clasi�cación binaria en dosdimensiones. La clase +1 es generada a partir de una distribución uniforme sobre uncuadrado con lado de tamaño uno y con centro c1. En forma similar, la clase −1 esgenerada de una distribución uniforme sobre un cuadrado con lado de tamaño uno ycon centro c2. El error de Bayes es controlado mediante la posición de los centros decada clase. Para estos experimentos el error de Bayes fue establecido en 10 %. Para losexperimentos se entreno un SVM convencional, Adaboost usando como aprendiz débilWSVE y WSVE reducido. Para observar la dependencia del número de vectores desoporte con respecto al tamaño del conjunto de entrenamiento, se varió el número demuestras desde 10 hasta 2000. Para todas las SVM se escogió un kernel lineal porquepara este problema particular, el clasi�cador de Bayes es un discriminante lineal. Elparametro ν de la SVM entrenada convencionalmente se selecciono igual a 0,2 porqueun resultado de Steinwart establece que el ν ideal es igual a dos veces el error de Bayes[45]; por la misma razón el parámetro ν de WSV E se escogió igual al mínimo peso delos datos.

La �gura 3.7 muestra el error empírico contra el tamaño del conjunto de entrena-

25

Page 31: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 3.6: Número de vectores de soporte del modelo reducido vs. Rondas de Adaboostpara diferentes valores de µ.

miento para los tres algoritmos estudiados. Se observa que el error empírico de los tresmétodos es similar; lo cual muestra que las funciones de decisión son similares.

Por otro lado, la �gura 3.8 muestra que el número de vectores de soporte de losmétodos propuestos no se incrementa tan rápidamente como el número de vectores desoporte de la SVM convencional. Este hecho implica que los algoritmos presentadospueden ser usados en forma efectiva como algoritmos de edición de los datos.

Dado que la edición de los datos se realiza durante el proceso de entrenamiento,la complejidad temporal de los algoritmos es también menor que la del algoritmo deSVM convencional. La �gura 3.9 muestra el tiempo empleado por cada uno de losalgoritmos. El entrenamiento convencional de una SVM crece en forma cuadrática conrespecto al número de datos, mientras que los algoritmos presentados usan un tiempoprácticamente constante en entrenarse.

26

Page 32: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 3.7: Error de entrenamiento vs. Tamaño del conjunto de entrenamiento

Figura 3.8: Número de vectores de soporte vs. Tamaño del conjunto de entrenamiento

27

Page 33: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 3.9: Tiempo vs. Tamaño del conjunto de entrenamiento

28

Page 34: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Capítulo 4

Algoritmos de Boosting Paralelo

Existe un compromiso entre el tiempo de entrenamiento de un algoritmo y su desem-peño. Entre mayor es el tiempo de entrenamiento, usualmente el algoritmo de apren-dizaje encuentra una hipótesis con menor error. En algunos casos, resulta más sencilloentrenar varias veces un algoritmo débil (cuyo entrenamiento se ejecuta su�cientemen-te rápido) y formar con las hipótesis obtenidas un clasi�cador combinado, a entrenardirectamente un algoritmo fuerte. Uno de los métodos más e�cientes y populares paracombinar hipótesis es Adaboost (ver sección 2.3.1).

La complejidad temporal de Adaboost, depende fuertemente de dos factores: delnúmero de hipótesis en el clasi�cador combinado y de la complejidad temporal deentrenar un único clasi�cador. Adaboost es un algoritmo de naturaleza secuencial yaque necesita el desempeño del clasi�cador actual para generar la distribución que seráusada en el entrenamiento del siguiente clasi�cador. Esto hace que, en la mayoría desituaciones prácticas, el proceso de entrenamiento sea lento.

En este capítulo se ataca el problema de mejorar la complejidad temporal de losalgoritmos de Boosting. La estrategia propuesta consiste en eliminar la dependenciasecuencial de la generación de distribuciones en Adaboost. De esta forma, es posible en-trenar varios clasi�cadores a la vez y por tanto acelerar el proceso de entrenamiento. Através de este capítulo, se presentan varios algoritmos de boosting paralelo (i.e. algorit-mos similares a Adaboost pero que permiten que los clasi�cadores base sean entrenadosen paralelo).

En general, los algoritmos presentados proceden en varias rondas. En la primeraronda, se entrenan los clasi�cadores base usando distribuciones sorteadas en forma in-dependiente a partir del simplex de probabilidad. Este proceso es muy similar a Bagging(ver sección 2.3.2). En las rondas posteriores, se implementan diferentes estrategias paraobtener distribuciones �utiles�. Las distribuciones se obtienen basadas en la informacióndel desempeño obtenido por los clasi�cadores base en las rondas anteriores (en for-ma similar a como lo hace Adaboost). La generación de estas distribuciones puede serejecutada rápidamente por un procesador central y luego comunicada a procesadoresindependientes que entrenen el nuevo conjunto de clasi�cadores base.

Varios investigadores han desarrollado variantes de Adaboost las cuales están enfo-

29

Page 35: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

cadas en mejorar su error de generalización o su tolerancia a outliers (véase por ejemplo[43, 39, 35, 36]). Sin embargo, existen pocos intentos concernientes al mejoramiento de lacomplejidad temporal de Adaboost usando procesamiento paralelo. Lazarevic y Obra-dovic propusieron un método paralelo que opera en bases de datos distribuidas [27].Su algoritmo particiona los datos en subconjuntos disyuntos, los clasi�cadores base sonentrenados en cada uno de los subconjuntos disyuntos y combinados de acuerdo a sudesempeño. En forma similar, Yu y Skillicorn propusieron una variante de Adaboost,la cual crea varios conjuntos de muestras aleatoriamente y luego los usa para entre-nar en paralelo [52]. A diferencia de estos métodos, los algoritmos que se proponenen este capítulo entrenan los clasi�cadores base usando la totalidad del conjunto deentrenamiento.

4.1. Motivación

Adaboost produce distribuciones que no están correlacionadas con el vector de már-genes producido por la distribución anterior. Esto quiere decir que la distribución Dt+1

producida por Adaboost cumple con que∑m

i=1 Dt+1(i)uti = 0, donde ut

i = yiht(xi) esmargen de la hipótesis ht en el dato i [39]. En el caso particular de clasi�cadores bina-rios, esto signi�ca que el error pesado de la hipótesis ht de acuerdo con la distribuciónactualizada Dt+1 es igual a 1/2 (i.e.

∑mi=1 Dt+1(i)Jht(xi) 6= yiK = 1/2).

Kivinen y Warmuth mostraron además que la distribución Dt+1 es la solución delsiguiente problema de optimización convexa [24]:

mınD∈P

∆(D, Dt) s.t.m∑

i=1

Dt+1(i)uti = 0 (4.1)

donde ∆(·, ·) es la distancia de Kulback-Leibler entre dos puntos cuales quiera delsimplex de probabilidad. Kivinen y Warmuth proponen que este problema de opti-mización intenta equilibrar dos objetivos con�ictivos. Primero, para obtener la mayorcantidad posible de información a partir de los datos, intenta encontrar una distribuciónno correlacionada con los márgenes anteriores. Segundo, la distribución debe perma-necer lo más �cerca� posible de la distribución anterior, para así retener los cambioshechos en las previas actualizaciones y también evitar que el algoritmo reaccione muyagresivamente a datos ruidosos.

Aunque la explicación de no correlación dada por Kivinen y Warmuth es ampliamen-te conocida y aceptada [39]; no resulta del todo claro porque la distribución obtenidadebe ser la más cercana en distancia de Kulback-Leibler. Para ilustrar ese punto devista, se muestran dos experimentos sencillos realizados sobre el problema de interva-los . El espacio de entrada de este problema X es el intervalo [0, 1] ∈ R, la clase deconceptos Cd consiste de todas las funciones booleanas sobre [0, 1] que tienen a lo sumod cambios de nivel. Se escoge este problema porque es uno de los pocos casos en los

30

Page 36: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

cuales se puede minimizar e�cientemente el error de entrenamiento. El algoritmo deentrenamiento es un algoritmo greedy cuya implementación directa conlleva a un tiem-po de ejecución de O(dm2); sin embargo una implementación más so�sticada tiene unacomplejidad computacional de O(m log(m)) [22].

En el primer experimento, se corre Adaboost en este problema pero los pesos ob-tenidos se contaminan usando ruido gaussiano con media cero. Los nuevos pesos sonnormalizados para obtener una nueva distribución. Los clasi�cadores base se entrenansobre estas distribuciones modi�cadas. La idea al contaminar las distribuciones es ob-tener una distribución cercana en distancia Kulback-Leibler pero no correlacionada conlos márgenes. La varianza del ruido introducido permite controlar que tanto se aleja ladistribución modi�cada de la obtenida originalmente por Adaboost. En este experimen-to, se pretende observar que tan críticas son las distribuciones obtenidas por Adaboosten el desempeño del clasi�cador combinando.

La �gura 4.1(a) muestra la evolución del error de entrenamiento obtenido usandoeste algoritmo. La grá�ca muestra una tendencia decreciente en el error de entrena-miento del algoritmo con ruido. En comparación con el error obtenido por Adaboost, elalgoritmo con ruido decrece más lentamente, pero la diferencia no es considerable. Estasituación hace suponer que es posible relajar las distribuciones obtenidas por Adaboosty seguir obteniendo mejoras en el desempeño del clasi�cador combinado. Tal y como semostrará en la sección siguiente, es posible explotar esta circunstancia para eliminar ladependencia secuencial de las distribuciones generadas por Adaboost.

En el segundo experimento, se contaminan nuevamente los pesos de los datos conruido gaussiano; pero en este caso, se hace cumplir la restricción de no correlación comoen el problema de optimización 4.1 (i.e.

∑mi=1 Dt+1(i)u

ti = 0). De esta forma, se pretende

veri�car la importancia de la condición de no correlación en la obtención de distribucio-nes de Adaboost. La �gura 4.1(b) muestra los resultados de este segundo experimento.Al menos desde el punto de vista del error de entrenamiento, las curvas muestran queel desempeño de Adaboost no se degrada con esta modi�cación. De hecho, para esteproblema sencillo, el error del algoritmo modi�cado decrece más rápido que el errordel clasi�cador obtenido con Adaboost. Este resultado, induce a pensar que es muchomás importante generar distribuciones no correlacionadas con los márgenes que generardistribuciones cercanas en el sentido de la distancia Kulback-Leibler. Lamentablementees imposible eliminar la dependencia secuencial de la generación de distribuciones ymantener la restricción de no correlación. Para sortear este inconveniente, se propon-drán algoritmos que cumplan con la restricción de no correlación cada cierto númerode clasi�cadores base. La evidencia empírica que arroja este experimento además per-mitió desarrollar el método de actualización de distribuciones basado en márgenes nocorrelacionados, el cual es presentado más adelante (ver �gura 4.7).

31

Page 37: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

(a) Adaboost con distribuciones perturbadas con ruido gaussianode media cero

(b) Adaboost con distribuciones perturbadas con ruido que cum-plen la restricción de no correlación

Figura 4.1: Experimentos con las distribuciones de Adaboost en el problema de inter-valos

32

Page 38: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: GeneralPB(S, D,WL, K, T )

Input: S, D, WL, K, TOutput: Una hipótesis fuerte HD1 = Dfor t ← 1 to T do

Usar Dt para generar el conjunto de distribuciones Dt,1, Dt,2, . . . , Dt,K

for k ← 1 to K doht,k ← WL(S, Dt,k)

end

Combinar {ht,k}Kk=1 para obtener Ht =∑K

k=1 α∗t,kht,k

Encontrar Dt+1

end

return H =∑k,t

αt,kht,k

Figura 4.2: Algoritmo General de Boosting Paralelo.

4.2. Algoritmo general de boosting paralelo

La �gura 4.2 muestra la estrategia general de los algoritmos de boosting que sepresentan más adelante. En lo que resta del capítulo, se asumirá que el algoritmo deBoosting tiene acceso a un aprendiz empiricamente débil WL : {X × Y}m 7→ H, a unconjunto de muestras etiquetadas S y a una distribución sobre dichas muestras D; yretorna una hipótesis h ∈ span(H).

En cada iteración, el algoritmo general entrena K clasi�cadores base simultánea-mente. Para entrenar estos clasi�cadores, se utilizan K distribuciones diferentes, lascuales son generadas a partir de una única distribución �semilla� Dt. Los clasi�cadoresobtenidos en cada iteración son combinados, y el desempeño resultante es evaluadopara obtener la distribución semilla de la siguiente ronda. El clasi�cador �nal es lacombinación de todos los clasi�cadores previos.

Note que si se cuenta con K procesadores paralelos, cada uno de los cuales entrenae�cientemente al aprendiz débil usando una complejidad temporal O(w); entonces elalgoritmo 4.2 genera una clasi�cador combinado con T ·K hipótesis en un tiempo deO(wT ). Si se tiene en cuenta que para obtener el mismo número de hipótesis basecon Adaboost se requiere de un tiempo de O(wTK), el algoritmo general de boostingparalelo es capaz de mejorar el tiempo de corrida en un tiempo K igual al número deprocesadores paralelos con que se cuenta.

Para hacer que el algoritmo general de boosting funcione, se deben resolver tres pro-blemas básicos. Primero, se necesita un método e�ciente para combinar los clasi�cadoresbase en paralelo. Segundo, se debe encontrar un método para generar la distribuciónsemilla que será usada en la siguiente distribución. Tercero se requiere un algoritmo

33

Page 39: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: CombH(S,D, {hj}Kj=1, T )

Input: {〈xi, yi〉}mi=1, D, {h}Kj=1, TOutput: Un clasi�cador combinado H, Una distribución no correlacionada con

los márgenes de las hipótesis DOut

Data: Una matriz M ∈ [−1, +1]m,K , Un vector α ∈ RK

Inicializar α = 0.Inicializar Mj,i = yi · hj(xi).Normalizar M tal que para todo i,

∑mj=1 |Mj,i| ≤ 1.

D0 = D.for t ← 1 to T do

D = D0 · exp(−M ·α).for j ← 1 to K do

W+j =

∑i:sign(Mj,i)=+1

D(i) · |Mj,i|.

W−j =

∑i:sign(Mj,i)=−1

D(i) · |Mj,i|.

δj =1

2ln

(W+

j

W−j

).

end

α = α + δ.end

DOut = D/∑

j D(j).

return H =∑K

k=1 αkhk.return DOut.

Figura 4.3: Algoritmo de combinación de hipótesis.

que encuentre distribuciones útiles a partir de una distribución semilla. En las siguien-tes secciones se proponen algunas técnicas que resuelven cada uno de los problemasanteriormente mencionados.

4.2.1. Combinar hipótesis y generar la siguiente distribución semilla

Dado {hj}Kj=1 un conjunto �nito de hipótesis, existen varios métodos para combi-nar las hipótesis de este conjunto. Entre los más conocidos se encuentran las técnicasbasadas en el descenso de gradiente funcional [30, 29] o en la optimización directa deuna función de costo de los márgenes [25]. Aunque estos métodos han sido útiles paraexplicar la e�cacia de Adaboost; no resultan prácticos debido a su alta complejidadtemporal. Por otro lado, Collins, Schapire y Singer propusieron un método iterativode optimización basado en distancias de Bregman [12]. Este algoritmo presenta dos

34

Page 40: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: RandDG(Dt, K)

Input: Dt, KOutput: Un conjunto de distribuciones {Dt,k}Kk=1

for k ← 1 to K do

forall i ∈ {1, . . . ,m} doDt,k(i) ∼ Rand([0, 1]).Dt,k(i)← Dt(i) ·Dt,k(i).

end

Dt,k ← Dt,k/∑

i Dt,k(i).end

return {Dt,k}Kk=1

Figura 4.4: Distribuciones aleatorias.

ventajas: Primero, su óptima complejidad temporal; y segundo, que puede ser e�ciente-mente implementado en un computador paralelo. Con el objeto de combinar hipótesis,se usará una versión particular del algoritmo de actualización paralela presentado enla �gura 1 de [12]. Esta versión particular usa la entropía relativa entre distribucionescomo distancia de Bregman, lo cual conduce a la optimización de la función de costoexponencial (2.10). El algoritmo utilizado es mostrado en la �gura 4.3.

Adicionalmente, el algoritmo de combinación de hipótesis retorna, sin esfuerzo adi-cional, la distribución que no está correlacionada con los márgenes de todos los cla-si�cadores y que minimiza la distancia de Kulback-Leibler a la distribución semilla.Esta distribución será usada como la distribución semilla para la siguiente ronda delalgoritmo general de boosting paralelo.

4.2.2. Generar distribuciones utiles a partir de una distribución semilla

Cuando se usa un algoritmo empiricamente débil junto con Adaboost, el error em-pírico decrece exponencialmente con el número de rondas [18]. Si se conocieran lasdistribuciones generadas por Adaboost de antemano, sería posible entrenar indepen-dientemente cada clasi�cador y obtener una hipótesis con error arbitrariamente cercanoa cero. Desde luego, debido a la naturaleza serial de la actualización de las distribu-ciones de Adaboost, este no es el caso. Sin embargo, es posible generar distribucionesbasadas en información parcial que, aunque no sean óptimas, aún pueden servir parareducir el error empírico del clasi�cador. En esta sección se proponen cuatro métodosheurísticos para generar distribuciones en paralelo. Cada uno de estos métodos intentacapturar la mayor cantidad de información con respecto a la distribución semilla.

35

Page 41: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: MargDG(S,Dt, K, γ)

Input: {〈xi, yi〉}mi=1,Dt, K, γOutput: Un conjunto de distribuciones {Dt,k}Kk=1

for k ← 1 to K do

Generar aleatoriamente y tal que∑

i Dt(i)Jyi 6= yiK ≤(

12− γ).

Calcular αt,k =1

2ln

(1 + γ

1− γ

).

Calcular Dt,k(i) = Dt(i) exp (−αt,kyiyi).end

return {Dt,k}Kk=1

Figura 4.5: Márgenes aleatorios.

Distribuciones aleatorias

La manera más directa de encontrar distribuciones en paralelo consiste en calculardistribuciones aleatorias que tengan valor esperado igual al de la distribución semillaDt. Note que el espíritu de este método es similar al de Bagging, y por tanto el usarloreduce la varianza del algoritmo débil con respecto a la distribución semilla. Este métodoresultá efectivo con aquellos aprendices débiles que posean alta varianza, pero ine�cienteen algoritmos débiles estables [6, 7, 51]. La �gura 4.4 muestra el algoritmo de generaciónde distribuciones aleatorias.

Márgenes aleatorios

Otra forma de generar distribuciones es mostrada en el algoritmo de la �gura 4.5.En este algoritmo, se encuentran distribuciones no correlacionadas con el vector demárgenes {yiyi} que es inducido por un conjunto aleatorio de etiquetas yi. Las etiquetasyi son generadas de tal forma que cumplan con la condición de γ-debilidad (i.e. paraun γ positivo, el error pesado de las etiquetas aleatorias con respecto a las etiquetasoriginales se aproxima por debajo hacia 1/2−γ). Con este método se pretende fomentara aquellas distribuciones que están concentradas en diferentes subconjuntos del conjuntode entrenamiento original.

Clusters Difusos

El método mostrado en la �gura 4.6 intenta aprovechar la información contenida endistribución subyacente de los datos, asumiendo que estos poseen una estructura multi-modal (i.e. que los datos son sorteados a partir de varias distribuciones gaussianas).El método utiliza el algoritmo de fuzzy c-means para encontrar k clusters en los datos[2, 28]. Las funciones de pertenencia son multiplicadas por la distribución semilla, para

36

Page 42: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Algorithm: FuzzyDG(S,Dt, K)

Input: {〈xi, yi〉}mi=1, Dt, KOutput: Un conjunto de distribuciones {Dt,k}Kk=1

beginEncontrar K clusters difusos sobre los datos {xi}mi=1 de acuerdo con ladistribución Dt

Ct,k.= Función de pertenencia del cluster k

for k ← 1 to K do

Dt,k(i) =Ct,k(i)∑mi=1 Ct,k(i)

end

end

return {Dt,k}Kk=1

Figura 4.6: Clusters Difusos.

así tener en cuenta la información que ésta posee. Finalmente, las distribuciones sonobtenidas mediante la normalización de las funciones de pertenencia.

Márgenes no correlacionados

La �gura 4.7 muestra un algoritmo de generación de distribuciones basado en márge-nes no correlacionados (DUUM por su sigla en inglés (Distribution Update Uncorrelatedwith Margins)). El método consiste en generar distribuciones cercanas a la distribuciónsemilla, pero que sean no correlacionadas con los márgenes del clasi�cador combinadoobtenido en la ronda anterior. Los experimentos previos con Adaboost muestran quees buena idea realizar este tipo de actualización (ver 4.1b). El algoritmo primero par-ticiona el conjunto de datos en dos subconjuntos. El primer subconjunto está formadopor aquellos datos que producen un margen positivo sobre el clasi�cador combinadoprevio; mientras que el segundo subconjunto está formado por los datos que producenun margen negativo. Luego se adiciona ruido gaussiano con valor medio cero a cadapeso y se normaliza el peso de cada subconjunto a 1/2. La varianza del ruido agregadocontrola que tan dispersas serán las distribuciones generadas.

4.3. Boosting paralelo usando rotación de información

Los algoritmos basados en el procedimiento de la �gura 4.2 crean en cada rondaun conjunto de distribuciones a partir de una distribución semilla. En esta sección sepresenta un procedimiento con un enfoque diferente. Este nuevo algoritmo no generalas distribuciones a partir de una única distribución semilla, sino que usa la informa-ción localizada a través de todo el conjunto de procesadores paralelos para crear varias

37

Page 43: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Input: {uti}mi=1, Dt,v,K

Output: Un conjunto de distribuciones {Dt,k}Kk=1

U+ = {i : uti ≥ 0}, w+ =

∑i∈U+ Dt,i.

U− = {i : uti < 0}, w− =

∑i∈U− Dt,i.

m = mıni Dt,i.for k = 1 to K do

foreach i dor ∼ Gauss(0, v).Dk,i = mın(Dt,i + r; m).

end

foreach i ∈ U+ do

Dk,i =Dk,i

2∑

j∈U+ Dk,j

end

foreach i ∈ U− do

Dk,i =Dk,i

2∑

j∈U− Dk,j

end

end

return {Dt,k}Kk=1

Figura 4.7: Márgenes no correlacionados (DUUM).

Algorithm: PBIS(S,D, WL, K, T )

Input: S, D, WL, K, TOutput: Una hipótesis fuerte HEncontrar K distribuciones iniciales: {D1,k}K−1

k=0 .for t ← 1 to T do

Encontrar K hipótesis débiles usando {Dt,k}K−1k=0 .

{ht,k}K−1k=0 ← WL

(S, {Dt,k}K−1

k=0

).

for k ← 1 to K − 1 doDAux ← 1

2

[Dt,k + Dt,k+1 (mod K−1)

]Dt+1,k ← CombH(S,DAux, {ht,k, ht,k+1 (mod K−1)}, R).

end

end

return H =∑k,t

αt,kht,k

Figura 4.8: Algoritmo de boosting usando rotación de información (PBIS).

38

Page 44: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 4.9: Flujo de información en el algoritmo de boosting paralelo usando rotaciónde información.

distribuciones. El procedimiento es llamado algoritmo de boosting paralelo usando ro-tación de información (PBIS por sus siglas en inglés (Parallel Boosting via InformationShifting)). El algoritmo es mostrado en la �gura 4.8.

En PBIS se asume que, en cada ronda, cada procesador P0, . . . , PK−1 está a cargo deentrenar un aprendiz base. En la primera ronda, los clasi�cadores son entrenados sobredistribuciones aleatorias. Para las siguientes rondas, la distribución del aprendiz base kse calcula como la distribución más cercana (en el sentido Kulback Leibler) al promedioentre las distribuciones k y (k + 1) mod (K − 1) de la ronda anterior y que no estácorrelacionada con los márgenes de los correspondientes aprendices base. Finalmente,el algoritmo combina todas las hipótesis obtenidas usando el algoritmo 4.3.

La �gura 4.9 muestra un ejemplo sencillo del funcionamiento del algoritmo. Las�echas representan el �ujo de información entre los aprendices de ronda a ronda. Noteque aunque en una ronda la información sólo �uye entre dos procesadores, en variasrondas la información de cada procesador �uye a través de los demás. Por ejemplo, enla �gura 4.9, en la segunda ronda P1 es in�uenciado únicamente por P1 y P2; mientrasque en la tercera ronda es también in�uenciado indirectamente por P3.

4.4. Experimentos

4.4.1. Experimentos con datos arti�ciales

En esta sección se muestran algunos experimentos con los algoritmos de boostingparalelo presentados en las secciones anteriores. Para evaluar estos algoritmos se uti-lizarán dos medidas de desempeño: el error de generalización y el tiempo de corridade los algoritmos. Para que un algoritmo de boosting paralelo sea útil en una tarea

39

Page 45: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

determinada, éste debe retornar una hipótesis con error de clasi�cación cercano al queproduciría Adaboost en esta tarea.

A continuación, se presentan experimentos en el problema binario de clasi�caciónfournorm el cual fue descrito en la sección 3.3.1. Para este estudio, se usará comoaprendiz débil una neurona con función de activación h(x) = tanh(〈w, x〉), donde wes el vector de pesos sináptico. El aprendiz débil minimiza la función de perdida ex-ponencial (2.10). Este problema de optimización cuenta con multiples mínimos locales.Para encontrar un buen clasi�cador, el proceso de entrenamiento se empieza en variospuntos y se escoge la respuesta con mejor desempeño. En los experimentos, se utili-zan 1000 muestras etiquetadas para entrenamiento, y 10000 para estimar el error degeneralización.

La �gura 4.10 muestra el error de generalización del algoritmo general de boostingparalelo cuando se generan las distribuciones usando RandDG, MargDG y FuzzyDG;y se entrenan K = 20 aprendices débiles al tiempo. La �gura también incluye el errorde generalización obtenido por Adaboost, el cual servirá como punto de referencia. Seobserva que, en este problema, los tres algoritmos tienen un comportamiento similar.Para 300 clasi�cadores base, el error de Adaboost y el de estos algoritmos es similar.Sin embargo, los algoritmos paralelos pueden entrenar esos 300 clasi�cadores en untiempo 20 veces menor al que emplea Adaboost. Por supuesto, este aumento en velo-cidad es hecho a costa de K − 1 procesadores paralelos extras. Similarmente, la �gura4.11 muestra el error de generalización contra el número de clasi�cadores base para losdos algoritmos más elaborados: DUUM y PBIS. Nuevamente, se toma como punto dereferencia el desempeño de Adaboost. Las curvas muestran que, luego de un comporta-miento errático, los dos algoritmos obtienen un desempeño equivalente al de Adaboost.Así, para este problema, los dos algoritmos construyen un clasi�cador combinado conel mismo desempeño que Adaboost, pero que puede ser entrenado 20 veces más rápido.

La �gura 4.12 muestra el error empírico del algoritmo general de boosting paralelocuando se usan RandDG, MargDG y FuzzyDG para generar las distribuciones. Por otrolado, la �gura 4.13 muestra el error empírico de DUUM y PBIS. En las dos �guras semuestra también el error empírico de Adaboost. Es interesante notar que pese a que eldesempeño en generalización de DUUM y PBIS es superior al de los otros algoritmos,su error empírico se comporta de manera similar.

La �gura 4.13 muestra además que el error empírico de DUUM y PBIS no desciendetan rápidamente como el de Adaboost. Sin embargo, el error de generalización de estostres algoritmos es similar luego del clasi�cador 120. Este hecho implica que DUUM yPBIS están realizando algún tipo de regularización en la complejidad del clasi�cadorcombinado resultante.

40

Page 46: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 4.10: Error de generalización vs. Número de clasi�cadores Base para el algoritmogeneral de boosting paralelo, generando las distribuciones usando RandDG, MargDGy FuzzyDG.

Figura 4.11: Error de generalización vs. Número de clasi�cadores Base para DUUM yPBIS

41

Page 47: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 4.12: Error empírico vs. Número de clasi�cadores Base para el algoritmo ge-neral de boosting paralelo, generando las distribuciones usando RandDG, MargDG yFuzzyDG.

Figura 4.13: Error empírico vs. Número de clasi�cadores Base para DUUM y PBIS

42

Page 48: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 4.14: Error de empírico vs. Número de clasi�cadores base de DUUM, PBIS yAdaboost, en el problema de cancer de seno.

4.4.2. Experimentos con datos reales

Finalmente se muestran los resultados de aplicar DUUM y PBIS a un problemapráctico. La �gura 4.14 muestra el error empírico de estos algoritmos cuando se aplicanal conjunto de datos de cancer de seno del repositorio de UCI Irvine [3]. En formasimilar, la �gura 4.15 muestra el error de prueba obtenido en este problema. En estosexperimentos se uso como aprendiz base stumps, el cual es un aprendiz que minimizae�cientemente el error empírico sobre el conjunto de datos. En estos experimentos seencontraron K = 20 distribuciones en paralelo, lo cual permite que los algoritmos para-lelo se ejecuten 20 veces más rápido que Adaboost. Para el entrenamiento se utilizaron600 datos y se reservaron 83 datos para calcular el error de prueba. Se observa quelas curvas obtenidas son cualitativamente similares a las de los experimentos con datosarti�ciales, además se observa que los algoritmos paralelos convergen al mismo error deentrenamiento y prueba que Adaboost.

43

Page 49: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Figura 4.15: Error de generalización vs. Número de clasi�cadores base de DUUM, PBISy Adaboost, en el problema de cancer de seno.

44

Page 50: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Capítulo 5

Conclusiones

A través de este trabajo se presentaron algunos métodos para acelerar el entrena-miento de clasi�cadores combinados. Principalmente se estudió el comportamiento delos clasi�cadores combinados que genera una maquina de vectores de soporte, Adaboosty Bagging. En el documento se presentan algunos algoritmos prácticos que permitenacelerar el entrenamiento de SVM y de Adaboost.

En el capítulo 3 se presento una variante de SVM que puede ser usada junto conAdaboost. Esta variante presenta tres características importantes. Primero, a diferenciaque algunos de los algortimos presentados anteriormente, la versión presentada puedemanejar distribuciones sin necesidad de utilizar muestras bootstrap. Segundo, cuandose usa un kernel universal, se puede garantizar que el algoritmo es empiricamente débil.Tercero, el algoritmo se ejecuta más rápido que la versión original de SVM.

El algoritmo de SVM debilitado fue utilizado junto con Adaboost para generar otramaquina de vectores de soporte. Aunque existe evidencia empírica que indica que hacerboosting de un algoritmo fuerte es contraproducente [50], el algoritmo de boostingcon SVM presentado tiene algunas cualidades interesantes. Dicho algoritmo está encapacidad de mejorar la complejidad temporal del entrenamiento de SVM sin degradarsu desempeño en generalización.

Existe una relación entre las funciones que se minimizan para encontrar una SVMy la función que se minimiza para combinar hipótesis con Adaboost. Una SVM es untipo de aprendiz el cual, dado un conjunto de entrenamiento S, encuentra el hiperplanocon margen geométrico máximo en un espacio de alta dimensión. El margen geométricoesta asociado con el margen en los datos usando norma L2. Por otro lado, Adaboostencuentra el clasi�cador con margen máximo en norma L1 en el espacio generado por losclasi�cadores base [40, 37]. Así, el algoritmo de boosting SVM encuentra una hipótesiscon margen máximo en norma L1 en el espacio de características generado por k(·, xi).Evidentemente este clasi�cador no es el mismo que encontraria un SVM; sin embargoeste tipo de clasi�cadores conserva propiedades estadísticas importantes [47].

Adicionalmente, Adaboost puede ser usado para realizar edición de los datos deentrada. Tanto en la etapa de entrenamiento como en la etapa de predicción; el desem-peño de una SVM está fuertemente in�uenciado por el número de vectores de soporte.

45

Page 51: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Steinwart demostró que el número de vectores de soporte es proporcional al error deBayes del problema particular [46]. Así, en problemas con alto error de Bayes, el entre-namiento de las SVM será más lento y también será mas lenta la predicción de etiquetassobre nuevos datos. Una forma de evitar este inconveniente es utilizar un algoritmo queelimine aquellos datos que tienen alta probabilidad de ser vectores de soporte errados(i.e. los vectores de soporte que se encuentran en el lado equivocado de la función dedecisión de Bayes). Tal y como se mostro anteriormente, las distribuciones generadaspor Adaboost pueden servir para estimar la probabilidad de que un dato sea un vectorde soporte errado. Si se eliminan aquellos datos con alto peso, entonces Adaboost pue-de usarse en forma e�ciente como algoritmo de edición. Como tema de investigaciónfutura, se propone usar alguna variante de Adaboost que no sobre-pénalice los outlierspara hacer edición.

Ya que Adaboost necesita del desempeño en las rondas anteriores para entrenarun nuevo clasi�cador base, el algoritmo es de naturaleza secuencial. Kivinen y War-muth mostraron que la distribución que encuentra Adaboost es aquella distribución nocorrelacionada que minimiza la distancia de Kulback-Leibler a la distribución anterior.La condición de no correlación se debe a que en cada ronda Adaboost intenta extraeraquella información que no ha sido extraída en rondas anteriores. Por otra parte, noes del todo claro porque la siguiente distribución debe ser la más cercana en el sentidoKulback-Leibler. Kivinen y Warmuth argumentan que la distribución nueva debe ser lamás cercana para retener los cambios hechos en las previas actualizaciones y tambiénpara evitar que el algoritmo reaccione muy agresivamente a datos ruidosos [24]. Sinembargo, algunos de los experimentos realizados muestran que no es necesario que lasiguiente distribución sea la más cercana en distancia de Kulback-Leibler.

La distancia de Kulback-Leibler ∆(p, q) entre dos distribuciones p y q es una canti-dad usada en teoria de información, la cual tiene como objetivo medir la ine�cacia deasumir que una variable aleatoria está distribuida de acuerdo a p cuando en realidadestá distribuida de acuerdo a q. En la ronda t, Adaboost captura la mayor cantidadde información de un conjunto de muestras sobre la distribución Dt. Si ya se capturola mayor cantidad de información sobre Dt, ¾por qué la siguiente distribución debe sere�ciente respecto a Dt?, ¾no resulta mejor idea utilizar una distribución que aporte lamayor cantidad de información mutua respecto de Dt?, ¾cuál es la cantidad que másconviene optimizar en este tipo de problemas de clasi�cación? Los resultados experi-mentales mostrados sugieren que es posible crear algoritmos más e�cientes de Adaboost,los cuales encuentren distribuciones optimizando una medida diferente. El problema dela implementación de dichos algoritmos es que posiblemente no resulten tan simples yelegantes como Adaboost; sin embargo, este problema teórico merece ser estudiado mása fondo.

En el capítulo 4 se proponen varios métodos que aceleran la generación de clasi-�cadores combinados mediante estrategias similares a Adaboost, pero que pueden serejecutadas en paralelo. La idea básica de los algoritmos presentados es generar un con-

46

Page 52: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

junto de distribuciones �utiles� a partir de una distribución semilla. Esto permite entre-nar varios aprendices base usando cada una de estas distribuciones. Al �nal, todas lashipótesis obtenidas son combinadas. De esta forma los algoritmos presentados puedensacar provecho de arquitecturas de computación paralelas en la etapa de entrenamientoy por tanto acelerar la generación de clasi�cadores combinados.

Para generar las distribuciones útiles se propusieron cuatro diferentes métodos: dis-tribuciones aleatorias, márgenes aleatorios, clusters difusos y márgenes no correlaciona-dos (DUUM). Los resultados experimentales indican que los tres primeros métodos secomportan en forma similar y que su desempeño es cercano al desempeño de Adaboost.Por otra parte, en los experimentos desarrollados, el desempeño de DUUM resulta serequivalente al de Adaboost. También se presento un algoritmo ligeramente diferente elcual no genera las distribuciones a partir de la distribución semilla, sino que lo haceteniendo en cuenta la información distribuida a través de los aprendices que se estánentrenando. Este algoritmo es llamado PBIS.

Algunos de los experimentos presentados hacen suponer que el êxito los algoritmosDUUM y PBIS está basado en que estos algoritmos encuentran distribuciones que no seencuentran correlacionadas con los márgenes. Los clasi�cadores obtenidos por DUUMy PBIS no alcanzan un error empírico tan bueno como el de Adaboost; sin embargoestos algoritmos llegan a un error de generalización equivalente. Esto sugiere que estosalgoritmos están realizando algún tipo de penalización a la complejidad de los modelosproducidos. La fuente de esta regularización permanece como problema teórico y comoun posible tema de investigación futura.

La principal ventaja de los algoritmos presentados es que pueden aprovechar fá-cilmente la existencia de varios procesadores paralelos; y por tanto pueden realizar elproceso de entrenamiento en una fracción del tiempo empleado por Adaboost. Desdeluego, la mejora en tiempo esta acompañada por el costo de usar más procesadores; sinembargo, en problemas de bases de datos grandes, el ahorro en tiempo suele compensarel costo extra en procesamiento.

47

Page 53: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Bibliografía

[1] G. Bak�r, L. Bottou, and J. Weston. Breaking SVM complexity with cross-training.In Advances in Neural Information Processing Systems, volume 17. MIT Press,2005.

[2] J. C. Bezdek. Pattern Recognition with Fuzzy Objective Function Algorithms. Ple-num Press, New York, 1981.

[3] C.L. Blake and C.J. Merz. UCI repository of machine learning databases, 1998.URL: http://www.ics.uci.edu/∼mlearn/MLRepository.html.

[4] B. E. Boser, I. M. Guyon, and V. Vapnik. A training algorithm for optimal marginclassi�ers. In D. Haussler, editor, Proceedings of the 5th Annual ACM Workshop onComputational Learning Theory, pages 144�152, Pittsburgh, PA, July 1992. ACMPress.

[5] O. Bousquet and A. Elissee�. Algorithmic stability and generalization performance.In Advances in Neural Information Processing Systems, volume 13, 2001.

[6] L. Breiman. Bagging predictors. Machine Learning, 26(2):123�140, 1996.

[7] L. Breiman. Bias, variance, and arcing classi�ers. Technical Report 460, StatisticsDepartment, University of California, April 1996.

[8] C. J. C. Burges. Simpli�ed support vector decision rules. In L. Saitta, editor,Proceedings, 13th Intl. Conf. on Machine Learning, pages 71�77, San Mateo, CA,1996. Morgan Kaufmann.

[9] C. J. C. Burges. A tutorial on support vector machines for pattern recognition.Data Mining and Knowledge Discovery, 2(2):121�167, 1998.

[10] C. Chang and C. Lin. Training ν-support vector classi�ers: Theory and algorithms.Neural Computation, (9):2119�2147, 2001.

[11] P. H. Chen, R. E. Fan, and C. J. Lin. A study on smo-type decomposition methodsfor support vector machines. Technical report, National Taiwan University, 2005.

48

Page 54: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

[12] M. Collins, R. E. Schapire, and Y. Singer. Logistic regression, adaboost and breg-man distances. Machine Learning, 48(1-3):253�285, 2002.

[13] C. Cortes and V. Vapnik. Support vector networks. Machine Learning, 20:273� 297,1995.

[14] Tom Downs, Kevin E. Gates, and Annette Masters. Exact simpli�cation of supportvector solutions. J. Mach. Learn. Res., 2:293�297, 2002.

[15] N. Du�y and D. Helmbold. A geometric approach to leveraging weak learners. In4th European Conference on Computational Learning Theory. LNCS, 1999.

[16] N. Du�y and D. Helmbold. Potential boosters? In S.A. Solla, T.K. Leen, and K.-R.Müller, editors, Advances in Neural Information Processing Systems, volume 12,pages 258�264. MIT Press, 2000.

[17] Y. Freund. Boosting a weak learning algorithm by majority. Information andComputation, 121(2):256�285, September 1995.

[18] Y. Freund and R. E. Schapire. A decision-theoretic generalization of on-line lear-ning and an application to boosting. Journal of Computer and System Sciences,55(1):119�139, August 1997.

[19] D. Gavinsky. Optimally-smooth adaptive boosting and application to agnosticlearning. Journal of Machine Learning Research, 4:101�117, Junio 2003.

[20] Y. Grandvalet. Bagging can stabilize without reducing variance. In ICANN'01,Lecture Notes in Computer Science. Springer, 2001.

[21] D.S. Johnson and F.P. Preparata. The densest hemisphere problem. TheoricalComputer Science, (6):93�107, 1978.

[22] M. Kearns, Y. Mansour, A. Y. Ng, and D. Ron. An experimental and theoreticalcomparison of model selection methods. Machine Learning, 27:7�50, 1997.

[23] M. J. Kearns and U. V. Vazirani. An Introduccion to Computational LearningTheory. MIT press, Cambridge, Massachusetts, 1994.

[24] J. Kivinen and M. K. Warmuth. Boosting as entropy projection. In ComputationalLearing Theory, pages 134�144, 1999.

[25] V. Koltchinskii, D. Panchenko, and F. Lozano. Bounding the generalization errorof neural networks and combined classi�ers. Annals of Applied Probability, 13(1),2003.

49

Page 55: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

[26] S. R. Kulkarni, G. Lugosi, and S. S. Venkatesh. Learning pattern classi�cation�a survey. IEEE Transaction On Information Theory, 44(6):1178�2206, October1998.

[27] A. Lazarevic and Z. Obradovic. Boosting algorithms for parallel and distributedlearning. Distrib. Parallel Databases, 11(2):203�229, 2002.

[28] D. J. C. MacKay. Information Theory, Inference, and Learning Algorithms. Cam-bridge University Press, Cambridge, 6 edition, August 2004.

[29] L. Mason, P. Bartlett, and J. Baxter. Direct optimization of margins improves ge-neralization in combined classi�ers. In Advances in Neural Information ProcessingSystems, volume 11, pages 288�294, 1999.

[30] L. Mason, J. Baxter, P.L. Bartlett, and M. Frean. Functional gradient techni-ques for combining hypotheses. In A.J. Smola, P.L. Bartlett, B. Schölkopf, andD. Schuurmans, editors, Advances in Large Margin Classi�ers, pages 221�247. MITPress, Cambridge, MA, 1999.

[31] R. Meir and G. Rätsch. An introduction to boosting and leveraging. In S. Mendel-son and A. Smola, editors, Advanced Lectures on Machine Learning, LNCS, pages119�184. Springer, 2003. In press. Copyright by Springer Verlag.

[32] E. Osuna, R. Freund, and F. Girosi. An improved training algorithm for supportvector machines. In J. Principe, L. Gile, N. Morgan, and E. Wilson, editors, NeuralNetworks for Signal Processing VII � Proceedings of the 1997 IEEE Workshop,pages 276� 285, New York, 1997. IEEE.

[33] D. Pavlov, J. Mao, and D. Dom. Scaling-up support vector machines using boostingalgorithm. 15th International Conference on Pattern Recognition, 2:219�222, 2000.

[34] J. Platt. Fast training of support vector machines using sequential minimal op-timization. In B. Schölkopf, C. J. C. Burges, and A. J. Smola, editors, Advancesin Kernel Methods � Support Vector Learning, pages 185�208, Cambridge, MA,1999. MIT Press.

[35] G. Rätsch, T. Onoda, and K.-R. Müller. Regularizing AdaBoost. In M. S. Kearns,S. A. Solla, and D. A. Cohn, editors, Advances in Neural Information ProcessingSystems, volume 11, pages 564�570. MIT Press, 1999.

[36] G. Rätsch, T. Onoda, and K.-R. Müller. Soft margins for AdaBoost. MachineLearning, 42(3):287�320, March 2001. also NeuroCOLT Technical Report NC-TR-1998-021.

50

Page 56: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

[37] S. Rosset, J. Zhu, and T. Hastie. Boosting as a regularized path to a maximummargin classi�er. Journal of Machine Learning Research, 5:941�973, August 2004.

[38] R. E. Schapire. The strength of weak learnability. Machine Learning, 5(2):197�227,1990.

[39] R. E. Schapire and Y. Singer. Improved boosting algorithms using con�dence-ratedpredictions. Machine Learning, 37(3):297�336, December 1999.

[40] R.E. Schapire, Y. Freund, P. Bartlett, and W. S. Lee. Boosting the margin: Anew explanation for the e�ectiveness of voting methods. The Annals of Statistics,26(5):1651�1686, October 1998.

[41] B. Schölkopf and A. Smola. Learning With Kernels. MIT Press, Cambridge, MA,2002.

[42] B. Schölkopf, A. Smola, R. Williamson, and P. Bartlett. New support vectoralgorithms. NeuroCOLT Technical Report NC-TR-98-031, Royal Holloway College,University of London, UK, 1998.

[43] R. A. Servedio. Smooth boosting and learning with malicious noise. Journal ofMachine Learning Research, 4:633�648, September 2003.

[44] D. B. Skillicorn. Parallel predictor generation. In Large-Scale Parallel Data Mining,pages 190�196, 1999.

[45] I. Steinwart. On the optimal parameter choice for ν-support vector machines.IEEE Transactions On Pattern Analysis And Machine Intelligence, 25(10):1274�1284, October 2003.

[46] I. Steinwart. Sparness of support vector machines �some asymptotically sharpbounds. In S. Thrun, L. Saul, and B. Schölkopf, editors, Advances in NeuralInformation Processing Systems, volume 16, pages 169�184, Cambridge, MA, 2004.MIT Press.

[47] I. Steinwart. Cosistency of support vector machines and other regularized kernelclassi�ers. IEEE Transactions on Information Theory, 51(1):128�142, January2005.

[48] L. G. Valiant. A theory of the learnable. Comunications of the A.C.M.,27(11):1134�1142, 1984.

[49] V. Vapnik. The Nature of Statistical Learning Theory. Springer Verlag, New York,1995.

51

Page 57: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

[50] J. Wickramaratna, S. Holden, and B. Buxton. Performance degradation in boos-ting. In J. Kittler and F. Roli, editors, Proceedings of the 2nd International Works-hop on Multiple Classi�er Systems MCS2001, volume 2096 of LNCS, pages 11�21.Springer, 2001.

[51] D.H. Wolpert and W.G. Macready. An e�cient method to estimate baggings'generalization error. Machine Learning, 35:41, 1999.

[52] C. Yu and B. D. Skillicorn. Parallelizing boosting and bagging. Technical report,Queen's University.

52

Page 58: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Índice alfabético

Adaboost, 10Algoritmo de aprendizaje, 5

Práctico, 7Algoritmo de boosting paralelo, 34Algoritmo de edición, 16, 23Algoritmo DUUM, 39Algoritmo PBIS, 40Aprendiz débil, 6

Empiricamente, 6Aprendiz fuerte, 6

Empiricamente, 6Aprendizaje, 3

con refuerzo, 3no supervisado, 3supervisado, 3

Bagging, 11Boosting, 6

Algoritmo de, 6Hipótesis de, 1

Boosting paralelo, 30Algoritmo general, 34Combinación de hipótesis, 35Rotación de información, 40

Boosting SVM, 15

C-SVMDual, 13Primal, 12

Clase de conceptos, 4Clasi�cador combinado, 8Clasi�cador lineal, 12Combinación de hipótesis, 35

Error de Bayes, 22

Error de entrenamiento, 5Error de generalización, 5Error de prueba, 5Errores de margen, 17Espacio de características, 13, 16Espacio de entrada, 4Estructura multi-modal, 38

Fournorm, 24Función de costo, 7

Binaria, 7Exponencial, 8Logistica, 8Margen suave, 8

Función indicadora, 5

Generación de distribuciones, 36Aleatorias, 37Clusters difusos, 38Margenes aleatorios, 37Margenes no correlacionados, 39

Kernel, 13Kernel Universal, 19Kulback-Leibler, 48

Linealmente separable, 12

Maquinas de vectores de soporte, 12Margen geométrico, 12Muestra etiquetada, 4

ν-SVM, 16Original, 16Para distribuciones, 17

53

Page 59: ESTUDIO DE PROCEDIMIENTOS ARAP ACELERAR LA GENERACIÓN DE ...

IEM-I-22-05

Outlier, 23

PACdébil, 6fuerte, 5Modelo, 4

Problema de clasi�cación binaria, 4Problema de intervalos, 31

Support Vector Machines, 12SVM, 12

Debil, 20Debil modi�cado, 22Modi�cado para edición, 23Original, 16Reducida, 25

Vectores de soporteErrados, 17Ordinarios, 17

54