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
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
5. Conclusiones 74
3
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
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
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
-
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
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
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
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
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.
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
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
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
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
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
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
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
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
-
,
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
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:
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
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
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
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
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
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
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
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
).
,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
.
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
:
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
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.
[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