HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

79
INSTITUTO TECNOL ´ OGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY HEUR ´ ISTICAS EN LA OPTIMACI ´ ON DE M ´ AQUINAS DE SOPORTE VECTORIAL TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCIAS COMPUTACIONALES PRESENTA ARIEL LUCIEN GARC ´ IA GAMBOA Asesor: DR. NEIL HERN ´ ANDEZ GRESS Comit´ e de tesis: DR. JAIME MORA VARGAS DR. MIGUEL GONZ ´ ALEZ MENDOZA Jurado: DR. JAIME MORA VARGAS Presidente DR. MIGUEL GONZ ´ ALEZ MENDOZA Secretario DR. NEIL HERN ´ ANDEZ GRESS Vocal Atizap´ an de Zaragoza, Edo. Mex., Septiembre de 2004

Transcript of HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Page 1: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

INSTITUTO TECNOLOGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

HEURISTICAS EN LA OPTIMACI ON DEMAQUINAS DE SOPORTE VECTORIAL

TESIS QUE PARA OPTAR EL GRADO DEMAESTRO EN CIENCIAS COMPUTACIONALES

PRESENTA

ARIEL LUCIEN GARC IA GAMBOA

Asesor: DR. NEIL HERNANDEZ GRESS

Comite de tesis: DR. JAIME MORA VARGASDR. MIGUEL GONZALEZ MENDOZA

Jurado: DR. JAIME MORA VARGAS PresidenteDR. MIGUEL GONZALEZ MENDOZA SecretarioDR. NEIL HERNANDEZ GRESS Vocal

Atizapan de Zaragoza, Edo. Mex., Septiembre de 2004

Page 2: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

INDICE GENERAL

1. Introduccion 4

2. Estado del Arte 82.1. Las Maquinas de Soporte Vectorial . . . . . . . . . . . . . . . . . . . . . . . . . .8

2.1.1. Principio de Minimizacion del Riesgo Empırico . . . . . . . . . . . . . . . 82.1.2. Principio de Minimizacion del Riesgo Estructural . . . . . . . . . . . . . .112.1.3. Las MSV lineales y el caso linealmente separable . . . . . . . . . . . . . .112.1.4. Las MSV lineales y el caso no linealmente separable . . . . . . . . . . . .182.1.5. Las MSV no-lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

2.2. Estrategias de solucion para las Maquinas de Soporte Vectorial . . . . . . . . . . .222.2.1. Chunking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242.2.2. Algoritmo deOsuna . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262.2.3. Optimizacion Secuencial Mınima . . . . . . . . . . . . . . . . . . . . . . 28

2.3. Algoritmo Perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .292.3.1. Kernel-Perceptron: extension del Perceptron a funcionesKernel . . . . . . 30

2.4. Algoritmo de Schlesinger-Kozinec . . . . . . . . . . . . . . . . . . . . . . . . . .312.4.1. KSK: la extension del algoritmo Schlesinger-Kozinec a funcionesKernel . 34

2.5. Procedimiento de correccion de baricentros (PCB) . . . . . . . . . . . . . . . . . .35

3. Heurısticas de optimizacion para las Maquinas de Soporte Vectorial 393.1. Inicializacion de las Maquinas de Soporte Vectorial con la ayuda del Perceptron . . 423.2. Inicializacion de las Maquinas de Soporte Vectorial mediante el algoritmo PCB . .453.3. Otra heurıstica que mejora el uso del Perceptron y del PCB en la inicializacion de

las Maquinas de Soporte Vectorial . . . . . . . . . . . . . . . . . . . . . . . . . .463.3.1. Problemas encontrados . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

3.4. Inicializacion de las Maquinas de Soporte Vectorial por medio de Kernel-Perceptron 483.5. Inicializacion de las Maquinas de Soporte Vectorial utilizando KSK . . . . . . . .48

4. Experimentacion y Analisis de Resultados 494.1. Bases de datos a utilizar para probar las diferentes heurısticas . . . . . . . . . . . . 494.2. Inicializacion de las MSV por medio del algoritmo Perceptron . . . . . . . . . . . 55

4.2.1. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554.2.2. Analisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . .58

4.3. Inicializacion de las MSV utilizando PCB . . . . . . . . . . . . . . . . . . . . . .594.3.1. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .594.3.2. Analisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

4.4. Inicializacion de las MSV a traves del algoritmo Kernel-Perceptron . . . . . . . . . 634.4.1. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .634.4.2. Analisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

4.5. Inicializacion de las MSV con KSK . . . . . . . . . . . . . . . . . . . . . . . . .674.5.1. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .684.5.2. Analisis de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

Page 3: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

5. Conclusiones 74

3

Page 4: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

ceso

de

1. INTRODUCCI ON

Gracias a los avances tecnologicos presentes en la actualidad se ha impulsado el estudio d

aplicaciones y tecnicas de clasificacion de datos. El problema de clasificacion de datos surge

a partir de la necesidad de categorizar informacion presente en la vida real como caras, texto,

enfermedades, musica, etc.

Actualmente existen diversas comunidades de investigacion que trabajan en el desarrollo de

aplicaciones que requieren clasificacion de datos convirtiendose en una de las principalesareas de

estudio para la inteligencia artificial.

La clasificacion consiste en proporcionar nuevos datos al sistema para queeste los etiquete

utilizando el conjunto de clases disponibles. Las diferentes fases para llevar a cabo este pro

son: la adquisicion de los datos, el aprendizaje del clasificador y la evaluacion del mismo.

Los puntos que se consideran para evaluar un clasificador son exactitud, rapidez y tiempo

aprendizaje.

A la fecha, existen diversos metodos entre los que se encuentran: metodos estadısticos clasicos

[1], modelos de dependencias [2], aprendizaje simbolico y redes neuronales [3], los cuales

resuelven con buenos resultados el problema de clasificacion. La desventaja en el uso de estos

metodos es que no se tiene la seguridad de que la solucion obtenida sea la mejor, por esta razon se

Page 5: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

n

son

to.

orte.

-

sugiere el uso de las Maquinas de Soporte Vectorial (MSV).

Las Maquinas de Soporte Vectorial aseguran que la solucion obtenida al clasificar un conjunto

de datos es la mejor. Desafortunadamente el entrenamiento de las MSV es muy lento ademas de

que se trata de un metodo complejo tanto en su proceso interno como en su implementacion. Las

MSV fueron desarrolladas por Vladimir Vapnik, [4], como una potente herramienta en elarea de

reconocimiento de patrones. Este metodo, ademas de ser utilizado en clasificacion, se utiliza en

tareas de regresion y en estimacion de todo tipo funciones.

En tareas de clasificacion, se sabe que dentro del conjunto de datos a clasificar existe

elementos clave que permiten identificar a que clase pertenece cada dato. Dichos elementos

llamados vectores de soporte y son estos el objetivo de busqueda de las MSV ya que mediante

ellos se determina si un elemento del conjunto pertenece a una clase o a otra. Ademas, es necesario

enfatizar que, para clasificar un conjunto de patrones, losunicos datos necesarios son los vectores

de soporte y no el conjunto de datos completo.

En el desarrollo las MSV se ve involucrada la resolucion de un problema de programacion

cuadratico identificado por una matriz cuadrada, semidefinida positiva y densa (hessiana). La com-

plejidad del problema cuadratico crece de manera exponencialO(n2) segun aumenta el numero

de observaciones. En problemas en los que el numero de datos es grande, el calculo delhessiana

es muy difıcil ademas de que su almacenamiento no es posible en cualquier equipo de compu

Lo anterior implica que la solucion de las MSV sea un proceso lento el cual puede tardar dıas, por

lo que es necesario encontrar metodos o heurısticas que permitan acelerar este proceso de solucion.

Para evadir el problema del tiempo de entrenamiento de las MSV, Vapnik desarrollo un metodo

que divide el problema en sub problemas para los que se encuentran los vectores de sop

Ası, las diferentes soluciones encontradas son combinadas hasta encontrar la solucion global del

problema, dicho procedimiento es llamadoChunking[5], [4].

Chunkinges un algoritmo aleatorio por lo que es ahı donde se tiene su principal desventaja ya

que se puede tener alguno de los siguientes casos:

* Los subconjuntos formados porChunkingcontienen algunos o todos los vectores de soporte

que dan solucion al problema, por lo que el tiempo de entrenamiento es reducido notoria

5

Page 6: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

o que

ci

tos

njunto

s de

n

res

atos

,

al

.

ma

ue

miento

son

mente.

* En los subconjuntos formados no se encuentra ninguno de los vectores de soporte por l

el tiempo de entrenamiento se incrementa de manera exponencial.

Debido a que este metodo es aleatorio, es necesario desarrollar procedimientos heurısticos que

aseguren el correcto funcionamiento del algoritmo, lo que tiene como consecuencia la disminuon

del tiempo de entrenamiento de las Maquinas de Soporte Vectorial.

Por otro lado, existen diferentes metodos como: Perceptron [6], Schlesinger-Kozinec [7], [8] y

Procedimiento de Correccion de Baricentros (PCB), [9], los cuales trabajan sobre bases de da

linealmente separables y cuyo resultado es un hiperplano que separa correctamente un co

de datos en dos clases. La idea es aprovechar las ventajas de estos metodos para seleccionar

los patrones mas cercanos al hiperplano y, entonces, identificar los vectores de soporte ante

realizar el entrenamiento de las MSV. Ası, se puede realizar el entrenamiento de las MSV co

un conjunto de datos de tamano reducido del cual se tiene la certeza que contiene los vecto

de soporte, por lo que el entrenamiento se realiza muy rapido y la solucion deseada es obtenida.

La desventaja de utilizar los metodos antes mencionados es que trabajan con bases de d

linealmente separables por lo que su aplicacion en problemas reales no es muyutil. Debido a lo

anterior, se ve la necesidad de extender el uso de estos metodos al caso no linealmente separable

por lo que se trabajara con metodos como Kernel-Perceptron [10], Kernel Schlesinger-Kozinec

[7], [8] y una extension del algoritmo PCB [9] al caso no linealmente separable.

El objetivo principal de esta investigacion es mostrar los diferentes resultados obtenidos

utilizar diversos metodos basados en heurısticas para reducir el tiempo de entrenamiento las MSV

La hipotesis es combinar los metodos antes mencionados con la estrategia de Vapnik, de tal for

que se tenga unChunking-heurıstico en el que los subconjuntos de trabajo se formen con datos q

representen los mejores candidatos a ser vectores de soporte, entonces el tiempo de entrena

de las MSV sera reducido.

Algunas otras ideas para tratar las desventajas de las MSV han sido desarrolladas y

comentadas en [11] y [12].

La estructura de esta investigacion es la siguiente: en el capıtulo 2 se presenta un analisis

teorico y matematico tanto de las MSV como de las teorıas de las que se derivan. Ademas, en

6

Page 7: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

l

es

este capıtulo se presentan algunos metodos que han sido desarrollados para tratar el problema de

lento aprendizaje de las MSV. En el capıtulo 3 se presenta el desarrollo teorico de las diferentes

heurısticas que se utilizaron para disminuir el tiempo de entrenamiento de las MSV. En el capıtulo

4 se da una descripcion de las diferentes bases de datos utilizadas para probar las diferent

heurısticas, ademas de presentar los resultados obtenidos y un analisis de los mismos. Porultimo

las conclusiones y el trabajo futuro son presentados.

Este trabajo fue realizado gracias al apoyo del CONACyT con el numero de proyecto 37368.

7

Page 8: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ntes

2. ESTADO DEL ARTE

2.1. LAS MAQUINAS DE SOPORTE VECTORIAL

La idea principal de las Maquinas de Soporte Vectorial, en elarea de clasificacion, es sepa-

rar un conjunto de datos en dos clases mediante un hiperplano clasificador. Existe un sin numero

de hiperplanos que separan correctamente un conjunto de datos y por lo tanto existen difere

soluciones. Entre los diferentes hiperplanos existe uno y solo uno que tiene el margen maximo

de separacion el cual es encontrado por las MSV. La definicion matematica del metodo ası co-

mo su solucion fueron presentados por V. Vapnik y A. Chervonenkis, [4], como una tecnica para

reconocimiento de patrones. A continuacion se presentan los metodos generadores de las MSV,

ademas de la derivacion matematica del metodo tanto para el caso linealmente separable como

para el no linealmente separable.

2.1.1. PRINCIPIO DE MINIMIZACI ON DEL RIESGO EMP IRICO

Dados un conjunto de patrones de entrenamientoxi ∈ <n, i = 1, . . . , N y una salida esperada

asociadayi, se desea encontrar una maquina que identifique el mapeoxi → yi es decir, a partir

de una entradax la maquina debe ser capaz de determinar de manera correcta la saliday que le

corresponde. Para llevar a cabo el mapeo correcto se define una funcion f(x, λ) con lo que el

mapeo queda comoxi → f(x, λ) dondef : <n → {−1, +1}. λ es un valor ajustable que puede

Page 9: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

n lo

aci

i un

la

se las

nte

ser visto como un umbral o el vector de pesos en una red neuronal con una estructura fija. Co

anterior, se espera que la funcionf(x, λ) de como resultado el valor mınimo de riesgo esperado el

cual esta definido como:

R(λ) =

∫|f(x, λ)− y|P (x, y)dxdy (2.1)

Como se observa en la formula anterior, es necesario conocer la distribucion de probabilidad de los

datosP (x, y), la cual es desconocida por lo que no se puede aplicar la formula de minimizacion

del riesgo esperado (ec. 2.1). Para compensar esta desventaja es posible realizar una aproximon

estocastica de la funcion de riesgo que es llamadariesgo empırico y que se define de la siguiente

manera:

Remp =1

2N

N∑i=1

|f(x, λ)− yi| (2.2)

Con lo anterior, y tomando en cuenta la teorıa de convergencia uniforme presentada por Vapnik

y Chervonenkis, se observa que el Riesgo Empırico Remp es una parte de la funcion de Riesgo

R por lo que, el mınimo de Riesgo Empırico Remp converge hacia el mınimo de la funcion

de riesgoR. De esta manera, es mas factible minimizar el Riesgo Empırico que la funcion

de riesgo como tal. El problema es que existen casos en los que la convergencia delRemp a

R no es posible por lo que se dice que el problema es inconsistente. Para poder saber s

problema es consistente, Vapnik y Chervonenkis demuestran que es condicion necesaria y sufi-

ciente que la dimension Vapnik-Chervonenkis (VC) del espacio de hipotesis (H : f(x, λ) sea finita.

La dimension VC se refiere al numero mas grande de datos que pueden ser separados por

maquina de aprendizaje por lo que sih < ` es la dimension VC de una clase de funciones que

la maquina de aprendizaje puede implementar, entonces para todas la funciones de esa cla

cuales tengan una probabilidad de almenos1− η (η esta entre 0 y 1) se define la funcion:

R(λ) ≤ Remp(λ) + φ

(h

`,log(η)

`

)(2.3)

dondeφ es el valor de confianza VC y esta definido por la ecuacion:

φ

(h

`,log(η)

`

)=

√h(ln 2N

h+ 1)− ln η

4

N(2.4)

El parametroh de la ecuacion anterior, representa la dimension VC, la cual, como se menciono, es

el numero maximo de datosk que pueden ser separados en dos clases y en un numero2k de formas

posibles. La ecuacion (2.3) es totalmente independiente de los datos y se relaciona directame

con la maquina de aprendizaje y con la dimension VC, por lo que se puede separar y ver de la

siguiente manera:

9

Page 10: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

(a)

Intervalo de Confidencia: Aprendizaje

Riesgo Empirico: Generalización

h1 H* h

n

(b)

Sn S

2 S

1

Figura 2.1: (a) Aprendizaje y Generalizacion: a menor riesgo, mayor confianza VC. (b) S es unconjunto de funciones con una estructura jerarquica.

* El terminoRemp(λ) (correspondiente al nivel de aprendizaje),

* El termino√

h(ln 2Nh

+1)−ln η4

Nque representa la confianza VC de la maquina de aprendizaje

(Figura 2.1), (correspondiente al nivel de generalizacion).

Con lo anterior tenemos que laasıntotasobre el riesgo es la suma del riesgo empırico y del inter-

valo de confianza. La asıntota sobre el riesgo tiene las siguientes caracterısticas:

* Los datos observados y sus correspondientes salidas son independientes.

* Las probabilidades dex y y P (x, y) tambien son independientes.

* Si se conoceh, entonces se puede calcular facilmente el valor del intervalo de confianza.

De acuerdo con la ecuacion (ec. 2.3) es posible controlar el valor del riesgo esperado considerando

el valores de Riesgo Empırico y el valor deh. El valor de Riesgo Empırico depende de los valores

que tomeλ, mientras que el valor deh es controlado por la funcion f(x, λ) para lo cual se puede

definir una estructura jerarquica de funcionesSn := f(x, λn) ∈ f(x, λ) como: (Figura 2.1)

S1 ⊂ S2 ⊂ . . . ⊂ Sn

Para los cuales, los correspondientes valores deh satisfacen:

h1 ≤ h2 ≤ . . . ≤ hn

10

Page 11: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ta; la

La desventaja que se ve en la ecuacion (ec. 2.3) es que el calculo de la dimension VC es complicado

(este calculo puede ser comparado con la busqueda de la estructura de red apropiada en una red

neuronal a capas multiples), por lo que es necesario cambiar el principio de minimizacion del

Riesgo Empırico por algun otro metodo.

2.1.2. PRINCIPIO DE MINIMIZACI ON DEL RIESGO ESTRUCTURAL

El calculo de la dimension VC del espacio de hipotesisH es complicado por lo que principio de

minimizacion del Riesgo Empırico no es una alternativa muy adecuada. Vapnik demostro que un

valor pequeno del Riesgo Empırico no necesariamente implica que se te tenga un valor pequeno del

Riesgo Esperado. Por este motivo, se desarrolla el Principio de Minimizacion del Riesgo Estruc-

tural (SRM) el cual realiza la minimizacion del Riesgo Empırico al mismo tiempo que minimiza la

dimension VC del espacio de HipotesisH (condicion necesaria para obtener un mınimo del Ries-

go Esperado). Las MSV minimizan el Riesgo Empırico y obtienen el valor mınimo de dimension

VC de un problema. Las Maquinas de Soporte Vectorial estiman una funcion f : <N , dados un

conjunto de patrones de entrenamiento(x1, x2, . . . , xl) de los cuales a cadaxi | i = 1, . . . , l le

corresponde un valor o una etiqueta denotada poryi = {+1, −1}. Ası, la idea principal del meto-

do es transformar los vectores de entradax (deN dimensiones) en vectores de dimension mas alta

Z (dimension que podrıa ser infinita) en la que el problema teoricamente tiene solucion.

2.1.3. LAS MSV LINEALES Y EL CASO LINEALMENTE SEPARABLE

Dados un conjunto de patrones de entrenamiento que son linealmente separables1, el objetivo

es encontrar un hiperplano que separe el conjunto de datos en 2 clases de manera correc

separacion de los datos se lleva a cabo mediante un hiperplano definido por:

w · x + b w ∈ <N , b ∈ < (2.5)

Los datosx que satisfacen la ecuacion w · x + b = 0 son aquellos que se encuentran sobre el

hiperplano donde:

* w es un vector normal al hiperplano,

* b es el termino bias,

* |b|‖w‖ es la distancia perpendicular del hiperplano al origen y,

1Datos linealmente separables, son aquellos que son separados correctamente por una lınea.

11

Page 12: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

en

a el

n

W

X1

X2

yi = (+1)

yi = (−1)

(w ⋅ x) + b = (−1)

(w ⋅ x) + b = (+1)

(w ⋅ x) + b = 0

ρ(+)

ρ(−)

Figura 2.2: Dados un conjunto de patrones linealmente separables, el hiperplano con el margmaximo de separacion esta definido por un vector de pesosw y un umbralb que satisfacen

(w · x) + b = 0. Ası mismo, losvectores de soporteson los patrones mas cercanos al hiperplanoque cumplen la condicion | (w · x) + b |= 1.

* ‖w‖ representa la norma Euclidiana dew.

Definiendoρ(+) como la distancia del dato positivo mas cercano al hiperplano separador yρ(−)

como la distancia del dato negativo mas cercano, el margen de separacion de los patrones de en-

trenamiento queda expresado como:

ρ = ρ(+) + ρ(−)

La tarea de las MSV en el caso linealmente separable es encontrar un hiperplano que teng

margen maximo de separacion entre las clases (Figura 2.2) por lo que es necesario encontrar u

par de hiperplanos que satisfagan respectivamente:

w · xi + b = 1 parayi = +1, (2.6)

w · xi + b = −1 parayi = −1. (2.7)

donde cada uno de los hiperplanos tienen una distancia perpendicular al origen definida por:

yi(w · x + b)

‖w‖ =1

‖w‖Ası, el margen de separacion es:

ρ = ρ(+) + ρ(−) =1

‖w‖ +1

‖w‖ =2

‖w‖

12

Page 13: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

la

Si se desea encontrar el margen maximo de separacion para un clasificador, es necesario minimizar

la norma dew, por lo que el problema se formula de la siguiente manera:

mıni=1...`

| w · xi + b | = 1 (2.8)

Existen diversos hiperplanos que satisfacen la ecuacion (2.8) llamados hiperplanos canonicos. Las

MSV buscan entre los diferentes hiperplanos canonicos aquel que tenga la norma mınima ya que

al tener un hiperplano con norma mınima, tambien se tiene un valor pequeno de dimension VC.

Es importante notar que minimizar‖w‖ es equivalente a encontrar un hiperplano separador con el

margenρ maximo.

Ası, si se desea encontrar el hiperplano con el margen maximo de separacion es necesario

minimizar la norma dew, por lo que el problema se formula de la siguiente manera:

minimizar1

2‖w‖2

s.a.(2.9)

yi(w · xi + b) ≥ 1 ∀i (2.10)

donde la restriccion (2.10) nos indica que la region factible de la funcion objetivo (2.9) se

encuentran fuera del rango{−1, 1}.

La formulacion anterior nos indica que se trata de un problema de programacion cuadratico

bajo restricciones, el cual se caracteriza por tener una funcion objetivo no-lineal (2.9) y restric-

ciones lineales (2.10). El problema de optimizacion puede ser resuelto en el espacio primal, pero

se resuelve en el espacio dual por las siguientes razones:

* Las restricciones forman parte de la funcion objetivo como Multiplicadores de Lagrange.

* La formulacion del problema aparece el producto entre vectores (que es la base para

extension al caso no linealmente separable).

Multiplicadores de Lagrange

Esta tecnica trata el problema de maximizar una funcion sujeta a una o mas restricciones de

igualdad. Ademas, se permite que la funcion objetivo sea no-lineal mientrasesta sea dos veces

diferenciable.

Para iniciar, se formula un problema de maximizacion con una restriccion como sigue:

13

Page 14: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

os

in

gonal

Figura 2.3: Los aros concentricos ilustran el conjunto de soluciones factibles de la funcionf . Enla solucion optimax∗ el gradiente es perpendicular a este conjunto.

maximizar f(x)

sujeto a: g(x) = 0

La geometrıa de este problema se observa en la figura (fig. 2.3). El gradiente de la funcion f ,

denotado por∇f es un vector que apunta en la direccion en la que la funcion f se incrementa

mas rapido. En optimizacion no restringida, este vector se iguala a cero, se determinan los punt

crıticos de la funcion f y el maximo, si es que existe, debe estar contenido en este conjunto. S

embargo, el caso que se trata contiene la restricciong(x) = 0 por lo que no es correcto utilizar los

datos para los cuales el gradiente desaparece. En vez de lo anterior, el gradiente debe ser orto

al conjunto de soluciones factibles{x : g(x) = 0}. Ası, se desea encontrar un punto crıtico x∗ que

sea solucion factible y que el valor de∇f(x∗) sea proporcional al valor de∇g(x∗). Si expresamos

lo anterior como un conjunto de ecuaciones se tiene:

g(x∗) = 0

∇f(x∗) = α∇g(x∗)

Dondeα es una constante de proporcionalidad que puede ser un numero real, positivo, negativo o

cero. Esta constante de proporcionalidad es llamadaMaultiplicador de Lagrange.

14

Page 15: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Figura 2.4: La region factible es una curva formada por la interseccion de las restriccionesg1(x) = 0, g2(x) = 0, . . . , gm(x). El puntox∗ esoptimo ya que el gradiente de la funcionf en

ese punto es perpendicular al conjunto factible.

Ahora se considera el caso en que se tienen varias restricciones:

maximizar f(x)

sujeto a: g1(x) = 0

g2(x) = 0

...

gm(x) = 0.

Para la ecuacion anterior, la region optima factible esta compuesta por la interseccion dem hiper-

planos (Figura 2.4), por lo que las ecuaciones de puntos crıticos se denotan por:

g(x∗) = 0 (2.11)

∇f(x∗) =m∑

i=1

αi∇g(x∗). (2.12)

Una vez introducidas la ecuaciones anteriores, se presenta una ecuacion equivalente llamada fun-

cionLagrangiana

L(x, α) = f(x)−∑

i

αigi(x),

para la cual es necesario encontrar los puntos crıticos tanto parax como paraα. Ya que este es un

problema de optimizacion no restringido, entonces los puntos crıticos se encuentran igualando las

15

Page 16: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

n

primeras derivadas a cero:

∂L

∂xj

=∂f

∂xj

−∑

i

αi∂gi

∂xj

= 0, j = 0, 1, . . . , n.

∂L

∂αi

= −gi = 0, i = 0, 1, . . . , m.

Las ecuaciones anteriores son usualmente llamadasCondiciones de Optimalidad de Primer Orden.

Determinar si una de las soluciones a las Condiciones de Optimalidad de Primer Orden es u

maximo global es una tarea difıcil, pero al tratarse de restricciones lineales, entonces es posible

hacer uso de la matriz de segundas derivadas:

Hf(x) =

[∂2f

∂xi∂xj

]

Esta matriz es llamadahessianodef enx. Una vez obtenido elhessianose tiene:

TEOREMA 1.1. Si las restricciones son lineales, un punto crıtico enx∗ es un maximo local si:

ξT Hf(x∗)ξ < 0 (2.13)

donde para∀ξ 6= 0 satisface que:

ξT∇gi(x∗) = 0, i = 1, 2, . . . , m. (2.14)

En las ecuaciones anteriores, el vectorξ representa un vector de movimiento o de direcciones

desde el punto actualx∗. Losunicos movimientos relevantes deξ son aquellos que se hacen dentro

de el conjunto de soluciones factibles. Por consecuencia, si la ecuacion (ec. 2.13) la satisface

cualquier valor dex (no solox∗), entonces se dice que se ha encontrado un maximo global.

Formulacion dual del problema

Ya que se conoce la formulacion primal del problema (ec. 2.9, 2.10) para el caso linealmente

separable, se hace un cambio a la representacion dual y se hace uso de los multiplicadores de

Lagrange, lo que permite hacer la extension a problemas no linealmente separables.

Ahora, se define un conjunto de valores positivos (multiplicadores de Lagrange) comoα =

α1, α2, . . . , αN donde cadaα le corresponde a la restriccioni de la ecuacion (ec. 2.10). Para realizar

el cambio de la forma primal (ec. 2.9) a la forma dual se agregan las restricciones a la funcion

16

Page 17: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

a

mo

objetivo. Es necesario multiplicar la restricciones del tipo≥ 0 por los coeficientes positivosα y

restar las restricciones a la funcion objetivo. Ası, la formulacion dual del problema es:

L ≡ 1

2‖w‖2 −

N∑i=1

αiyi(w · xi + b) +N∑

i=1

αi (2.15)

La solucion a este problema es obtenida minimizando el Lagrangiano con respecto aw y b y

maximizando con respecto aα ≥ 0. Para lo anterior es necesario derivar (ec. 2.15) con respecto

w y b, y ası encontrar las ecuaciones de estacionaridad de primer orden,

∂L(w, b, α)

∂w= w −

N∑i=1

αiyixi = 0 (2.16)

∂L(w, b, α)

∂b=

N∑i=1

λyi = 0 (2.17)

Por lo que siguiendo (ec. 2.16) se obtiene quew∗ es:

w∗ =N∑

i=1

λiyixi (2.18)

Ahora, es necesario sustituir las ecuaciones (ec. 2.17 y 2.18) en el lagrangiano (ec. 2.15) co

sigue:

L(w, b, α) =1

2‖w‖2 −

N∑i=1

αi[yi(w · xi + b)− 1]

=1

2

N∑i=1

αiyixi

N∑j=1

αjyjxj −N∑

i=1

αiyi(w · xi + b) +N∑

i=1

αi

=1

2

N∑i=1

N∑j=1

αiαjyiyj(xi · xj)−N∑

i=1

αiyi(N∑

j=1

αjyjxj · xi +N∑

i=1

αiyi) +N∑

i=1

αi

=1

2

N∑i=1

N∑j=1

αiαjyiyj(xi · xj)−N∑

i=1

αiyi(N∑

j=1

αjyjxj · xi) +N∑

i=1

αi

=1

2

N∑i=1

N∑j=1

αiαjyiyj(xi · xj)−N∑

i=1

N∑j=1

αiαjyiyj(xi · xj) +N∑

i=1

αi

= −1

2

N∑i=1

N∑j=1

αiαjyiyj(xi · xj) +N∑

i=1

αi

17

Page 18: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ores a

casos,

lo

a

Por lo tanto, la formulacion dual del problema en terminos de matrices queda como sigue:

max F (Λ) = Λ · 1− 1

2Λ ·HΛ

s.a.

Λ · y = 0

Λ ≥ 0

(2.19)

DondeH (hessiano) es una matriz simetrica denxn donden es el numero de elementos en la base

de aprendizaje. Los valores delhessianose calculan con la siguiente ecuacion:

Hij = yiyjxi · xj

El termino biasb se calcula utilizando la restriccion (ec. 2.10) y se define por:

b∗ = yi − w∗ · xi (2.20)

Y la definicion de la funcion de decision es:

f(x) = sign(N∑

i=1

yiα∗i (x · xi) + b∗) (2.21)

2.1.4. LAS MSV LINEALES Y EL CASO NO LINEALMENTE SEPARABLE

Una vez que hemos analizado MSV lineales es necesario extender este tipo de clasificad

problemas no linealmente separables es decir, problemas reales de clasificacion en los que los datos

no pueden ser separados por un hiperplano lıneal (patrones de ambas clases quedarıan traslapados).

El objetivo es encontrar el parw∗ y b∗ que realicen el menor numero de errores posibles. Para

resolver lo anterior es necesario que las restricciones (ec. 2.6 y 2.7) sean flexibles en ciertos

es decir darles cierto costo a aquellos datos que queden fuera de la funcion de decision lineal. El

costo se ve traducido como un aumento en la funcion objetivo. Al realizar los incrementos en la

funcion objetivo es necesario introducir un conjunto de variablesξ = 1, . . . , N de tal manera que

las restricciones quedan:

xi · w + b ≥ +1− ξi ∀yi = +1, (2.22)

xi · w + b ≤ −1 + ξi ∀yi = −1. (2.23)

Las variables de relajacion introducidas indican que tanto se han violado las restricciones por

que ayudan a lograr que el margen de separacion sea maximizado al mismo tiempo que se pag

18

Page 19: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

una

una penalizacion proporcional a la cantidad de restricciones violadas.

Ademas del cambio en las restricciones es necesario actualizar el valor de la funcion objetivo

de tal manera que es necesario minimizar

mın f(w, Ξ) =1

2‖w‖2 + C(

n∑i=1

ξi)

s.a.

yi(w · xi + b) ≥ 1− ξi

ξi ≥ 0.

(2.24)

El parametroC nos indica el tamano de la penalizacion de los errores. Esta nueva definicion tam-

bien es posible llevarla al espacio en el queαi y βi son los multiplicadores de Lagrange.

Lp(w, b, ξ,Λ,β) =1

2‖w‖2 + C

(n∑

i=1

ξi

)−

n∑i=1

αi

(yi(w · xi + b)− 1 + ξi

)−

n∑i=1

βiξi (2.25)

Como en el caso linealmente separable, la solucion se encuentra en el espacio dual usando las

condiciones de optimalidad de primer orden para una funcion con restricciones:

∂L(w, b,Λ)

∂w= w −

n∑i=1

αiyixi = 0, (2.26)

∂L(w, b,Λ)

∂b=

n∑i=1

αiyi = 0, (2.27)

∂L(w, b,Λ)

∂ξ= C − αi − ξi = 0. (2.28)

Si despejamosC de (ec. 2.28) se tiene:

C = αi + ξi (2.29)

Las variables del LagrangianoF (Λ) ya no se encuentran en funcion deβ y son las mismas que en

el caso linealmente separable.

F (Λ) =n∑

i=1

αi − 1

2

n∑i=1

n∑j=1

αiαjyiyjxi · xj (2.30)

Como se observa en la ecuacion anterior, el problema de optimizacion cuadratico es el mismo que

el definido para el caso linealmente separable (2.8), con la diferencia de que se ha introducido

cota superior a las variables de optimizacion en el espacio dualα.

19

Page 20: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

sto,

s

de la

-

-

El parametro de penalizacion C se convierte en el lımite superior sobreαi mientras que en

el caso linealmente separable se tiene como lımite superior∞. La representacion matricial del

problema es la siguiente:

max Λ · 1− 1

2Λ ·HΛ

s.a.

Λ · y = 0

0 ≤ Λ ≤ C.

(2.31)

2.1.5. LAS MSV NO-LINEALES

Espacios de realizacion no-lineal: FuncionesKernel

Las maquinas de aprendizaje lineales tienen muchas limitantes en aplicaciones reales, por e

se han propuesto multiples metodos que han llevado al desarrollo de redes neuronales con capa

multiples y algoritmos de aprendizaje como retropropagacion para el entrenamiento de dichos

sistemas.

Una de las ideas basicas en el diseno de las MSV es mapear el vector de entradax ∈ <N a un

vectorZ en un espacio de mayor dimensionZ = Φ(X), en el que sea posible resolver un problema

no-linealmente separable mediante un clasificador lineal, de tal manera que:

x ∈ <n −→ z(x) = [a1φ1(x), a2φ2(x), . . . , anφn(x)]T ∈ <f , (2.32)

Con este mapeo, se espera que las MSV sean capaces de separar linealmente los elementos

base de datos (Figura 2.5). La solucion obtenida es una funcion de decision lineal en el espacio

caracterısticoZ, por lo que se crea una superficie de separacion no-lineal en el espacio de entrada

originalN .

Hay dos problemas importantes al aplicar esta tecnica:

* La seleccion de la funcion Φ, que realiza el mapeo de los datos de entrada al espacio carac

terısticoZ. El problema radica en que el costo computacional es muy alto cuando la dimen

sion deZ es grande.

20

Page 21: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

evita

en

50 100 150 200 250 300 350 400 450 500 550

50

100

150

200

250

300

350

400

450

500

550

Espacio de entrada

50 100 150 200 250 300 350 400 450 500 550

50

100

150

200

250

300

350

400

450

500

550

Espacio característico

Figura 2.5: Las funcionesKernel mapean un espacio de entradaN a un espacio caracterısticoZen el que los datos pueden ser separados linealmente.

* Calculo de los productos escalares. Al tenerZ una dimension muy alta, el calculo de los

productos escalares se convierte en una tarea difıcil.

El problema de tener aZ en una dimension muy alta, se puede evitar si se sustituyen los productos

escalares por funcionesKernel (Cuadro 2.1), dondek : XxX → < corresponde al producto

escalar del mapeo no-lineal de los datos. Ası, se tiene:k(xa, xb) = 〈Φ(xa), Φ(xb)〉.

Las funciones trabajan en el espacio de entrada, por lo que su principal ventaja es que se

realizar un mapeoΦ(x). En lugar de realizar este mapeo, los productos escalares requeridos

el espacio caracterıstico Z son calculados directamente por la funcion K(xi, xj) para los datos

de entrenamiento en el espacio de entrada. De esta manera, se puede construir una maquina de

soporte vectorial que trabaje en un espacio caracterıstico con una dimension muy alta, incluso

infinita. Otra ventaja de las funciones es que no es necesario saber cual es el actual mapeoΦ(x).

Reformulando la solucion de las MSV se tiene la siguiente funcion de decision:

f(x) = sign

(n∑

i=1

yiα∗i K(x, xi) + b∗

)(2.33)

Esta superficie de decision es una funcion no-lineal, dada por una superposicion lineal de

funcionesKernel, una por cada vector de soporte.

21

Page 22: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Funcion Polinomial de gradod K(xa, xb) = (〈xa, xb〉+ 1)d

Funcion de Base Radial con radioσ K(xa, xb) = (exp−‖xa−xb‖2/2σ2)

Funcion Sigmoidal multicapa K(xa, xb) = tanh(γ〈xa, xb〉+ β)

Funcion Exponencial de Base Radial exp−γ‖xa−xb‖

Funcion Gaussiana de Base Badial exp−γ‖xa−xb‖2

Tabla 2.1: Ejemplos de funcionesKernelque pueden ser utilizadas

El problema de programacion cuadratica queda de la siguiente manera:

Maximizar F (Λ) = Λ · 1− 1

2Λ ·HΛ

sujeta a

Λ · y = 0

0 ≤ Λ ≤ C1

(2.34)

dondeH es la matriz Hessiana y es simetrica, semidefinida positiva, de tamano nxn y con los

elementosHij = yiyjK(xi, xj).

Algunas de las ventajas de utilizar MSV son:

* Poder de generalizacion

* Cambian un problema de ordenn a un problema cuadratico con lo que se asegura

matematicamente la convergencia aloptimo global.

* Este metodo parametriza al mismo tiempo la arquitectura y los parametros de la red.

2.2. ESTRATEGIAS DE SOLUCION PARA LASMAQUINAS DE SOPORTE VECTORIAL

Algunos de los principales problemas que se presentan en la utilizacion de las MSV son:

* La construccion y almacenamiento de la matriz hessianaH presente en el problema de pro-

gramacion cuadratico.

22

Page 23: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ra

la

tes

an

a

ja

s

* Cuando el volumen de datos es grande, se requiere de una gran cantidad de tiempo pa

realizar la optimizacion.

* El numero devectores de soportepuede ser muy grande cuando se trata con un problema no

linealmente separable.

Para resolver los problemas anteriores, se han propuesto diferentes estrategias:

√Generar los elementos de la matrizH conforme estos sean requeridos. La matriz hessiana

no se construye con todos los patrones de la base de datos ya queesta se construye solo con

los valores correspondientes a aquellos patrones que se esten optimizando en cada

iteracion. El problema de esta estrategia es que el calculo de los elementos requeridos en

matriz hessiana, se vuelve muy costoso cuando algunos elementos se ocupan en diferen

iteraciones.

√Vapnik propone un algoritmo llamadoChunking, [4], [5], en el cual el problema original

es divido en pequenos sub problemas (conjunto de trabajo2) de los que se pueden obtener

los vectores de soporte. Una vez resueltos los sub problemas, es necesario combinar los

vectores de soportecon aquellos patrones que violan las condiciones de optimalidad y repetir

el proceso hasta encontrar la solucion optima del problema. La principal desventaja de esta

estrategia, es que, en cada iteracion del algoritmo, el numero de elementos a ser optimizados

se incrementa, por lo que, en problemas reales el conjunto a ser optimizado puede crecer t

grande que se caiga de nuevo en problemas de almacenamiento de la matriz hessiana.

√Edgar Osuna, [11], propone un metodo similar alChunking,pero a diferencia deeste,

mantiene un conjunto de trabajo fijo, es decir el conjunto de datos que se optimiza en cad

iteracion es del mismo tamano siempre por lo que se evita el problema de queeste crezca

a un punto en el que se vuelva un problema intratable computacionalmente. La desventa

de este metodo es que, para que el algoritmo converja, es necesario llevar a cabo mucha

iteraciones, por lo que el tiempo de entrenamiento se ve incrementado notoriamente.

√John Platt desarrolla una mejora extrema al algoritmo deOsuna, ya que su algoritmoOp-

timizacion Secuencial Mınima, [12], establece conjuntos de trabajo de tamano 2, es decir,

realiza una optimizacion iterativa con 2 datos del conjunto de entrenamiento y repite hasta

encontrar la solucionoptima del problema. El algoritmo utiliza heurısticas para determinar la

direccion de descenso factible y ası seleccionar los 2 mejores datos a ser optimizados durante

2Conjunto de trabajo, tambien conocido por su nombre en inglesworking set

23

Page 24: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

s

cada iteracion. El desempeno de este algoritmo es bueno aunque, al realizar las diferentes

evaluaciones Kernel en cada iteracion, le quita cierta funcionalidad y en ciertos problemas

se torna un algoritmo lento.

√Thorsten Joachism implementa diferentes mejoras al algoritmo deOsunaen su llamado

SV M light3, [13]. Este algoritmo incorpora las siguientes ideas:

* Implementa un efectivo metodo para seleccionar el conjunto de trabajo en cada it-

eracion.

* Ademas de la descomposicion original del problema, se realizan descomposiciones

sucesivas, tomando en cuenta que muchos de losvectores de soportese encuentran en

el lımite superior del problema (Shrinking).

* En cada iteracion se almacena el valor de la funcion Kernelde aquellos patrones que

constantemente entran al conjunto de trabajo (Caching).

2.2.1. CHUNKING

Vladimir Vapnik, [4], [5], propone un algoritmo basado en el hecho de que la solucion del prob-

lema de programacion cuadratico generado por las MSV es la misma para los dos casos siguientes:

√Resolver el problema utilizando una matriz hessiana construida con todos los datos de la

base de aprendizaje.

√Obtener la solucion del problema utilizando una matriz hessiana construidaunicamente con

los vectores de soporte.

Vapnik considerando lo anterior, decide dividir el problema en pequenos sub problemas para los

cuales obtiene solucion. Una vez obtenida la solucion de los sub problemas, identifica aquellos

patrones cuyo multiplicador de Lagrange es diferente de cero (vectores de soporte) y los agrega al

conjunto de trabajo a optimizar. Ası mismo, en cada iteracion, el algoritmo verifica cuales patrones

violan las condiciones deKarush-Kuhn-Tuckery los agrega al conjunto de trabajo (Figura 2.6).

Una vez formado el conjunto de trabajo,este se optimiza y se repite el proceso hasta que la

solucion optima del problema es encontrada. Una ventaja importante de este algoritmo, es que

el tamano de la matriz hessiana es notablemente reducido, debido a que la matriz hessiana e

construida considerandounicamente los patrones cuyo lagrangiano es diferente de cero.

3La implementacion deSV M light esta disponible en www-ai.cs.uni-dortmund.de/svmlight

24

Page 25: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ano

(−1) (+1) (+1) (+1)

A B C D

1 2

Figura 2.6:Chunking. El hiperplano1 separa correctamente los datosB y C deD pero el datoAes un error por lo que debe ser agregado al conjunto de trabajo y entonces obtener el hiperpl2

que separa correctamente los datosA, B y C del datoD.

(a) Establecer un tamano q (llamadoChunking size.)

(b) Seleccionarq elementos aleatorios de la base de aprendizaje y for-

mar el conjunto de trabajo.

(c) Realizar la optimizacion del conjunto de trabajo mediante algun meto-

do de optimizacion cuadratico.

(d) Identificar aquellos valores cuyo multiplicador de Lagrange fue

diferente de cero (vectores de soporte) y agregarlos al conjunto de

trabajo.

(e) Identificar aquellos patrones de la base de datos que violan las condi-

ciones KKT y agregarlos al conjunto de trabajo.

(f) En el caso de encontrar patrones que violen las condiciones KKT,

regresar al punto (c). En caso contrario, terminar el algoritmo.

Tabla 2.2: Estructura del algoritmoChunking

25

Page 26: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

es

a

Una de las principales desventajas que se presentan en este algoritmo es que cuando el numero

de vectores de soportees grande es necesario construir una matriz hessiana tambien grande, por

lo que podemos caer en el problema de almacenamiento inicial. La forma que toma el algoritmo

se muestra en el cuadro (2.2).

La convergencia del algoritmo se asegura ya que en cada iteracion, el hiperplano de separacion

se mueve en la direccion de aquellos patrones que no cumplen las condiciones de optimalidad hasta

lograr que el hiperplano quede lo mejor pocisionado posible.

2.2.2. ALGORITMO DE OSUNA

Para llevar a cabo el entrenamiento de las maquinas de soporte vectorial, Edgar Osuna, [11],

propuso una forma de descomponer el problema en diversos sub problemas. Este algoritmo

similar alChunkingpero con la diferencia de que mantiene un tamano fijo al conjunto de trabajo

durante las diferentes iteraciones. El algoritmo se basa en el hecho de que el numero devectores

de soportees muy pequeno cuando se trata con bases de datos grandes y, en consecuencia existiran

muchos patrones para los cuales el valor de su correspondiente multiplicador de Lagrange se

igual a cero.

La idea principal es dividir el problema original y resolver iterativamente hasta encontrar la

solucion optima del problema. Para identificar que hemos encontrado una solucion optima en

cierta iteracion, es necesario verificar que se cumplan las condiciones de optimalidad. Ası, si

alguna de las soluciones encontradas no esoptima, entonces se busca mejorar la funcion de costo,

la cual se asocia con aquellas variables que violan las condiciones de optimalidad.

En cada iteracion, el valor de la funcion objetivo es mejorado optimizando aquellos patrones

que violan las condiciones de optimalidad. Dicho lo anterior, el algoritmo divide el conjunto de

variables a optimizar en dos subconjuntos:ΛB y ΛN , donde el conjunto de patrones que cumplen

con las condiciones de optimalidad estan contenidos en el subconjuntoB y representa el conjunto

de trabajo que es optimizado en cada iteracion. La definicion de los subconjuntosB y N es como

sigue:

√El subconjuntoB, en el que se almacenan aquellas variables que son llamadas libres y que

son las variables a ser optimizadas en cada iteracion (conjunto de trabajo).

26

Page 27: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

(a) Se define el tamano del conjunto de trabajoB, el cual es lo suficien-

temente pequeno como para ser almacenado por la computadora y

esta denotado porq.

(b) Seleccionar aleatoriamenteq elementos de la base de datos

(c) Se optimiza el problema definido en el subconjuntoB mediante algun

metodo de optimizacion cuadratico.

(d) Mientras existan patronesj ∈ N , tal queg(xj)yj < 1, donde

g(xj) =l∑

p=1

λpypK(xj, xp) + b (2.35)

entonces, se remplazan aquellos patrones conλi = 0, i ∈ B, por

aquellos cuyoλj = 0, j ∈ N y se resuelve el nuevo sub problema

encontrado.

Tabla 2.3: Estructura del algoritmo deOsuna

√El subconjuntoM , el cual contiene el resto de las variables. Este subconjunto puede contener

variables que ya han sido optimizadas ası como variables que violen las condiciones de

optimalidad.

Una vez dividido el problema, el algoritmo realiza lo siguiente:

√Se intercambian aquellos patrones cuyoλi = 0, i ∈ B, con los patrones cuyoλj = 0, donde

j ∈ N . Este remplazo es posible ya que el valor de la funcion objetivo no se ve afectado.

√Se verifica que el nuevo sub problema seaoptimo medianteyjg(xj) ≥ 1.

La idea general es: optimizar el conjunto de trabajoB y obtener aquellas variables con

λi = 0, i ∈ B. Dichas variables son sustituidas por aquellas variables del subconjuntoN que

satisfacen la condicion deyjg(xj) < 1. Una vez realizado el remplazo de variables, un nuevo

sub problema es formado. Conforme se realiza la optimizacion de los diferentes sub problemas,

nos aseguramos que el valor de la funcion objetivo sea mejorado ademas de mantener factible la

27

Page 28: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

s

p-

solucion del problema. La estructura del algoritmo deOsunase muestra el en cuadro (2.3).

Este algoritmo tiene asegurada la convergencia hacia eloptimo en un numero finito de itera-

ciones ya que en cada iteracion se va mejorando el valor de la funcion objetivo.

2.2.3. OPTIMIZACI ON SECUENCIAL M INIMA

Optimizacion Secuencial Mınima (OSM), [12], es un algoritmo que no requiere almacenar la

matriz hessiana correspondiente a todos los elementos de la base de datos a ser optimizada.

Este algoritmo, ası como Osunay Chunking, descompone el problema en sub problemas,

resolviendolo en forma iterativa. La principal diferencia con los algoritmos previamente analizado

es que el tamano del conjunto de trabajo en cada iteracion es de 2 elementos, es decir, el problema

de programacion cuadratico de las MSV lo reduce a su tamano mınimo, lo que significa optimizar

solo dos datos de la base de aprendizaje.

Otra diferencia importante de este algoritmo con respecto a los anteriores es que al ir o

timizando solo dos datos en cada iteracion, esta optimizacion puede llevarse a cabo de manera

analıtica y no de forma numerica (uso de metodos de optimizacion cuadratica) por lo que el tiem-

po de computo puede ser reducido notoriamente. Ası, este algoritmo esta compuesto de dos partes

fundamentales:

√Un metodo de solucion analıtico para optimizar los 2 datos en cada iteracion.

√Una heurıstica que permita seleccionar la pareja de datos a ser optimizados.

28

Page 29: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

s)

2.3. ALGORITMO PERCEPTR ON

El algoritmo Perceptron, [6], fue uno de los principales procedimientos de aprendizaje de clasi-

ficadores lineales. Es un algoritmo incremental que inicia con un vector de pesos (o de conexione

igual a cerow = 0 y en cada iteracion se realizan pequenas modificaciones al vector de pesosw

de acuerdo con la saliday de cada dato. Este algoritmo (Tabla 2.4) asegura la convergencia en un

numero finito de iteraciones para problemas linealmente separables.

1. Inicializar el vector de pesosw y el terminob (bias) en cero.

2. Establecer el valor del paso de aprendizajeη.

3. Mientras exista uni : i ∈ N , tal quef(xi) 6= yi

a) Calcular el valor de la funcionf(xi) = sgn((w · xi) + b)

b) Si f(xi) 6= yi entonces

• Actualizar los valores dew y b con:

∆w = wold + (η/2)(yi · xi)

∆b = bold + (η/2)(yi)

4. Regresar al punto 3.

Tabla 2.4: Algoritmo Perceptron.

La actualizacion del vector de pesosw y del terminobias b se realizan cuando el valor de la

funcionf(xi) es diferente al valor del objetivoyi, por lo que la actualizacion se realiza con respecto

a los ejemplos que han quedado mal clasificados. Este proceso se repite hasta obtenerw∗ y b∗ de

manera que

∀i , i ∈ N : f(xi) = yi

De forma general, el Perceptron traza diferentes hiperplanos durante cada iteracion hasta que en-

cuentra un hiperplano que clasifica correctamente los datos (ver Figura 2.7).

29

Page 30: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

−7.6

−7.4

−7.2

−7

−6.8

−6.6

−6.4

−6.2

−6

−5.8

−5.6

−7.5−7−6.5−6−5.5

Figura 2.7: El Perceptron traza diferentes hiperplanos hasta que encuentra uno que clasificacorrectamente los datos

2.3.1. KERNEL-PERCEPTRON: EXTENSI ON DEL PERCEPTRON A FUNCIONESKERNEL

Para extender el uso del Perceptron a problemas no linealmente separables, este algoritmo s

combina con funcionesKernel, [10], de tal forma que el algoritmo trabaje en una dimension mas

alta en la que la base de datos pueda ser separada de manera lineal por el Perceptron.

Para lograr lo anterior, se realiza un mapeo no lineal de los datos al espacio caracterısticoZ,

por lo que es necesario redefinir la funcionf(x) como sigue:

f(x) =N∑

i=1

wiΦi(x) + b

Este algoritmo es tratado en su forma dual, por lo quef(x) queda definida como:

f(x) =N∑

i=1

γiyi〈φ(xi) · φ(x)〉+ b

Dondeγ representa el conjunto de variables duales que son actualizadas durante cada iteracion. La

variableγ se define como un conjunto de valores positivosγ = γ1, γ2, . . . , γN donde el valor deγi

esta asociado al patronxi de la funcionf(x). El producto punto que aparece en la ecuacion anterior

es sustituido por una funcion Kernel,evitando la construccion explıcita del espacio caracterıstico

φ y queda la representacion como sigue:

f(x) =N∑

i=1

γiyiK(xi, x) + b

30

Page 31: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

n-

s

Una vez definida la notacion del Perceptron con funcionesKernel, la estructura del algoritmo se

muestra en (Tabla 2.5):

1. Establece el valor del terminob = 0.

2. Inicializar el vector de variables dualesγ = γ1, γ2, . . . , γN con ceros.

3. Mientras la condicion de paro no se cumpla:

a) Para todos los elementos eni , i ∈ N

1) Calcularf(xi) = sgn(yiγiK(xi, x) + b)

2) Si f(xi) 6= yi

* Incrementa el valor deγi con∆γi = γoldi + 1

* Incrementa el valor del bias con∆b = bold + yi

Tabla 2.5: Algoritmo Kernel-Perceptron

2.4. ALGORITMO DE SCHLESINGER-KOZINEC

La idea de este algoritmo es presentar una solucion alternativa a las maquinas de soporte

vectorial mediante un algoritmo que evada el problema de programacion cuadratico y devuelva

como resultado el hiperplano de separacion de margen maximo.

El algoritmo Schlesinger-Kozinec, [8], busca el hiperplano clasificador de los datos que te

ga el margen maximo de separacion entre ellos por lo que, dados un conjunto de patrone

(xi, yi) ∈ <n, i = 1, . . . , N , se defineI(+1) = {i ; yi = 1}, I(−1) = {i ; yi = −1},X(+1) = {xi ; yi = 1}, X(−1) = {xi ; yi = −1} que corresponden a indices de datos posi-

tivos y negativos respectivamente. Ademas, para identificar el margen maximo de separacion, es

necesario definir:

ρ = max(w,b)

ρ(fw,b) = ρ(f∗) (2.36)

Ahora definimos los vectoresw(+1), w(−1) ∈ <n donde

fw(+1), w(−1)(x) = fw,b(x) = w · x + b ∀x ∈ <n, (2.37)

31

Page 32: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Ası, w y b estan definidos por:

w = w(+1) − w(−1) (2.38)

b = −‖w(+1)‖2 − ‖w(−1)‖2

2(2.39)

La funcion de decision lineal que separa los datos en los conjuntosX(+1) y X(−1) se puede repre-

sentar por:

〈w · xi〉 ≥ b ∀i ∈ I(+1),

〈w · xi〉 < b ∀i ∈ I(−1).

El margen de separacion entre los conjuntosX(+1) y X(−1) esta definido como la distancia de los

patrones mas cercanos de cada subconjunto de tal forma que:

ρw,b = mın

(mın

i∈I(+1)

〈w · xi〉 − b

‖w‖ , mıni∈I(−1)

b− 〈w · xi〉‖w‖

). (2.40)

Por consecuencia, el hiperplano de separacion con el margen maximo〈w∗ · x〉 = b∗ se define por:

(w∗ · b∗) = argmax

w,bρ(w · b) (2.41)

El hiperplanooptimo que divideX(+1) y X(−1) esta determinado por los patrones mas cercanos

entre ambos conjuntos por lo que,

w∗ = w∗(+1) − w∗

(−1), b∗ =1

2

(‖w∗(+1)‖2 − ‖w∗

(−1)‖2),

donde:

(w∗(+1), w

∗(−1)) = arg mın

w(+1)∈X(+1),w(−1)∈X(−1)‖w(+1) − w(−1)‖,

ρ(w∗, b∗)− ρ(w, b) ≤ ε (2.42)

En la implementacion del algoritmo, para verificar que la condicion (2.42) se cumpla, es necesario

que,

1

2‖w(+1) − w(−1)‖≥ρ(w∗,b∗) −mın

(mın

i∈I(+1)

〈w, xi〉 − b

‖w‖ , mıni∈I(−1)

b− 〈w, xi〉‖w‖

)

=ρ(w,b)

≤ ε (2.43)

La estructura del algoritmo se muestra en (Tabla 2.6).

32

Page 33: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

1. Inicializar los valores dew(+1) ∈ X(+1) y de w(−1) ∈ X(−1) para

lo cual podemos elegir cualquier patron que pertenezca al conjunto

correspondiente de nuestra base de datos.

2. Verificar que se cumpla la condicion de optimalidad (2.43). Si dicha

condicion no se cumple, entonces ir al paso siguiente. Si la condicion

se cumple, el margenoptimo ha sido encontrado.

3. Realizar la actualizacion del margen para lo cual es necesario veri-

ficar:

a) Si xi ∈ X(+1) no cumple con la condicion de optimalidad, en-

tonces se realiza la actualizacion del valorw(+1) y se mantiene

fijo el valor dew(−1). Dicha actualizacion se realiza mediante:

w(+1)new = w(+1) · (1− k) + xi · k

donde:

k = arg mınk∈(0,1)

‖w(+1)new(k)− w(−1)‖

b) En el caso contrario, cuandoxi ∈ X(−1) no cumple con la condi-

cion de optimalidad, la actualizacion se realiza enw(−1) y el val-

or dew(+1) se mantiene fijo. La actualizacion se realiza con:

w(−1)new = w(−1) · (1− k) + xi · k

donde:

k = arg mınk∈(0,1)

‖w(−1)new(k)− w(+1)‖

4. Regresar al punto 2.

Tabla 2.6: Algoritmo Schlesinger-Kozinec

Ya que el algoritmo busca los patrones mas cercanos entre los subconjuntos, en la figura (2.8)

se seleccionan 2 puntos aleatorios de cada subconjunto y se obtienenw(+1)1 y w

(−1)1 con los que

se forma el hiperplano〈w(+1)1 − w

(−1)1 · x〉 = b. Cada patron de la base de datos es proyectado

33

Page 34: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ce

sobre el hiperplano encontrado y un valor es obtenido. Dicho valor indica que tan cerca o lejos se

encuentra del hiperplano. Los datos con valor de proyeccion mas pequeno son seleccionados para

formar los nuevosw(+1)2 y w

(−1)2 , con los que el hiperplano de separacion optimo es encontrado

〈w∗(+1) − w∗

(−1) · x〉 = b∗.

−6 −5.5 −5 −4.5 −4 −3.5−6

−5.5

−5

−4.5

−4

−3.5

X(+1)

X(−1)

w1(−1)

w2(−1)

w1(+1)

w2(+1)

⟨ w(+1) − w(−1) ⋅ x ⟩ = b

(a)

Figura 2.8: Busqueda del hiperplanooptimo

2.4.1. KSK: LA EXTENSI ON DEL ALGORITMO SCHLESINGER-KOZINEC A FUN-CIONES KERNEL

Para extender el algoritmo Schlesinger-Kozinec al caso no linealmente separable, [7], se ha

uso de las funcionesKernel, de tal forma que asumiremos la existencia de una funcion φ que

representa un mapeo del espacio de entrada a un espacio caracterısticoZ en el que(z1, z2) → z1 ·z2

representa un producto escalara enZ de tal forma que:

φ(x1) · φ(x2) = k(x1, x2)∀x1, x2 ∈ <n

34

Page 35: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

-

De esta forma, la idea es buscar el hiperplano separadoroptimo en el espacio caracterısticoZ por

lo que es necesario sustituir el vectorxi por su correspondiente imagenφ(xi) y ası utilizar una

funcion Kernelpara calcular el producto punto. Como es de esperarse, los valores dew(+1)yw(−1)

no pueden ser almacenados de igual forma en el espacio caracterısticoZ por lo que es necesario

representarlos utilizando lagrangianos. De tal forma, se tiene que,

w(+1) =∑

i∈I(+1)

λi · xi,∑

i∈I(+1)

λi = 1,

w(−1) =∑

i∈I(−1)

λi · xi,∑

i∈I(−1)

λi = 1.

Ya en la implementacion del algoritmo, es necesario realizar los siguientes productos escalares:

〈wa, wb〉 =∑i∈Ia

∑j∈Ib

λi · λj · 〈xi, xj〉, a, b ∈ {(1), (−1)}

〈wa, xj〉 =∑i∈Ia

λi · 〈xi, xj〉, a, b ∈ {(1), (−1)}

Mientras que las actualizaciones paraw seran de la siguiente forma:

wnewj =

(1− k) · λj, ∀j 6= i, j ∈ Ia

(1− k) · λj + k, ∀j = i, j ∈ Ia

Por lo que la nueva funcion de decision queda definida como:

f(x) = 〈w, x〉 − b

=∑

i∈I(+1)

λi〈xi, x〉 −∑

i∈I(−1)

λi〈xi, x〉 − b

=∑i∈I

λiyi〈xi, x〉 − b.

=∑i∈I

λiyik(xi, x)− b

2.5. PROCEDIMIENTO DE CORRECCI ON DE BARICEN-TROS (PCB)

El algoritmo PCB4 es un algoritmo iterativo basado en conceptos geometricos para entrenar

unidades por umbral5 El algoritmo encuentra un hiperplano que clasifica correctamente un con

junto de patrones en dos clases. PCB fue desarrollado para tratar los problemas de convergencia

4BCP por sus siglas en ingles (Barycentric Correction Procedure).5Unidad por umbral, se refiere a un sistema de una unidad el cual esta conectado an entradasei

35

Page 36: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

a

sifica-

s

entos

ci

la

donde

de algoritmos como el Perceptron. Ası mismo, el algoritmo ha mostrado ser muy eficiente par

problemas linealmente separables, ya que converge muy rapido hacia la solucion. Este algoritmo

es libre de parametros, por lo que no necesita ningun valor de inicializacion.

PCB realiza una busqueda guiada para encontrar un vector de pesosW . Ası, en cada iteracion

del algoritmo el vector de pesos es modificado tomando en cuenta patrones que han sido cla

dos correctamente, ademas de considerar aquellos que han sido mal clasificados.

De esta forma, el vector de pesosW esta definido como un vector que conecta 2 diferente

baricentros, donde cada uno pertenece a una clase diferente. Los baricentros son elem

cercanos a la media tanto para patrones que pertenecen a la clase+1 como para aquellos que

pertenecen a la clase−1. Para lograr que el algoritmo converja, es necesario que, en cada iteraon

del algoritmo, los baricentros sean modificados para ası lograr una mejor direccion del hiperplano

y ası lograr una solucion optima.

Como se menciono antes, PCB es un sistema de una salidas conectada aN entradasxi donde

cada una de las conexiones tiene un valor asociado (un peso) representado porwi. Ası, PCB calcula

el valor de salida del sistemas mediantes = φ(A) dondeA esta definido por:

A = w · x + θ =N∑

i=1

wi · xi + θ

y φ(A) es una funcion de activacion de la salidas la cual toma los siguientes valores:

φ(A) =

1 si A ≥ 0,

0 si A < 0.

PCB define un hiperplanoH : w · x + θ = 0 donde, x = x1, x2, . . . , xN son las entradas

del algoritmo,θ es el terminobias y w es el vector de pesos que conectan las entradas con

salida. El hiperplano calculado divide el espacio de entrada en dos subespacios abiertos,

uno contiene los datos cuyaA ≥ 0 y el otro aquellos cuyaA < 0. Con lo anterior, se sabe que

cualquier elementoxi pertenece a la clase{+1} si A >= 0 o que pertenece a la clase{−1} si

A < 0.

Ahora definimos el conjunto de entrenamientoC = C1 ∪ C0 dondeC1 = p1, p2, . . . , pN1

y C0 = q1, q2, . . . , qN0, dondeN = N1 + N0 y el conjunto de indicesI1 = {1, . . . , N1} y

36

Page 37: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

los

ci

atos

si

I0 = {1, . . . , N0}. La definicion de los baricentros deC1 y C0 para los cualesb1 corresponde al sub-

conjunto etiquetado con{+1} y b0 que corresponde al subconjunto etiquetado con{−1}. Los bari-

centros tienen un peso, el cual esta determinado por los coeficientes positivosλ = (λ1, λ2, . . . , λN1)

para los datos enC1 y µ = (µ1, µ2, . . . , µN0), para aquellos que se encuentran enC0. Estos

coeficientes son denominadoscoeficientes de peso. La definicion matematica de los baricentros es

como sigue:

b1 =

∑i∈I1

αi · pi∑i∈I1

αi

, b0 =

∑j∈I0

µj · pj∑j∈I0

µj

(2.44)

De esta forma, tenemos que el vector de pesosw queda definido por:

w = b1 − b0 (2.45)

En cada iteracion del algoritmo, el vector de pesos (αi, µi) es modificado y, en consecuencia, los

baricentros tambien son modificados. El incremento en los baricentros se hace con respecto a

elementos mal clasificados, lo que implica que el hiperplano separador se mueva en esa direcon.

La modificacion en los baricentros se realiza mediante:

∀i ∈ I1 ∆λi = λi + βi (2.46)

∀j ∈ I0 ∆µi = µi + δi (2.47)

Dondeβ y δ son valores positivos que incrementan el valor de los coeficientes de pesoλ y µ

cuando algun patron es mal clasificado. La definicion matematica es la siguiente:

β = max

{βmın, mın

[βmax,

N1

N0

]}(2.48)

δ = max

{δmın, mın

[δmax,

N0

N1

]}(2.49)

Una ventaja que presenta este algoritmo es que no solo trabaja para problemas linealmente

separables ya que en cada iteracion 2 hiperplanos son calculados:

* H que nos asegura la convergencia en problemas no linealmente separables.

* Hpoc que nos obtiene la mejor orientacion del hiperplano en problemas no linealmente

separables, maximizando el numero de patrones excluidos y minimizando el numero de d

mal clasificados.

El hiperplanoHpoc es el mejor hiperplano obtenido durante cada iteracion de PCB. Debido

a que PCB tiene un numero finito de iteraciones, una vez que termina el algoritmo se verifica

37

Page 38: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

s se

se obtuvo un hiperplano que clasifique correctamente todos los datos (si ası fuera, el problema es

linealmente separable). En el caso de que hayan sido mal clasificados algunos datos, entonce

toma en cuenta el hiperplano que mejor ha clasificado durante las diferentes iteraciones.

Para realizar el calculo del terminobiasθ, es necesario definir la funcion ϑ : <n → < como

sigue:

ϑ(p) = −w · p

dondeϑ = ϑ1 ∪ ϑ0, para lo cual,

ϑ1 = {ϑ(pi)/pi ∈ C1},ϑ0 = {ϑ(qj)/qj ∈ C0},

por lo que el calculo del termino biasθ se representa por:

θ =max ϑ1 + mın ϑ0

2. (2.50)

Porultimo, el algoritmo PCB se muestra en (Tabla 2.7):

1. Inicializarλ y µ de forma aleatoria.

2. Calcular los baricentrosb1 y b0 usando (2.44)

3. Calcular el vector de pesosw con (2.45).

4. Calcularϑ1 y ϑ0.

5. Calcular el termino biasθ con (2.50).

6. EvaluarH : w · x + θ y mientras existan elementos mal clasificados

a) Calcular las modificaciones de los pesosβ y δ.

b) Realizar la actualizacion deλ y µ usando (2.46) y (2.47).

c) Regresar al punto dos.

Tabla 2.7: Algoritmo PCB

38

Page 39: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ia

bre

iento

cido

3. HEURISTICAS DE OPTIMIZACI ON

PARA LAS M AQUINAS DE SOPORTE

VECTORIAL

Los diferentes algoritmos desarrollados para entrenar las MSV (entre ellosChunking [5],

Osuna[11] y SMO [12]) han disminuido notablemente el tiempo de entrenamiento y la memor

necesaria en comparacion con los metodos de optimizacion cuadratica tradicionales. Sin embargo,

el tiempo de entrenamiento requerido por dichos metodos para problemas reales sigue siendo

prohibitivo, por lo que es necesario desarrollar heurısticas que permitan tratar dichos problemas.

Como ya se menciono, los vectores de soporte son aquellos datos que se encuentran so

el margen de separacion, es decir, son los ejemplos mas cercanos al hiperplano que separa el

conjunto de datos. Tambien se sabe que para llevar a cabo el entrenamiento de las MSV solo es

necesario conocer los vectores de soporte y no el conjunto de datos completo. Por esta razon, se

puede afirmar que si se conocen los vectores de soporte antes de llevar a cabo el entrenam

de las MSV, entonces se puede realizar el entrenamiento con un conjunto de datos muy redu

que contenga los vectores de soporte y ası disminuir tanto el tiempo de entrenamiento como la

memoria requerida para almacenar el problema.

Page 40: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

o

s de

eso

tilizar

nte

lograr

ga

El objetivo principal del presente trabajo es encontrar algun metodo de clasificacion preliminar

que encuentre un hiperplano de separacion cercano al encontrado por las MSV. Una vez encontrad

dicho hiperplano, se identifican los patrones mas cercanos alel (realizando el calculo de la Distan-

cia Euclidiana) y se forma un subconjunto de datos. Dicho subconjunto contiene los vectore

soporte del problema, por lo que es utilizado para realizar el aprendizaje de las MSV. El proc

anterior se enumera a continuacion:

1. Encontrar un hiperplano que clasifique correctamente los datos (Figura 3.1 a).

2. Formar un subconjunto de datos con los patrones mas cercanos al hiperplano (Figura 3.1 a).

3. Iniciar el aprendizaje de las MSV con el subconjunto formado (Figura 3.1 b).

La principal ventaja de la inicializacion de las MSV con un conjunto de datos pequeno es la dis-

minucion del tiempo de computo y la memoria necesaria para encontrar la solucion del problema.

Para identificar el subconjunto de datos que contiene los vectores de soporte se pueden u

diferentes algoritmos con las siguientes caracterısticas:

* Encuentra un hiperplano de separacion optimo para un conjunto de datos.

* Facil implementacion.

* Mınimos requerimientos de procesamiento.

Algunos de los algoritmos que cumplen con estas caracterısticas y que seran utilizados son:

* Perceptron, [6].

* Procedimiento de Correccion de Baricentros (PCB), [9].

Una vez identificado el conjunto reducido de datos, es posible utilizar cualquier metodo de

optimizacion cuadratica para optimizarlo. La desventaja observada en problemas no linealme

separables, es que al realizar aproximaciones lineales a la solucion con los algoritmos preliminares,

el conjunto de vectores de soporte encontrado es un conjunto incompleto que en la mayorıa de

los casos representa un poco mas del50 % del total de vectores de soporte del problema. Ası, es

necesario realizar diferentes iteraciones hasta encontrar el total de vectores de soporte. Para

lo anterior se decide utilizar el algoritmoChunking, el cual, como se mostro en el capıtulo 2, es

un algoritmo iterativo que busca los patrones que violan las condiciones de KKT y los agre

al conjunto de trabajo. Debido a que los metodos de clasificacion preliminar obtienen una gran

40

Page 41: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

figura

e

y

n los

−7.6 −7.4 −7.2 −7 −6.8 −6.6 −6.4 −6.2 −6 −5.8 −5.6

−7.5

−7

−6.5

−6

−5.5

(a)

−7.6 −7.4 −7.2 −7 −6.8 −6.6 −6.4 −6.2 −6 −5.8 −5.6

−7.5

−7

−6.5

−6

−5.5

(b)

Figura 3.1: En la figura (a) se muestra un hiperplano que separa correctamente los datos. La(b) muestra el hiperplano de separacion encontrado por las MSV.

parte de los vectores de soporte, entonces el numero de elementos que violan las condiciones d

KKT es reducido, por lo que la combinacion de los metodos de clasificacion preliminar con el

algoritmoChunkingtrae como consecuencia la disminucion del numero de iteraciones necesarias

para obtener la solucion optima, al mismo tiempo que se disminuye el tiempo de entrenamiento

la memoria requerida por las MSV.

Como se menciona en el parrafo anterior, se realizan aproximaciones lineales a la solucion,

por lo que el resultado obtenido no es tan exacto. Para lograr un mayor grado de exactitud co

metodos de clasificacion preliminar, se decide utilizar:

41

Page 42: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

or

dores

los

te

itmo

ieren,

a

asta el

an las

s)

es al

* Kernel Perceptron, [10].

* Kernel Schlesinger-Kozinec, [7].

Estos algoritmos son extensiones de metodos lineales al caso no lineal mediante el uso d

funciones Kernel. La idea basica es lograr que el conjunto de datos reducido contenga el may

numero de vectores de soporte posible. Lo anterior es posible debido a que tanto los clasifica

preliminares como el algoritmoChunking trabajan en el mismo espacio dimensional, lo que

facilita encontrar el conjunto completo de vectores de soporte del problema.

Es importante hacer notar que el algoritmoChunking utiliza en su proceso interno un

optimizador cuadratico para encontrar los vectores de soporte del problema. Algunos de

algoritmos de optimizacion cuadraticos mas utilizados son:MINOS, [14], LOQO [15], QP . En

esta investigacion se decide utilizar la implementacion deQP .

Desafortunadamente, metodos comoChunking, Kernel-Perceptron y Kernel Schlesinger-

Kozinec llevan consigo un gran numero de evaluaciones Kernel que disminuyen notablemen

su rendimiento. Las diferentes evaluaciones Kernel, indican el numero de veces que el algor

realiza el mapeo de un patron i de entrada a una dimension mas altaZ. El problema de procesar un

gran numero de evaluaciones Kernel puede evitarse incorporando la heurıstica deCaching, [13],

desarrollada por J. Platt e implementada enSV M light, en la que en cada iteracion almacenan las

evaluaciones Kernel de los vectores de soporte encontrados de tal forma que, cuando se requ

no es necesario calcularlas nuevamente, solo se necesita extraerlas de la memoria. El problem

es que, si se almacenan todas las evaluaciones Kernel, es posible que la memoria crezca h

punto en el que se agote. Esto puede ser evitado si durante las diferentes iteraciones se elimin

evaluaciones Kernel de aquellos patrones que no se han ocupado recientemente, solo se mantienen

las evaluaciones que mas se requieren durante las diferentes iteraciones.

3.1. INICIALIZACI ON DE LAS M AQUINAS DE SOPORTEVECTORIAL CON LA AYUDA DEL PERCEPTR ON

Como se describe en el capıtulo 2, el algoritmo Perceptron esta dirigido a problemas lineal-

mente separables por lo que su aplicacion en problemas reales (del tipo no linealmente separable

se ve limitada. Para evitar el problema anterior es necesario realizar algunas modificacion

42

Page 43: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

mo-

ue

le

7 7.5 8 8.5 9−2

0

2

4

6

8

10

Figura 3.2: Inicializacion deW en ceros. Es posible que se quede muy lejos de la solucion por loque se requieren mas iteraciones para llegar aloptimo

algoritmo, de tal forma que pueda trabajar con bases de datos no linealmente separables. Las

dificaciones que se proponen son las siguientes:

* Modificar la condicion de paro del algoritmo de manera que se maximize el numero de

elementos bien clasificados.

* Utilizar la extension del Perceptron a funcionesKernel.

Al tratar con problemas no linealmente separables se modifica el algoritmo para que busq

el hiperplano que maximiza el numero de elementos bien clasificados. Lo anterior representa

la busqueda del hiperplanooptimo, donde en cada iteracion se guarda el hiperplano que mejor

clasifica los datos.

Existen dos puntos importantes a considerar para el entrenamiento del algoritmo Perceptron:

* La inicializacion del vector de pesosW .

* El tamano del paso de aprendizajeη.

El tipo de inicializacion deW es una variable que indica que tan rapido se puede llegar a la

solucion optima del problema. Normalmente se inicializa con valores de cero, pero es posib

que el primer hiperplano trazado quede muy alejado de la solucion y, en consecuencia, aumenta

el numero de iteraciones necesarias para llegar al hiperplanooptimo (Figura 3.2). Para evitar lo

43

Page 44: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

dar

e la

n

anterior, se decide inicializar con valores aleatorios, lo que incrementa la probabilidad de que

cerca de la solucion en la primera iteracion.

El paso de aprendizajeη nos indica de que tamano son los movimientos que se realizan en la

busqueda deloptimo durante las diferentes iteraciones del algoritmo. Se pueden tener 2 casos:

* Un valor deη grande. En este caso es posible que el algoritmo oscile y no se encuentr

mejor solucion al problema.

* El valor deη muy pequeno. Lo que posiblemente haga que el algoritmo tarde mucho e

encontrar la solucion.

Para lograr que el algoritmo tenga un mejor desempeno se propone iniciar con un paso de

aprendizaje grande y en cada iteracion disminuirlo, de tal forma que en lasultima iteraciones se

tengan movimientos muy pequenos que aseguren encontrar la solucion optima del problema.

Una vez realizado el entrenamiento del Perceptron, este sirve para inicializar el algoritmo

Chunkingel cual encuentra los vectores de soporte del problema. La heurıstica propuesta se mues-

tra en (Tabla 3.1).

1. Entrenar el conjunto de datos completo utilizando el Perceptron.

2. Obtener losq patrones mas cercanos al hiperplano obtenido por el

Perceptron y formar el conjuntoTRN .

3. Optimizar el conjuntoTRN mediante QP para obtener los vectores

de soporte.

4. Utilizar TRN para buscar los datos que violan las condiciones de

optimalidad y formarTRNerr.

5. Si TRNerr == Ø terminar el algoritmo.

6. En caso contrario, TRN = TRN ∪ TRNerr e ir al punto (3).

Tabla 3.1: Inicializacion de las MSV con el algoritmo Perceptron

44

Page 45: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

io el

los

e so-

3.2. INICIALIZACI ON DE LAS M AQUINAS DE SOPORTEVECTORIAL MEDIANTE EL ALGORITMO PCB

Ya que el objetivo principal es reducir el tiempo de entrenamiento de las MSV, es necesar

uso de un metodo que se aproxime a la solucion optima del problema de forma rapida y eficaz.

Por esta razon se decide utilizar el algoritmo PCB como metodo de inicializacion de las MSV.

EL algoritmo PCB se utiliza para encontrar un hiperplano que clasifique correctamente

datos, entonces se obtienen los patrones mas cercanos al hiperplano y se forma el conjuntoTRN .

Debido a las caracterısticas geometricas de los clusters se puede demostrar que si el tamano del

conjuntoTRN es lo suficientemente grande, entonces los vectores de soporte estaran contenidos

enel. Es importante notar que ademas de los vectores de soporte,TRN puede contener patrones

que no sean relevantes en el entrenamiento de las MSV.

La idea que se presenta aquı es aprovechar las caracterısticas de PCB (velocidad de entre-

namiento) para preseleccionar un conjunto de datos reducido (que contenga los vectores d

porte) y realizar la optimacion mediante el algoritmo de programacion cuadratica QP. La heurıstica

propuesta se muestra en (Tabla 3.2).

1. Entrenar el conjunto de datos completo utilizando el PCB.

2. Obtener losq patrones mas cercanos al hiperplano obtenido por el

PCB y formar el conjuntoTRN .

3. Optimizar el conjuntoTRN mediante QP para obtener los vectores

de soporte.

4. Utilizar TRN para buscar los datos que violan las condiciones de

optimalidad y formarTRNerr.

5. Si TRNerr == Ø terminar el algoritmo.

6. En caso contrario, TRN = TRN ∪ TRNerr e ir al punto (3).

Tabla 3.2: Heurıstica de inicializacion con el algoritmo PCB

45

Page 46: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ndi-

ser

ser

os

3.3. OTRA HEURISTICA QUE MEJORA EL USO DELPERCEPTRON Y DEL PCB EN LA INICIALIZACI ONDE LAS M AQUINAS DE SOPORTE VECTORIAL

Ambos algoritmos, tanto Perceptron como PCB, ayudan en gran medida a la inicializacion de

las MSV. Como resultado de esta inicializacion, el algoritmoChunkingencuentra una buena canti-

dad de vectores de soporte en la primera iteracion. La desventaja es que, al no haberse encontrado

todos los vectores de soporte del problema, entonces el numero de patrones que violan las co

ciones de optimalidad pueden ser muchos, lo que hace que el problema crezca demasiado rapido

y en consecuencia el tiempo de entrenamiento tambien se incremente. Lo anterior se debe a que

en el conjunto de los erroresTRNerr, solo algunos de los patrones son vectores de soporte. Para

corregir lo anterior, se propone buscar en el conjunto de errores, aquellos datos que prometen

vectores de soporte y ası agregarlos al conjuntoTRN de cada iteracion. De esta forma, la nueva

heurıstica indica que los errores encontrados en cada iteracion deberan ser entrenados utilizando

Perceptron o PCB de tal forma que se identifique cuales de ellos son candidatos potenciales a

vectores de soporte y ası posteriormente agregarlos al conjuntoTRN , el cual es optimizado de for-

ma iterativa hasta que se encuentra el total de los vectores de soporte. El algoritmo con la heurıstica

propuesta se muestra en (Tabla 3.3).

3.3.1. PROBLEMAS ENCONTRADOS

Desafortunadamente, se pueden presentar diferentes problemas con la inicializacion de las

MSV utilizando los algoritmos Perceptron y PCB los cuales son:

o Si el tamano deTRN es muy pequeno entonces no podra contener los vectores de soporte y

como consecuencia, al verificar que datos violan las condiciones de optimalidad, tendrem

que muchos patrones se encuentran en error. En este caso, el tamano deTRN en la siguiente

iteracion crecera tan rapido como errores existan y la optimizacion tendera a ser mas lenta.

o El otro problema es que, si el tamano deTRN es grande, entonces habra patrones no rele-

vantes que seran tomados en cuenta para la optimizacion, lo que nuevamente se ve reflejado

en el tiempo de proceso.

46

Page 47: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

1. Entrenar el conjunto de datos completo utilizando PCBo Perceptron.

2. Obtener losq patrones mas cercanos al hiperplano obtenido y formar

el conjuntoTRN .

3. Optimizar el conjuntoTRN mediante QP para obtener los vectores

de soporte.

4. Buscar los datos que violan las condiciones de optimalidad y formar

TRNerr.

5. Mientras existan patrones que violen las condiciones de optimalidad:

TRNerr 6= 0,

a) Entrenar el conjuntoTRNerr utilizando PCB o Perceptron.

b) Obtener losq patrones mas cercanos al hiperplano obtenido y

formar el conjuntoTRNclosest.

c) OptimizarTRNclosest conQP y obtener los vectores de soporte.

d) Agregar aTRN los vectores de soporte obtenidos enTRNclosest

de tal forma que:

TRN = TRN + TRNclosest

e) OptimizarTRN medianteQP y obtener los vectores de soporte.

f ) Buscar los datos que violen las condiciones de optimalidad y

actualizar el conjuntoTRNerr.

Tabla 3.3: Estructura de la nueva heurıstica para Perceptron o PCB

En las siguientes secciones nos referiremos a esta heurıstica como Chunking-heurıstico.

47

Page 48: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

-

,

a

as

3.4. INICIALIZACI ON DE LAS M AQUINAS DE SO-PORTE VECTORIAL POR MEDIO DE KERNEL-PERCEPTRON

El algoritmo Kernel-Perceptron, a diferencia del Perceptron, permite trabajar directamente con

problemas no linealmente separables, por lo que su resultado puede ser utilizado para el entre

namiento de las MSV. Ası, la heurıstica propuesta es la siguiente:

1. Entrenar el conjunto de datos utilizando Kernel-Perceptron.

2. Iniciar el entrenamiento de las MSV con el conjunto de datos obtenido.

Para mejorar el rendimiento de esta heurıstica de inicializacion, se propone utilizar en la parte del

entrenamiento de las MSV la heurıstica mejorada descrita en la seccion 3.3.

3.5. INICIALIZACI ON DE LAS M AQUINAS DE SOPORTEVECTORIAL UTILIZANDO KSK

Schlesinger-Kozinec es un algoritmo que esta dirigido a problemas linealmente separables

como es el caso de Perceptron y PCB. La diferencia es que en este algoritmo no es posible agregar

una condicion de paro cuando el mayor numero de elementos bien clasificados ha sido alcanzado.

Esta es la razon por la cual no se utiliza Schlesinger-Kozinec para encontrar aproximaciones

lineales a la solucion, sino que directamente se decide utilizar su extension al caso no linealmente

separable (KSK).

Este algoritmo se asegura de encontrar un hiperplano de margen maximo aun para el caso

no linealmente separable (utilizando las funciones Kernel) por lo que el resultado que se esper

obtener es practicamente el mismo que el que se obtiene con las MSV, es decir, se asegura que

el conjunto de los vectores de soporte encontrados sean los mismos que los encontrados por l

MSV. Ası, al igual que en Kernel-Perceptron, la base de datos es entrenada directamente por KSK

y el resultado obtenido sirve para realizar el entrenamiento de las MSV por medio delChunking

heuristico descrito en la seccion 3.3.

48

Page 49: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

te

les

de

4. EXPERIMENTACI ON Y ANALISIS

DE RESULTADOS

4.1. BASES DE DATOS A UTILIZAR PARA PROBAR LASDIFERENTES HEURISTICAS

Para probar las diferentes heurısticas, se ha decidido utilizar 7 diferentes bases que han sido

tomadas delUCI repository”, [16]. Las bases de datos con las que se van a probar las heurısticas

son: Iris, Pima Indians Diabetes, Adult, Tic Tac Toe, Fonemas, Sonar y Shuttle.

Base de datos Iris

La base de datos de plantas iris es una de las mas utilizadas enarea de reconocimiento de

patrones. La base contiene originalmente 3 clases de plantas para las cuales hay 50 instancias d

cada una. Cada una de las clases se refiere a un tipo de planta iris. Una de las clases es linealmen

separable con respecto a las otras 2, mientras que las otras 2 clases son no linealmente separab

entre ellas. Esta es una de las razones por las cuales son ampliamente utilizadas, ya que se pue

utilizar con clasificadores lineales y no lineales.

La base de datos esta estructurada como sigue:

Page 50: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ase

que

erca

odos

s

* 150 instancias

* 4 atributos numericos y un atributo que indica la clase de la que se trata.

* La informacion de los atributos es la siguiente:

1. Largo del tallo en centımetros.

2. Ancho del tallo en centımetros.

3. Largo del petalo en centımetros.

4. Ancho del petalo en centımetros.

5. Clase de planta iris que puede ser:

• Iris Virginica.

• Iris Setosa.

• Iris Versicolor.

Debido a que el tipo de clasificacion de esta investigacion es clasificacion binaria, uniremos

la clase Virginica con Setosa para formar una sola clase la cual compararemos con la cl

Versicolor. Al realizar esta union, se trabaja con una base de datos no linealmente separable.

Base de datos Pima Indians Diabetes

Pima Indians Diabetes es una base de datos cuyo objetivo es observar si un paciente

muestra sıntomas de diabetes, de acuerdo con los criterios de la Organizacion Mundial de la Salud,

tiene o no la enfermedad. Las personas a la que se les aplicaron las diferentes pruebas, viven c

de Phoenix Arizona, en los Estados Unidos. De los pacientes que se tomaron las muestras, t

eran del sexo femenino y mayores de 21 anos.

La estructura de la base de datos es la siguiente:

* 768 instancias.

* 8 atributos mas el atributo identificador de la clase. Los diferentes valores para los atributo

se basan en lo siguiente:

1. Numero de veces que se ha embarazado el paciente.

2. Concentracion de glucosa.

50

Page 51: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

eba

ir

or

n los

3. Presion sanguınea.

4. Grosor de la piel.

5. Nivel de insulina.

6. Masa corporal.

7. Funcion de genealogıa de diabetes.

8. Edad.

9. Atributo de clase donde (+1) se refiere a prueba positiva de diabetes y (-1) para pru

negativa.

Base de datos Adult

Esta base de datos fue compilada por John Platt del ”UCI repository” y nos ayuda a predec

si una persona gana arriba de 50,000 USD. durante un ano. Esta base de datos esta compuesta p

ocho atributos categoricos y seis atributos continuos. La discretizacion de los atributos continuos

fue realizado por John Platt.

La estructura de la base de datos es como sigue:

* 1478 instancias.

* 14 atributos en los que se incluye el atributo de clase. Los valores de cada atributo so

siguientes:

1. Edad.

2. Tipo de empleo.

3. Antiguedad.

4. Nivel academico.

5. Numero de registro.

6. Estado civil.

7. Ocupacion.

8. Numero de integrantes de la familia.

9. Raza.

10. Sexo.

51

Page 52: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Tac

na

en

e

una

. La

11. Ganancias obtenidas.

12. Perdidas generadas.

13. Horas trabajadas.

14. Nacionalidad.

Base de datos del juego Tic Tac Toe

Esta base de datos codifica el conjunto completo de movimientos posibles en el juego Tic

Toe. El valor de la clase positiva indica que se han completado 3 elementos del tipo ’x’ en u

columna. El numero de atributos e instancias se presenta a continuacion:

958 instancias

9 atributos donde cada uno corresponde a un cuadro del tablero Tic Tac Toe. La forma

como se encuentran los atributos es:

* Cuadro superior izquierdo.

* Cuadro superior central.

* Cuadro superior derecho.

* Cuadro medio izquierdo.

* Cuadro medio central.

* Cuadro medio derecho.

* Cuadro inferior izquierdo.

* Cuadro inferior central.

* Cuadro inferior derecho.

Donde el valor que puede ocupar cada atributo es: jugador con ’x’, jugador con ’o’ y ’b’ qu

indica espacio en blanco.

Base de datos de Fonemas

En esta base de datos, la idea es deducir la presencia de cada una de las caracterısticas foneticas

a partir de observaciones acusticas. En la base, se observan las frecuencias y se representan en

escala logarıtmica (frecuencias centrales) que representa la respuesta de los nervios auditivos

52

Page 53: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ase es

n

s

La

al se

,

s”.

e

salida de los filtros es observada entre 2 y 8 milisegundos (integracion de 4 a 16 milisegundos)

dependiendo del tipo de fonema observado (estacionario o transitorio). El objetivo de esta b

distinguir entre:

* Nasales, para la clase -1 y,

* Orales, para la clase +1.

La estructura de la base es la siguiente:

* 1027 instancias.

* 5 atributos, donde elultimo pertenece al atributo de clase.

Base de datos Sonar

El objetivo de esta base de datos es determinar si las senales de un sonar son rebotadas en u

cilindro metalico o si rebotan en una roca cilındrica. Las senales contenidas en la base de dato

fueron obtenidas desde diferentesangulos abarcando 90 grados para el cilindro metalico y hasta

180 grados para la roca.

Cada dato tiene un conjunto de 60 numeros que se encuentran en un rango de0,0 al 1,0.

Cada numero representa la energıa de una frecuencia en particular en cierto periodo de tiempo.

estructura de la base es la siguiente:

208 instancias.

60 atributos, incluyendo la clase.

Base de datos Shuttle

La base de datos Shuttle fue utilizada en el proyecto European Statlog, en el cu

comparaba el rendimiento de Maquinas de aprendizaje Estadısticas y algoritmos de Redes

Neuronales aplicados a problemas reales de la industria enareas como medicina, finanzas

analisis de imagenes, ingenierıa, e.t.c. Fue donada por el departamento de Estadıstica y Mode-

lado de la universidad de Strathclyde en Escocia. Ademas, la utilizo Muggleton en 1993 en el

artıculo llamado”Comparison of Machine Learning Classifiers to Statistics and Neural Network

La base de datos contiene 9 atributos de tipo numerico y la etiqueta de clase, la cual pued

tomar uno de los 7 valores:

53

Page 54: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

tos de

* Rad Flow.

* Fpv Close.

* High.

* Bypass.

* Bpv close.

* Bpv open.

El conjunto de datos esta formado por 14,500 ejemplos distribuidos en las 7 clases. Para efec

esta investigacion, unicamente se utilizaran dos clases:

* Rad Flow, con 11478 elementos.

* High, con 2155 instancias.

Ası, el numero de elementos a utilizar son 13,633.

54

Page 55: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

dial

,

4.2. INICIALIZACI ON DE LAS MSV POR MEDIO DEL AL-GORITMO PERCEPTR ON

Diferentes pruebas fueron realizadas para seleccionar la funcion Kernel con el mejor de-

sempeno en las diferentes bases de datos, por lo que se obtuvo que las funciones de base ra

(RBF) son las que mejor comportamiento reportan. Tambien se probaron diferentes tamanos para

el conjunto de trabajo definido por Chunking. Los valores comparados fueron 10 %, 20 %, 30 %

40 % y 50 % del numero de elementos de la base de datos y se obtuvo que con un tamano del 10 %

se tiene el menor tiempo de optimizacion del algoritmo. En resumen, se utiliza una funcion Kernel

de base radial con un valor de gamma deσ = 0,5, una constante de penalizacion C = 1000 y un

tamano de los conjuntos de trabajo igual al 10 %.

4.2.1. RESULTADOS OBTENIDOS

Los resultados que se presentan en las siguientes tablas fueron obtenidos utilizando la heurıstica

mejorada para el algoritmo Perceptron descrita en la seccion 3.3. En cada una de las tablas se

presenta el desarrollo del Chunking-heurıstico durante las diferentes iteraciones, de tal forma que

se pueda observar el progreso del algoritmo.

Iris Totales

Iteracion 1 2 3 4

Numero de Datos 15 17 22 20 150

Vectores de Soporte 5 8 14 20 20

Errores 32 43 9 0 0

Tiempo promedio 0.0673seg.

Desviacion estandar 0.0529

Tabla 4.2.1: La base Iris requirio de 4 iteraciones para encontrar 20 vectores de soporte y 0

errores de entrenamiento con un tiempo de entrenamiento de .0673 segundos.

55

Page 56: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Sonar Totales

Iteracion 1 2 3 4

Numero de Datos 20 40 60 71 208

Vectores de Soporte20 40 60 71 71

Errores 51 31 11 0 0

Tiempo promedio 0.3588seg.

Desviacion estandar 0.0505

Tabla 4.2.2: Sonar con 208 elementos necesito de0,3588 seg. para encontrar 71 vectores de

soporte y 0 error de entrenamiento.

Pima Indians Diabetes Totales

Iteracion 1 2 3 4 5 6 7

Numero de Datos 76 152 228 304 380 455 476 768

Vectores de Soporte 76 152 228 304 380 455 476 476

Errores 253 262 199 145 87 21 0 0

Tiempo promedio 5.4085seg.

Desviacion estandar 0.8083

Tabla 4.2.3: 7 iteraciones fueron necesarias para entrenar el conjunto Diabetes, donde mas del

50 % de los datos son vectores de soporte.

Tic Tac Toe Totales

Iteracion 1 2 3 4 5 6 7

Numero de Datos 95 190 285 380 454 479 484 958

Vectores de Soporte 95 190 285 380 454 479 484 484

Errores 349 217 152 75 25 4 0 0

Tiempo promedio 4.4576seg.

Desviacion estandar 0.6573

Tabla 4.2.4: Tic Tac Toe requirio de4,4576 seg. para encontrar 484 vectores de soporte.

56

Page 57: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

sto

.

Fonemas Totales

Iteracion 1 2 3 4 5 6 7 8

Numero de Datos 102 166 228 276 320 357 347 335 1027

Vectores de Soporte 63 126 174 218 260 299 319 326 326

Errores 249 314 240 175 111 48 16 0 0

Tiempo promedio 3.7297seg.

Desviacion estandar 0.3991

Tabla 4.2.5: El tiempo de entrenamiento de Fonemas fue menor que el de Tic Tac Toe y d

Diabetes aun cuando el numero de datos es mayor, esto a causa de que el numero de vectores de

soporte es reducido.

Adult Totales

Iteracion 1 2 3 4 5 6 7 8 9

Numero de Datos 147 293 439 578 719 842 872 890 904 1478

Vectores de Soporte146 291 430 572 715 840 871 887 903 903

Errores 839 488 512 290 129 32 18 16 0 0

Tiempo promedio 29.2773seg.

Desviacion estandar 6.0220

Tabla 4.2.6: Adult con 903 vectores de soporte de 1478 datos, necesito de 29.2773 seg. E

indica que a mayor numero de vectores de soporte, mayor es el tiempo de entrenamiento

requerido por la heurıstica que utiliza Perceptron.

Shuttle

Iteraciones 14

Datos 13633

Vectores de Soporte 558

Errores de entrenamiento 0

Tiempo promedio 72.6192seg.

Dev.Std 19.2047

Tabla 4.2.7: Shuttle con 13633 datos tardo 72.6192 seg. para encontrar 558 vectores de soporte

Aquı se observa que a menor numero de vectores de soporte menor tiempo de optimizacion.

57

Page 58: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

).

,

Chunk + Perceptron Chunk Tradicional SV M light

Iris .0673 .0542 .04

Sonar .3588 1.7309 .07

Diabetes 5.4085 14.1417 .34

Tic Tac Toe 4.4576 8.7887 .47

Fonemas 3.7297 11.2964 22.75

Adult 29.2773 70.8811 1.91

Shuttle 72.6192 - 394.52

Tabla 4.1: Tiempo promedio de los diferentes metodos.

4.2.2. ANALISIS DE RESULTADOS

Los resultados que se obtienen utilizando el Chunking-heurıstico con Perceptron son buenos,

ya que se mejora el tiempo promedio que reporta el algoritmo Chunking tradicional (Tabla 4.1

Ademas, los requerimientos de memoria del Chunking-heurıstico son mucho menores que el

Chunking tradicional.

Aun cuando estos resultados son buenos, es facil observar que el Perceptron no hace muy

buenas aproximaciones a la solucion deseada, prueba de esto son los conjuntos Fonemas e Iris

donde el numero de vectores de soporte que se encuentran en cada iteracion no es el mejor

resultado. La ventaja de esta heurıstica es que, durante las diferentes iteraciones se guıa al

algoritmo Chunking para que en encuentre la solucion.

Si se realiza una comparacion con el algoritmoSV M light, se observa que en bases de datos

sencillas como Iris, Sonar, Diabetes y Tic Tac Toe, la heurıstica propuesta realiza la optimizacion

en un mayor tiempo, pero en bases mas complicadas como Fonemas, Adult o Shuttle, se comporta

muy por encima deSV M light en cuestion de tiempo. Desafortunadamente, el consumo de memo-

ria de la heurıstica propuesta es mayor que la requerida porSV M light. El incremento de memoria

en esteultimo casi no es o observada, mientras que en la heurıstica propuesta el incremento es muy

notorio debido a lo siguiente:

* En la base de datos Adult, el numero de vectores de soporte es grande.

* En la base de datos Shuttle el numero de vectores de soporte es pequeno, pero el numero de

elementos en la base de datos es bastante grande.

58

Page 59: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

ci

4.3. INICIALIZACI ON DE LAS MSV UTILIZANDO PCB

El proceso de inicializacion de las MSV con la heurıstica definida en 3.3 y el algoritmo PCB

sera similar a la que se mostro en la seccion anterior, es decir utilizaremos la misma funcion

Kernel y los mismos parametros (gamma y C), de tal forma que se pueda realizar la comparaon

de ambas heurısticas bajo las mismas condiciones. Los parametros son: Kernel RBF, gamma de

0.5, C de 1000 y un 10 % del tamano de los conjuntos de trabajo.

4.3.1. RESULTADOS OBTENIDOS

En las siguientes tablas se muestra el desempeno del Chunking-heurıstico con PCB en cada

una de las iteraciones del algoritmo, para observar el comportamiento de la heurıstica durante todo

el proceso de optimizacion.

Iris Totales

Iteracion 1 2 3

Numero de Datos 15 22 26 150

Vectores de Soporte13 17 20 20

Errores 11 9 0 0

Tiempo promedio 0.0141seg.

Desviacion estandar 0.0053

Tabla 4.3.1: El numero de vectores de soporte que se encuentran en cada iteracion indica que

PCB hace muy buenas aproximaciones a la solucion.

Sonar Totales

Iteracion 1 2 3 4

Numero de Datos 20 40 60 85 208

Vectores de Soporte13 17 20 85 85

Errores 47 43 22 0 0

Tiempo promedio 0.1811seg.

Desviacion estandar 0.0247

Tabla 4.3.2: La heurıstica utiliza0,1811 seg. para optimizar la base Sonar con0 errores de

entrenamiento.

59

Page 60: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

es

Pima Indians Diabetes Totales

Iteracion 1 2 3 4 5 6 7

Numero de Datos 76 152 228 304 380 455 480 768

Vectores de Soporte 76 152 228 304 380 454 480 480

Errores 253 246 192 143 88 24 0 0

Tiempo promedio 4.7036seg.

Desviacion estandar 0.7018

Tabla 4.3.3: En el entrenamiento de la base Diabetes480 vectores de soporte se encuentran en

4,7036 seg.

Tic Tac Toe Totales

Iteracion 1 2 3 4 5 6

Numero de Datos 95 190 285 380 426 434 958

Vectores de Soporte 95 190 285 379 426 434 434

Errores 349 217 152 75 25 0 0

Tiempo promedio 3.1022seg.

Desviacion estandar 0.4836

Tabla 4.3.4: La heurıstica que utiliza PCB tarda6 iteraciones en entrenar la base Tic Tac Toe,

mientras que la que utiliza Perceptron tarda7 iteraciones (Tabla 4.2.4). Con una iteracion de

diferencia, el tiempo se disminuye en mas de1 segundo.

Fonemas Totales

Iteracion 1 2 3 4 5 6 7

Numero de Datos 102 193 257 312 361 369 347 1027

Vectores de Soporte 91 155 210 262 306 325 331 331

Errores 215 212 168 118 63 21 0 0

Tiempo promedio 3.2624seg.

Desviacion estandar 0.3352

Tabla 4.3.5:

Tabla 4.3.5: En el entrenamiento de Fonemas se obtuvieron 331 vectores de soporte los cual

representan un 32 % del total de la base de datos. Este porcentaje aunque no es tan pequeno,

provoca que la optimizacion se realize en tan solo 3.2624 seg.

60

Page 61: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Adult Totales

Iteracion 1 2 3 4 5 6 7

Numero de Datos 147 294 439 583 727 807 838 1478

Vectores de Soporte147 292 436 580 722 804 837 837

Errores 365 368 296 194 84 34 0 0

Tiempo promedio 23.3882seg.

Desviacion estandar 5.5869

Tabla 4.3.6: El tiempo de optimizacion de Adult utilizando PCB fue casi 6 segundos menor al

tiempo de optimizacion obtenido con Perceptron (Tabla 4.2.6), lo que indica un mejor desempeno

de la heurıstica que utiliza PCB.

Shuttle Total

Itera 1 2 3 4 5 6 7 8 9 10 11

Datos 40 80 120 160 200 240 280 320 360 440 516 13633

VS 40 80 120 160 200 240 280 320 360 440 516 516

Err 9478 8286 6961 1687 1511 1395 1324 835 125 73 0 0

Tiempo 33.7740seg.

Dev.Std 1.6146

Tabla 4.3.7: El mejor resultado obtenido por la heurıstica que utiliza PCB es en la base Shuttle,

ya que solo tardo 33.7740 seg. en encontrar 516 vectores de soporte, mientras que la heurıstica

que utiliza Perceptron tardo 72.6192 seg. y encontro 558 (Tabla 4.2.7).

Chunk + PCB Chunk + Perceptron Chunk Tradicional SV M light

Iris .0141 .0673 .0542 .04

Sonar .1811 .3588 1.7309 .07

Diabetes 4.7036 5.4085 14.1417 .34

Tic Tac Toe 3.1022 4.4576 8.7887 .47

Fonemas 3.2624 3.7297 11.2964 22.75

Adult 23.3882 29.2773 70.8811 1.91

Shuttle 33.7740 72.6192 - 394.52

Tabla 4.2: Tiempo promedio de los diferentes metodos.

61

Page 62: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

el

e la

ayor

atos

4.3.2. ANALISIS DE RESULTADOS

El rendimiento de la heurıstica de inicializacion de las MSV por medio de PCB tiene un mejor

desempeno que la heurıstica que utiliza Perceptron, esto debido a que la convergencia de PCB es

mas rapida que con Perceptron. Ademas, las aproximaciones que se realizan con PCB son mas

acertadas que con Perceptron. Lo anterior es facilmente observable con el numero de vectores de

soporte que se encuentran en las diferentes iteraciones, por ejemplo: en la primera iteracion de la

base de datos iris, Perceptron encuentra solo 5 vectores de soporte, mientras que la heurıstica que

utiliza PCB encuentra 13 vectores de soporte de 15 datos. Tambien, en la base de datos Fonemas

(considerada una base de datos difıcil en su entrenamiento), Perceptron encuentra 62 vectores de

soporte mientras que PCB encuentra 91 vectores de soporte de un total de 101 ejemplos.

El mejor comportamiento de este algoritmo se observa cuando el numero de datos es grande

y el numero de vectores de soporte pequeno, como es el caso de la base de datos Shuttle, dond

el tiempo de optimizacion es mucho menor que el tiempo que tarda la heurıstica con Perceptron,

Chunking tradicional oSV MLight.

Al utilizar esta heurıstica para el entrenamiento de la base de datos Adult, se observa que

tiempo de entrenamiento es mayor al tiempo que tardaSV MLight. Esto se debe a que el numero

de vectores de soporte de esta base de datos es grande, es decir, mas del 50 % de los datos son

vectores de soporte, lo que hace que el tiempo de entrenamiento se incremente al igual qu

memoria utilizada.

El consumo de memoria de la heurıstica que utiliza el algoritmo PCB es aceptable bajo ciertas

restricciones. Si se realiza una comparacion de la memoria consumida por esta heurıstica, entonces

se tiene que el consumo es mucho menor que el reportado por Chunking tradicional, pero es m

que el reportado porSV MLight. Los mayores incrementos de memoria observados en la utilizacion

de esta heurıstica son en los siguientes casos:

* Cuando del numero de vectores de soporte en la base de datos es grande (base de d

Adult).

* Cuando el numero de elementos de la base de datos es grande (base de datos Shuttle).

62

Page 63: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

re-

4.4. INICIALIZACI ON DE LAS MSV A TRAV ES DEL AL-GORITMO KERNEL-PERCEPTR ON

La funcion Kernel utilizada en las heurısticas anteriores mostro muy buenos resultados por lo

que, para probar la inicializacion de las MSV utilizando Kernel Perceptron, se utilizara la misma

funcion Kernel (RBF) pero, a diferencia de los metodos anteriores, ahora se cambiara el valor

del parametro gamma. El valor de gamma con el que Kernel-Perceptron reporte el menor tiempo

de optimizacion se utilizara para el entrenamiento del Chunking-heurıstico. Ademas, dado que la

heurıstica que utiliza PCB tuvo los mejores resultados, entonces se utilizara esa misma para el

entrenamiento del conjunto de datos obtenido.

4.4.1. RESULTADOS OBTENIDOS

En cada tabla, los resultados que se obtienen utilizando diferentes valores de gamma son p

sentados. Los valores a utilizar son: 0.5, 1, 2, 5, 10.

Iris

Gama 0.5 1 2

Error de entrenamiento 0 % 0 % 0 %

Vectores de Soporte 19 20 23

Iteraciones 49 373 27132

Tiempo promedio 0.0160 0.0940 4.6560

Dev. estandar .0247 .0931 .1751

Kernel-Perceptron + Chunking-heurıstico

Kperceptr Chunking Totales

Datos de entrenamiento 150 19 150

Vectores de Soporte 19 16 16

Tiempo .0160 0 .0160

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 3.3 % 3.3 %

Tabla 4.4.1: Aun cuando los tiempos de entrenamiento de Kernel Perceptron y de

Chunking-heurıstico son muy buenos, se tiene un error de generalizacion del3,3 %, por lo que se

deduce que los 19 datos encontrados por Kernel-Perceptron no fueron los adecuados para el

entrenamiento correcto de las MSV.

63

Page 64: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Base de datos Sonar + Kernel RBF

Gama 0.5 1 2

Error de entrenamiento 0 % 0 % 0 %

Vectores de Soporte 82 111 103

Iteraciones 225 262 688

Tiempo promedio .0470 01410 .3750

Dev. estandar .8400 .6438 .4654

Kernel-Perceptron + Chunking

Kperceptr Chunking Totales

Datos de entrenamiento 208 111 208

Vectores de Soporte 111 73 73

Tiempo .0141 .109 .1231

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.4.2: 111 patrones encuentra Kernel-Perceptron, los cuales se entrenan con

Chunking-heurıstico para obtiener 73 vectores de soporte y un error de generalizacion de 0 %.

Base de datos Diabetes + Kernel RBF

Gama 0.5 1 5 10

Error de entrenamiento 0 % 0 % 0 % 0 %

Vectores de Soporte 764 713 388 391

Iteraciones 993 891 391 565

Tiempo promedio 1.2820 1.1870 0.3440 .3910

Dev. estandar .3906 .2710 .6412 0.0111

Kernel-Perceptron + Chunking

Kperceptr Chunking Totales

Datos de entrenamiento 768 388 768

Vectores de Soporte 388 372 372

Tiempo .3440 2.562 2.906

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 13.54 % 13.54 %

Tabla 4.4.3: En la base de datos Diabetes, el error de generalizacion alcanza un 13.54 % .

64

Page 65: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

tra

a.

no

Base de datos Tic Tac Toe + Kernel RBF

Gama 0.5 1 2 5

Error de entrenamiento 0 % 0 % 0 % 0

Vectores de Soporte 310 280 333 488

Iteraciones 311 281 732 10203

Tiempo promedio .25 .2190 .5780 7.6410

Dev. estandar .1289 .4585 .2317 .7957

Kernel-Perceptron + Chunking

Kperceptr Chunking Totales

Datos de entrenamiento 958 310 958

Vectores de Soporte 310 298 298

Tiempo .25 1.485 1.735

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 2.4 % 2.4 %

Tabla 4.4.4: El error de generalizacion presente en el entrenamiento de Tic Tac Toe demues

que Kernel-Perceptron no encuentra el subconjunto con los vectores de soporte del problem

Base de datos Fonemas + Kernel RBF

Gama 0.5

Error de entrenamiento 0 %

Vectores de Soporte 348

Iteraciones 2643

Tiempo promedio 1.9370

Dev. estandar .8142

En el entrenamiento de la base de datos Fonemas, el algoritmo Kernel-Perceptron solo funciona

con un valor de gamma de0,5 ya que, si se aumenta o se disminuye el este valor, el algoritmo

converge. Lo anterior implica que Kernel-Perceptron requiere de una funcion Kernel adecuada para

su convergencia. Los resultados de la combinacion de Kernel-Perceptron con Chunking-heurıstico

se muestran en la siguiente tabla.

65

Page 66: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

e

r de

Kernel-Perceptron + Chunking

Kperceptr Chunking Totales

Datos de entrenamiento 1027 348 1027

Vectores de Soporte 348 288 288

Tiempo 1.9370 1.578 3.515

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 1.16 % 1.16 %

Tabla 4.4.5: El tiempo total de optimizacion de la base Fonemas fue muy pequeno, sin embargo

siguen presentes problemas de generalizacion.

Base de datos Shuttle + Kernel RBF

Gama 0.5 1 5 10

Error de entrenamiento 0 % 0 % 0 % 0 %

Vectores de Soporte 4522 1138 160 149

Iteraciones 4734 1139 163 177

Tiempo promedio 94.8430 20.9690 1.7038 1.6250

Dev. estandar 0.1845 .7878 .7015 .7218

El entrenamiento de la base de datos Shuttle con Kenel-Perceptron reporta el menor tiempo

utilizando un valor de gamma de 10. Con este parametro se encontraron 149 vectores de soport

por lo que es muy probable que al entrenar con Chunking-heurıstico se tenga error de general-

izacion. Para evitar lo anterior se decide utilizar el valor de gamma de1 con el que se encontraron

1138 vectores de soporte, esto con el objetivo de disminuir la probabilidad de encontrar erro

generalizacion. Los resultados se muestran a continuacion:

Kernel-Perceptron + Chunking

Kperceptr Chunking Totales

Datos de entrenamiento 13633 1138 13633

Vectores de Soporte 1138 231 231

Tiempo 20.9690 1.359 22.328

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.4.6: El comportamiento de Kernel-Perceptron en la base de datos Shuttle es muy

bueno, ya que al combinarlo con Chunking-heurıstico se tiene un tiempo total de optimizacion

menor que con las otras heurısticas, ademas de que se tiene 0 % de error de generalizacion.

66

Page 67: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

Tac Toe

e de

ja

ia

s de

Kernel-Perceptron Chunk + PCB Chunk Tradicional SV M light

Iris .0160 .0141 .0542 .04

Sonar .1231 .1811 1.7309 .07

Diabetes 2.906 4.7036 14.1417 .34

Tic Tac Toe 1.735 3.1022 8.7887 .47

Fonemas 3.515 3.2624 11.2964 22.75

Adult - 23.3882 70.8811 1.91

Shuttle 22.328 33.7740 - 394.52

Tabla 4.3: Tiempo promedio de los diferentes metodos.

4.4.2. ANALISIS DE RESULTADOS

La heurıstica de inicializacion que utiliza Kernel-Perceptron como clasificador preliminar

muestra excelentes resultados en algunas bases de datos como es el caso de Diabetes, Tic

y Shuttle donde el tiempo promedio de optimizacion fu menor que el reportado con la heurıstica

que utiliza PCB.

En bases como Iris y Sonar, se observa un comportamiento similar a las diferentes heurısticas.

Desafortunadamente, en bases mas complejas como Fonemas, solo existe un valor de gamma

con el que el algoritmo obtiene la solucion, mientras que con la base Adult, el algoritmo no

encuentra solucion. En estas mismas bases de datos se reporta un incremento muy grand

memoria, esto debido a que el numero de iteraciones tambien ha incrementado.

En la parte de consumo de memoria, solo se tiene un aumento considerable cuando se traba

con bases de datos complicadas donde el numero de iteraciones necesarias para la convergenc

del algoritmo aumenta.

4.5. INICIALIZACI ON DE LAS MSV CON KSK

Para evaluar el desempeno de la heurıstica de inicializacion utilizando KSK se utiliza como en

los metodos anteriores el Kernel de base de radial (RBF) y se decide utilizar diferentes valore

gamma. Los valores degammaprobados son: 0.5, 1, 2, 5 y 10.

67

Page 68: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

r de

os

4.5.1. RESULTADOS OBTENIDOS

Los puntos a considerar para la evaluacion del algoritmo KSK son: numero de Kernel-

evaluaciones, el error de entrenamiento, el numero de vectores de soporte encontrados, el numero

de iteraciones y el tiempo promedio de la optimizacion. En la combinacion del metodo KSK con

el algoritmo Chunking-heurıstico, los puntos importantes son: el numero de datos con los que

trabajo cada algoritmo, los vectores de soporte encontrados por cada uno, el tiempo, el erro

entrenamiento de cada algoritmo y el error de generalizacion que se obtiene al combinar ambos

metodos.

Iris

Gama 0.5 1 2 5

Kernel evaluaciones 1306986 8513462 16159374 19081514

Error de entrenamiento 0 % 0 % 0.0133 % 0.0133

Vectores de Soporte 43 21 17 15

Iteraciones 8543 55985 106292 125519

Tiempo promedio .5391 3.1100 5.7660 7.0160

Dev. estandar .0443 .9033 1.7551 1.2199

Kernel Schlesinger-Kozinec + Chunking-heurıstico

KSK Chunking Totales

Datos de entrenamiento 150 43 150

Vectores de Soporte 43 18 18

Tiempo .5391 0 .5391

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.5.1: El tiempo de entrenamiento de la base de datos Iris con la heurıstica que utiliza

KSK reporta el mayor tiempo de aprendizaje en comparacion con los otros metodos.

Como puede observarse en la tabla anterior, el numero de Kernel-evaluaciones que realiza KSK

es grande, lo cual se ve reflejado en el tiempo de entrenamiento total de la heurıstica. La parte

importante a notar de esta heurıstica es que los patrones encontrados por KSK si contienen a l

vectores de soporte del problema y, como consecuencia, el tiempo de optimizacion del Chunking-

heurıstico es notablemente reducido.

68

Page 69: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

nde

Base de datos Sonar + Kernel RBF

Gama 0.5 1 2 5

Kernel evaluaciones 779578 2536529 9532523 32408368

Error de entrenamiento 0 % 0 % 0 % 0 %

Vectores de Soporte 181 122 96 91

Iteraciones 3376 11886 45253 154195

Tiempo promedio .8910 2.9370 10.8750 36.9690

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento 208 122 208

Vectores de Soporte 122 69 69

Tiempo 2.9370 .062 2.999

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.5.2: El numero de iteraciones que utiliza KSK en el entrenamiento de Sonar es gra

para ser una base de datos tan pequena.

Base de datos Diabetes + Kernel RBF

Gama 0.5 1 5 10

Kernel evaluaciones 1771007 1771007 4077373 11540718

Error de entrenamiento 0 % 0 % 0 % 0 %

Vectores de Soporte 768 768 756 641

Iteraciones 767 768 3798 13814

Tiempo promedio 2.1375 2.7812 4.1560 5.6953

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento 768 641 768

Vectores de Soporte 641 481 481

Tiempo 5.6953 4.906 10.6013

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.5.3: Al entrenar Diabetes con KSK se encuentran 641 vectores de soporte.

69

Page 70: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

mien-

ue KSK

La optimizacion de la base datos diabetes utilizando KSK encuentra 641 vectores de soporte,

tras que los vectores de soporte del problema son 481. Esta diferencia de 160 datos indica q

tiene sobre-aprendizaje

Base de datos Tic Tac Toe + Kernel RBF

Gama 0.5 1 2 5

Kernel evaluaciones 3188167 10003838 37470862 191980862

Error de entrenamiento 0 % 0 % 0 % 0

Vectores de Soporte 958 761 349 249

Iteraciones 1408 9057 38556 199666

Tiempo promedio 1.3515 4.3719 16.2672 79.3094

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento 958 349 958

Vectores de Soporte 349 165 165

Tiempo 16.2672 .407 16.6742

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0.1044 % 0.1044 %

Tabla 4.5.4: El tiempo que tardo Chunking en entrenar el conjunto encontrado por KSK fue

0.407 seg., con lo que se demuestra que si se entrena Chunking solo con los vectores de soporte,

entonces se disminuye el tiempo de entrenamiento.

Base de datos Fonemas + Kernel RBF

Gama 0.5 1 2 5

Kernel evaluaciones 46029226 151158098 7361527 500470411

Error de entrenamiento 0 % .0078 % 0.0828 % 0.1451

Vectores de Soporte 442 390 449 523

Iteraciones 44100 146360 312011 485577

Tiempo promedio 19.3251 61.4261 139.0545 186.6090

70

Page 71: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

o a las

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento 1027 442 1027

Vectores de Soporte 442 322 322

Tiempo 19.3251 2.047 21.3721

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0.1294 % 0.1294 %

Tabla 4.5.5: El tiempo de entrenamiento de Fonemas se eleva considerablemente, debid

diferentes Kernel-evaluaciones que realiza KSK.

Base de datos Adult + Kernel RBF

Gama 0.5 1 5 10

Kernel evaluaciones 170607898 157468943 430445134 667329207

Error de entrenamiento .0081 % 0.0081 % 0.0230 % .0893 %

Vectores de Soporte 1451 1226 637 654

Iteraciones 112403 104157 289930 449955

Tiempo promedio 101.6880 84.0310 225.6250 336.5320

Dev. estandar 0.0418 .07287 .5070 .6172

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento 1478 637 1478

Vectores de Soporte 637 637 637

Tiempo 225.6250 59.344 284.969

Error de Entrenamiento .0230 % 6.42.20 % 6.4220 %

Error de Generalizacion 0.1947 % 0.1947 %

Tabla 4.5.6: El entrenamiento de la base Adult es launica que presenta error en el

entrenamiento y, por consecuencia, error al generalizar, ademas de que el tiempo de

entrenamiento es muy alto.

71

Page 72: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

a las

Base de datos Shuttle + Kernel RBF

Gama 0.5 1 5 10

Kernel evaluaciones 557603332 526546754 147549278 151158697

Error de entrenamiento 0 % 0 % 0 % 0 %

Vectores de Soporte 13633 12195 2001 574

Iteraciones 13632 15516 8526 10487

Tiempo promedio 749.3750 584.5940 84.0160 87.1410

Dev. estandar 0.5418 .7787 .1570 .1672

Kernel Schlesinger-Kozinec + Chunking

KSK Chunking Totales

Datos de entrenamiento13633 574 13633

Vectores de Soporte 574 193 193

Tiempo 87.141 .391 87.532

Error de Entrenamiento 0 % 0 % 0 %

Error de Generalizacion 0 % 0 %

Tabla 4.5.7: El tiempo de entrenamiento de Fonemas se eleva considerablemente, debido

diferentes Kernel-evaluaciones que realiza KSK.

KSK Kernel-Perceptron Chunk + PCB Chunk Tradicional SV M light

Iris .5391 .0160 .0141 .0542 .04

Sonar 2.99 .1231 .1811 1.7309 .07

Diabetes 10.6013 2.906 4.7036 14.1417 .34

Tic Tac Toe 16.6742 1.735 3.1022 8.7887 .47

Fonemas 21.3721 3.515 3.2624 11.2964 22.75

Adult 284.969 - 23.3882 70.8811 1.91

Shuttle 87.532 22.328 33.7740 - 394.52

Tabla 4.4: Tiempo promedio de los diferentes metodos.

72

Page 73: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

el

e

el

4.5.2. ANALISIS DE RESULTADOS

La heurıstica de inicializacion de las MSV por medio de KSK es la heurıstica que reporta

los tiempos mas grandes de optimizacion. Incluso comparando con el algoritmo Chunking tradi-

cional, esta heurıstica consume mas tiempo. La inicializacion de las MSV a traves de KSK tiene

desventajas en comparacion con las otras heurısticas, dichos problemas causan que el tiempo de

entrenamiento aumente considerablemente. Las desventajas de la heurıstica son:

* Un gran numero de iteraciones para llegar aloptimo.

* El numero de Kernel-evaluaciones es mayor que en la heurıstica que utiliza Kernel-

Perceptron.

De la misma manera, esta heurıstica tiene la ventaja de que el conjunto de patrones obtenidos

sı contiene a los vectores de soporte del problema, lo cual implica que el entrenamiento d

algoritmo Chunking se realiza en muy poco tiempo. Desafortunadamente, el poco tiempo qu

tarda Chunking en optimizar es insuficiente para compensar el alto tiempo de aprendizaje d

algoritmo KSK.

Como se pudo observar el las tablas anteriores, se presenta un error de generalizacion en el

entrenamiento de bases como: Tic-Tac-Toe, Fonemas y Adult. Dicho error de generalizacion es

muy pequeno, por lo que no se considera que sea un problema en la heurıstica.

73

Page 74: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

o

nto

l

ce

r a

i

5. CONCLUSIONES

Las Maquinas de Soporte Vectorial representan un metodo que da solucion al problema de

clasificacion de datos presente en diferentesareas de las ciencias computacionales. Este metodo, a

pesar de tener caracterısticas que lo hacen robusto, tiene como desventajas el tiempo de comput

y la memoria necesarios para la solucion de problemas, en los que el volumen de datos es grande.

Ası, actualmente existe un esfuerzo constante por mejorar el desempeno de este metodo con lo

que se abren diferentes lıneas de investigacion.

En esta investigacion se abordo un enfoque heurıstico para mejorar el rendimiento de las

MSV, de tal forma que se lograron implementar diferentes heurısticas para disminuir el tiempo de

entrenamiento de las MVS, ademas de reducir los requerimientos de memoria del metodo. La idea

principal fue obtener soluciones preliminares mediante las cuales se pudo identificar facilmente un

conjunto de datos reducido que contiene los vectores de soporte del problema. Dicho subconju

se utilizo para realizar el entrenamiento de las MSV y ası obtener la solucion global del problema.

Debido a las caracterısticas de los vectores de soporte, fue posible asegurar que al realizar e

entrenamiento de las MVS con el conjunto de datos encontrado, obtener la misma solucion que al

realizar el entrenamiento con el conjunto de datos original, pero con la ventaja de que se redu

tanto el tiempo de entrenamiento como el espacio de almacenamiento requerido. Para lleva

cabo el entrenamiento de las MSV, se decidio utilizar el algoritmo Chunking, el cual consiste en

dividir el problema en sub problemas que se resuelven iterativamente hasta encontrar la solucon

Page 75: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

la

s por

e

a que

do el

no s

optima. Los sub problemas se forman de manera aleatoria por lo que es precisamente ahı donde

se pueden incorporar las soluciones preliminares obtenidas y obtener un Chunking-heurıstico que

evite las desventajas de las MSV.

Las heurısticas desarrolladas para mejorar el rendimiento de las MSV fueron:

* Inicializacion de las MSV utilizando el algoritmo Perceptron.

* Inicializacion de las MSV mediante el algoritmo PCB.

* Inicializacion por medio de Kernel Perceptron.

* Inicializacion con Kernel Schlesinger-Kozinec.

Diferente pruebas se realizaron con cada heurıstica con lo que se concluye lo siguiente:

Inicializaci on de las MSV utilizando el algoritmo Perceptron. Esta heurıstica mejora el

desempeno del algoritmo Chunking tradicional, tanto en tiempo de entrenamiento como en

memoria utilizada. Los resultados a pesar de ser buenos, no mejoran los tiempos reportado

el metodoSV M light en bases de datos pequenas. En el caso de bases de datos de mayor tamano

o de mayor complejidad con pocos vectores de soporte, se observo que la heurıstica si mejora el

tiempo de entrenamiento utilizado porSV M light pero con la desventaja de que el consumo d

memoria se eleva considerablemente, debido a que se trata con mas de10, 000 patrones. Con lo

anterior se puede concluir que esta heurıstica sı cumple con el objetivo de disminuir el tiempo de

entrenamiento de bases de datos en las que el conjunto de vectores de soporte es solo una pequena

porcion del total de patrones. Desafortunadamente, aun cuando la cantidad de memoria utilizada

es menor que la que utiliza Chunking tradicional, esta sigue siendo un problema fuerte cuando se

trata con grandes volumenes de datos.

Inicializaci on de las MSV mediante el algoritmo PCB. Esta heurıstica no solo mejora

los resultados del Chunking tradicional, si no que ademas mejora los resultados de la heurıstica

que utiliza Perceptron. El proceso de optimizacion de esta heurıstica muestra que el numero de

vectores de soporte que se encuentran en cada iteracion es mayor al encontrado por la heurıstica

con Perceptron. Ademas, en bases de datos grandes con pocos vectores de soporte se observ

se tiene una disminucion de tiempo considerable pero, al igual que con Perceptron, el consumo de

memoria es alto. Con los resultados de la base de datos Adult, se puede concluir que cuan

numero de vectores de soporte es un porcentaje considerable de la base de datos, entoncesolo

75

Page 76: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

.

uir el

s

a que

que

e

ma

e en-

r

se incrementa el consumo de memoria sino que tambien incrementa el tiempo de entrenamiento

Porultimo se concluye que esta heurıstica tambien cumple con el objetivo de disminuir el tiempo

de entrenamiento de las MSV y, bajo ciertas restricciones, se cumple el objetivo de dismin

consumo de memoria.

Inicializaci on por medio de Kernel Perceptron. Los resultados de la inicializacion con

esta heurıstica muestran tiempos de optimizacion muy buenos pero, se tienen dos problema

importantes: a) la convergencia solo se logra con ciertos valores dados a la funcion Kernel,

b) existen casos en los que el algoritmo no converge. La idea de esta inicializacion fue hacer

aproximaciones en el mismo espacio dimensional en el que se utiliza Chunking, de tal form

un mayor numero de vectores de soporte fueran encontrados. Esto no se logro ya que aun cuando

se busca en el mismo espacio dimensional, Kernel-Perceptron no es un clasificador de margen

maximo, por lo que la solucion encontrada puede estar cerca o lejos de la solucion de las MSV. En

conclusion, el objetivo de disminuir el tiempo de entrenamiento de las MSV si se cumple, ya

el error encontrado no es muy significativo. El consumo de memoria es muy similar a la heurıstica

que utiliza PCB o Perceptron por lo que la disminucion del requerimiento de memoria se cumpl

con la restriccion de que en bases de datos grandes esta puede crecer demasiado.

Inicializaci on con Kernel Schlesinger-Kozinec. Con esta heurıstica, se observo que los vec-

tores de soporte son facilmente identificados. La afirmacion anterior se debe a que tanto los meto-

dos de clasificacion preliminar como el algoritmo Chunking se encuentran trabajando en la mis

dimension y ademas KSK es un algoritmo de margen maximo por lo que la solucion encontrada es

muy similar a la de las MSV. Sin embargo se presentaron dos desventajas al utilizar esta heurıstica:

* Las diferentes Kernel-evaluaciones de KSK aumentan considerablemente el tiempo d

trenamiento, por lo que se afirma que esta heurıstica no cumplen con el objetivo de reduci

el tiempo de entrenamiento de las MSV.

* El espacio de almacenamiento es mayor con respecto a las heurısticas que utilizan PCB o

Perceptron pero, es menor con respecto al entrenamiento tradicional de las MSV. Ası, el

objetivo de disminuir los requerimientos de memoria se cumplen con cierta restriccion.

76

Page 77: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

:

e

de

En conclusion, las heurısticas que cumplen con los objetivos de esta tesis son las que utilizan

Perceptron, PCB y Kernel-Perceptron en algunos casos, recalcando que la heurıstica que utiliza

PCB mostro el mejor desempeno. En contraste, la principal desventaja de esta investigacion,

es que las heurısticas utilizadas siguen calculando y almacenando la matriz hessiana, por lo

que, en problemas en los que el numero de vectores de soporte es tan grande como patrones

tiene la base de datos, existen todavıa problemas de almacenamiento y de tiempo de entrenamiento.

En el trabajo realizado se obtuvieron resultados satisfactorios, cumpliendose los objetivos

planteados al inicio de la investigacion, sin embargo, el campo de estudio no termina ahı, por

lo que a continuacion se listan las posibles mejoras que pueden ser aplicadas a las heurısticas

desarrolladas:

* Uno de los principales retos a vencer fue la seleccion adecuada de la funcion Kernel, con lo

que se afirma que se tiene abierta una fuerte lınea de investigacion en la cual se desarrollen

metodos o heurısticas que permita identificar cual es la funcion Kernel adecuada para cada

problema. En gran parte, la convergencia de nuestro algoritmo estuvo en funcion del Kernel

seleccionado. En esta investigacion, se utilizaron funciones de base radial (RBF) para las

diferentes pruebas observando los siguientes resultados:

o Se obtuvieron buenos resultados en el entrenamiento de las MSV al utilizar bases d

datos grandes y pequenas.

o Al combinar este tipo de funciones con las MSV se evito el problema de encontrar

estructuras sobre-dimensionadas (con sobre-aprendizaje).

* Si se logra combinar la caracterıstica de poco consumo de memoria del metodoSV M light

con la velocidad de entrenamiento de la heurıstica que utiliza PCB, se puede obtener un

metodo robusto que entrene problemas con grandes cantidades de datos y de vectores

soporte (mas de 10, 000).

Porultimo, el trabajo futuro de esta investigacion se enfoca hacia los siguientes puntos:

* Extender el uso de las heurısticas desarrolladas para tratar problemas de multi-clasificacion

de datos (en lugar de haber 2 salidas{1,−1}, tenern salidas{1, 2, ..., n}).

* Utilizar las heurısticas para dar solucion a modelos de regresion o a problemas de estimacion

de densidad.

77

Page 78: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

n

r

BIBLIOGRAF IA

[1] N. Friedman. Bayesian Network Classifier.Machine Learning, 29, 131-161, 1997.

[2] Ljucpo Todorovski. Combining Classifiers with Meta Decision Trees.Machine Learning,

50, 223-249, 2003.

[3] Scott E. Fahlman and C. Lebiere. The Cascade-Correlation learning architecture.Technical

report CMU-CS-90-100, 1991.

[4] V. Vapnik. Theory of Pattern Recognition.Akademie-Berlag, 1979.

[5] B. E. Boser, I. Guyon and V. Vapnik. A training algorithm for optimal margin classifiers.

Proceedings of the 5th Annual ACM Workshop on Computational learning Theory, 144-152,

1992.

[6] F. Rosenblatt. The Perceptron: a probabilistic model for information storage and organizatio

in the brain.Psychological review, 65(6), 386-408, 1958.

[7] Franc Vojtech and Vaclav Hlavac. Generalization of the Schlesinger-Kozinec´s algorithm fo

Support Vector Machines.Center of Machine Perception, CTU Prague.

[8] B. N. Kozinec. Recurrent algorithm for separating convex hulls of two sets.Learning algo-

rithms in pattern recognition, 43-50, 1973.

[9] H. Poulard and D. Esteve. Barycentric Correction Procedure: A fast method of learning

threshold unit.World Congress on Neuronal Networks, 1, 710-713, 1995.

[10] Adam Kowalczyk. Maximal Margin PerceptronMIT Press, Cambridge, MA, 1999.

[11] E. Osuna, R. Freund and F. Girosi. An improved training algorithm for Support Vector Ma-

chines.Neural Networks for Signal Processing, 7, 276-285, 1997.

[12] J. C. Platt. Sequential Minimal Optimization: A fast algorithm for training Support Vector

Machines.Technical Report MSR-TR-98-14, 1998.

[13] Joachims Thorsten. Making Large-Scale SVM Learning Practical.Technical Report LS-8

report 24, 1998.

Page 79: HEURISTICAS EN LA OPTIMACI´ ON DE´ MAQUINAS DE SOPORTE ...

[14] A. Murtagh and M. Saunders. MINOS 5.4, User´s Guide.System Optimization Laboratory,

1995.

[15] J. Vanderbei. LOQO: An interior point code for quadratic programming.Technical Report

SOR, 94-15, 1994.

[16] P. M. Murphy and D. W. Aha. UCI Repository for machine learning databases.ml-

[email protected], 1996.

79