• No se han encontrado resultados

Heurísticas en la Optimización de Máquinas de Soporte Vectorial

N/A
N/A
Protected

Academic year: 2017

Share "Heurísticas en la Optimización de Máquinas de Soporte Vectorial"

Copied!
82
0
0

Texto completo

(1)

Monterrey, Nuevo León a 13 de Mayo de 2005.

Lic. Arturo Azuara Flores:

Director de Asesoría Legal del Sistema

Por medio de la presente hago constar que soy autor y titular de la obra titulada "Heurísticas en la Optimación de Máquinas de Soporte Vectorial", en lo sucesivo LA OBRA, en virtud de lo cual autorizo a el Instituto Tecnológico y de Estudios Superiores de Monterrey (EL INSTITUTO) para que efectúe la divulgación, publicación, comunicación pública, distribución y reproducción, así como la digitalización de la misma, con fines académicos o propios al objeto de EL INSTITUTO.

El Instituto se compromete a respetar en todo momento mi autoría y a otorgarme el crédito correspondiente en todas las actividades mencionadas anteriormente de la obra.

(2)

Heurísticas en la Optimización de Máquinas de Soporte

Vectorial

Title Heurísticas en la Optimización de Máquinas de Soporte Vectorial

Authors García Gamboa, Angel L. Issue Date 01/09/2004

Abstract Gracias a los avances tecnológicos presentes en la actualidad se ha impulsado el estudio de aplicaciones y técnicas de clasificación de datos. El problema de clasificación de datos surge a partir de la necesidad de categorizar información presente en la vida real como caras, texto, enfermedades, mÚsica, etc. Actualmente existen diversas comunidades de investigación que trabajan en el desarrollo de aplicaciones que requieren clasificación de datos convirtiéndose en una de las principales áreas de estudio para la inteligencia artificial.

Discipline Ingeniería y Ciencias Aplicadas / Engineering & Applied Sciences

Item type Tesis ???pdf.cover.sheet

.thesis.degree.nam e???

Maestría en Ciencias Computacionales

???pdf.cover.sheet .dc.contributor.adv isor???

Dr. Neil Hernández Gress

(3)

???pdf.cover.sheet .thesis.degree.prog ram???

Campus Estado de México

Rights Open Access

Downloaded 18-Jan-2017 06:59:48

(4)

INSTITUTO TECNOL ´OGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

HEUR´ISTICAS EN LA OPTIMACI ´

ON DE

M ´

AQUINAS DE SOPORTE VECTORIAL

TESIS QUE PARA OPTAR EL GRADO DE MAESTRO EN CIENCIAS COMPUTACIONALES

PRESENTA

ARIEL LUCIEN GARC´IA GAMBOA

Asesor: DR. NEIL HERN ´ANDEZ GRESS Comit´e de tesis: DR. JAIME MORA VARGAS

DR. MIGUEL GONZ ´ALEZ MENDOZA

Jurado: DR. JAIME MORA VARGAS Presidente DR. MIGUEL GONZ ´ALEZ MENDOZA Secretario DR. NEIL HERN ´ANDEZ GRESS Vocal

(5)

´INDICE GENERAL

1. Introducci´on 4

2. Estado del Arte 8

2.1. Las M´aquinas de Soporte Vectorial . . . 8

2.1.1. Principio de Minimizaci´on del Riesgo Emp´ırico . . . 8

2.1.2. Principio de Minimizaci´on del Riesgo Estructural . . . 11

2.1.3. Las MSV lineales y el caso linealmente separable . . . 11

2.1.4. Las MSV lineales y el caso no linealmente separable . . . 18

2.1.5. Las MSV no-lineales . . . 20

2.2. Estrategias de soluci´on para las M´aquinas de Soporte Vectorial . . . 22

2.2.1. Chunking . . . 24

2.2.2. Algoritmo deOsuna . . . 26

2.2.3. Optimizaci´on Secuencial M´ınima . . . 28

2.3. Algoritmo Perceptr´on . . . 29

2.3.1. Kernel-Perceptr´on: extensi´on del Perceptr´on a funcionesKernel . . . 30

2.4. Algoritmo de Schlesinger-Kozinec . . . 31

2.4.1. KSK: la extensi´on del algoritmo Schlesinger-Kozinec a funcionesKernel . 34 2.5. Procedimiento de correcci´on de baricentros (PCB) . . . 35

3. Heur´ısticas de optimizaci´on para las M´aquinas de Soporte Vectorial 39 3.1. Inicializaci´on de las M´aquinas de Soporte Vectorial con la ayuda del Perceptr´on . . 42

3.2. Inicializaci´on de las M´aquinas de Soporte Vectorial mediante el algoritmo PCB . . 45

3.3. Otra heur´ıstica que mejora el uso del Perceptr´on y del PCB en la inicializaci´on de las M´aquinas de Soporte Vectorial . . . 46

3.3.1. Problemas encontrados . . . 46

3.4. Inicializaci´on de las M´aquinas de Soporte Vectorial por medio de Kernel-Perceptr´on 48 3.5. Inicializaci´on de las M´aquinas de Soporte Vectorial utilizando KSK . . . 48

4. Experimentaci´on y An´alisis de Resultados 49 4.1. Bases de datos a utilizar para probar las diferentes heur´ısticas . . . 49

4.2. Inicializaci´on de las MSV por medio del algoritmo Perceptr´on . . . 55

4.2.1. Resultados obtenidos . . . 55

4.2.2. An´alisis de Resultados . . . 58

4.3. Inicializaci´on de las MSV utilizando PCB . . . 59

4.3.1. Resultados obtenidos . . . 59

4.3.2. An´alisis de Resultados . . . 62

4.4. Inicializaci´on de las MSV a trav´es del algoritmo Kernel-Perceptr´on . . . 63

4.4.1. Resultados obtenidos . . . 63

4.4.2. An´alisis de Resultados . . . 67

4.5. Inicializaci´on de las MSV con KSK . . . 67

4.5.1. Resultados obtenidos . . . 68

(6)
(7)

1.

INTRODUCCI ´

ON

Gracias a los avances tecnol´ogicos presentes en la actualidad se ha impulsado el estudio de aplicaciones y t´ecnicas de clasificaci´on de datos. El problema de clasificaci´on de datos surge a partir de la necesidad de categorizar informaci´on presente en la vida real como caras, texto, enfermedades, m´usica, etc.

Actualmente existen diversas comunidades de investigaci´on que trabajan en el desarrollo de aplicaciones que requieren clasificaci´on de datos convirti´endose en una de las principales ´areas de estudio para la inteligencia artificial.

La clasificaci´on consiste en proporcionar nuevos datos al sistema para que ´este los etiquete utilizando el conjunto de clases disponibles. Las diferentes fases para llevar a cabo este proceso son: la adquisici´on de los datos, el aprendizaje del clasificador y la evaluaci´on del mismo. Los puntos que se consideran para evaluar un clasificador son exactitud, rapidez y tiempo de aprendizaje.

(8)

sugiere el uso de las M´aquinas de Soporte Vectorial (MSV).

Las M´aquinas de Soporte Vectorial aseguran que la soluci´on obtenida al clasificar un conjunto de datos es la mejor. Desafortunadamente el entrenamiento de las MSV es muy lento adem´as de que se trata de un m´etodo complejo tanto en su proceso interno como en su implementaci´on. Las MSV fueron desarrolladas por Vladimir Vapnik, [4], como una potente herramienta en el ´area de reconocimiento de patrones. Este m´etodo, adem´as de ser utilizado en clasificaci´on, se utiliza en tareas de regresi´on y en estimaci´on de todo tipo funciones.

En tareas de clasificaci´on, se sabe que dentro del conjunto de datos a clasificar existen elementos clave que permiten identificar a que clase pertenece cada dato. Dichos elementos son llamados vectores de soporte y son estos el objetivo de b´usqueda de las MSV ya que mediante ellos se determina si un elemento del conjunto pertenece a una clase o a otra. Adem´as, es necesario enfatizar que, para clasificar un conjunto de patrones, los ´unicos datos necesarios son los vectores de soporte y no el conjunto de datos completo.

En el desarrollo las MSV se ve involucrada la resoluci´on de un problema de programaci´on cuadr´atico identificado por una matriz cuadrada, semidefinida positiva y densa (hessiana). La

com-plejidad del problema cuadr´atico crece de manera exponencial O(n2) seg´un aumenta el numero

de observaciones. En problemas en los que el n´umero de datos es grande, el calculo del hessiana

es muy dif´ıcil adem´as de que su almacenamiento no es posible en cualquier equipo de computo. Lo anterior implica que la soluci´on de las MSV sea un proceso lento el cual puede tardar d´ıas, por lo que es necesario encontrar m´etodos o heur´ısticas que permitan acelerar este proceso de soluci´on.

Para evadir el problema del tiempo de entrenamiento de las MSV, Vapnik desarroll´o un m´etodo que divide el problema en sub problemas para los que se encuentran los vectores de soporte. As´ı, las diferentes soluciones encontradas son combinadas hasta encontrar la soluci´on 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

(9)

notoria-mente.

* En los subconjuntos formados no se encuentra ninguno de los vectores de soporte por lo que el tiempo de entrenamiento se incrementa de manera exponencial.

Debido a que este m´etodo es aleatorio, es necesario desarrollar procedimientos heur´ısticos que aseguren el correcto funcionamiento del algoritmo, lo que tiene como consecuencia la disminuci´on del tiempo de entrenamiento de las M´aquinas de Soporte Vectorial.

Por otro lado, existen diferentes m´etodos como: Perceptr´on [6], Schlesinger-Kozinec [7], [8] y Procedimiento de Correcci´on de Baricentros (PCB), [9], los cuales trabajan sobre bases de datos linealmente separables y cuyo resultado es un hiperplano que separa correctamente un conjunto de datos en dos clases. La idea es aprovechar las ventajas de estos m´etodos para seleccionar los patrones m´as cercanos al hiperplano y, entonces, identificar los vectores de soporte antes de realizar el entrenamiento de las MSV. As´ı, se puede realizar el entrenamiento de las MSV con un conjunto de datos de tama˜no reducido del cual se tiene la certeza que contiene los vectores de soporte, por lo que el entrenamiento se realiza muy r´apido y la soluci´on deseada es obtenida. La desventaja de utilizar los m´etodos antes mencionados es que trabajan con bases de datos linealmente separables por lo que su aplicaci´on en problemas reales no es muy ´util. Debido a lo anterior, se ve la necesidad de extender el uso de estos m´etodos al caso no linealmente separable, por lo que se trabajara con m´etodos como Kernel-Perceptr´on [10], Kernel Schlesinger-Kozinec [7], [8] y una extensi´on del algoritmo PCB [9] al caso no linealmente separable.

El objetivo principal de esta investigaci´on es mostrar los diferentes resultados obtenidos al utilizar diversos m´etodos basados en heur´ısticas para reducir el tiempo de entrenamiento las MSV. La hip´otesis es combinar los m´etodos antes mencionados con la estrategia de Vapnik, de tal forma que se tenga unChunking-heur´ıstico en el que los subconjuntos de trabajo se formen con datos que

representen los mejores candidatos a ser vectores de soporte, entonces el tiempo de entrenamiento de las MSV ser´a reducido.

Algunas otras ideas para tratar las desventajas de las MSV han sido desarrolladas y son comentadas en [11] y [12].

(10)

este cap´ıtulo se presentan algunos m´etodos que han sido desarrollados para tratar el problema del lento aprendizaje de las MSV. En el cap´ıtulo 3 se presenta el desarrollo te´orico 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 descripci´on de las diferentes bases de datos utilizadas para probar las diferentes heur´ısticas, adem´as de presentar los resultados obtenidos y un an´alisis de los mismos. Por ´ultimo las conclusiones y el trabajo futuro son presentados.

(11)

2.

ESTADO DEL ARTE

2.1.

LAS M ´

AQUINAS DE SOPORTE VECTORIAL

La idea principal de las M´aquinas de Soporte Vectorial, en el ´area de clasificaci´on, es sepa-rar un conjunto de datos en dos clases mediante un hiperplano clasificador. Existe un sin n´umero de hiperplanos que separan correctamente un conjunto de datos y por lo tanto existen diferentes soluciones. Entre los diferentes hiperplanos existe uno y solo uno que tiene el margen m´aximo de separaci´on el cual es encontrado por las MSV. La definici´on matem´atica del m´etodo as´ı co-mo su soluci´on fueron presentados por V. Vapnik y A. Chervonenkis, [4], coco-mo una t´ecnica para reconocimiento de patrones. A continuaci´on se presentan los m´etodos generadores de las MSV, adem´as de la derivaci´on matem´atica del m´etodo 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

asociada yi, se desea encontrar una m´aquina que identifique el mapeoxi → yi es decir, a partir

de una entrada x la m´aquina debe ser capaz de determinar de manera correcta la saliday que le

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

(12)

ser visto como un umbral o el vector de pesos en una red neuronal con una estructura fija. Con lo anterior, se espera que la funci´onf(x, λ)d´e como resultado el valor m´ınimo de riesgo esperado el cual esta definido como:

R(λ) =

Z

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

Como se observa en la f´ormula anterior, es necesario conocer la distribuci´on de probabilidad de los datos P(x, y), la cual es desconocida por lo que no se puede aplicar la f´ormula de minimizaci´on del riesgo esperado (ec. 2.1). Para compensar esta desventaja es posible realizar una aproximaci´on estoc´astica de la funci´on de riesgo que es llamadariesgo emp´ıricoy que se define de la siguiente

manera:

Remp=

1 2N

N

X

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 funci´on de Riesgo

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

de riesgo R. De esta manera, es m´as factible minimizar el Riesgo Emp´ırico que la funci´on

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

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

problema es consistente, Vapnik y Chervonenkis demuestran que es condici´on necesaria y sufi-ciente que la dimensi´on Vapnik-Chervonenkis (VC) del espacio de hip´otesis (H:f(x, λ)sea finita.

La dimensi´on VC se refiere al n´umero m´as grande de datos que pueden ser separados por la m´aquina de aprendizaje por lo que si h < ℓ es la dimensi´on VC de una clase de funciones que la m´aquina de aprendizaje puede implementar, entonces para todas la funciones de esa clase las cuales tengan una probabilidad de almenos1η(ηesta entre 0 y 1) se define la funci´on:

R(λ)Remp(λ) +φ

µ h ℓ,

log(η) ℓ

(2.3)

dondeφes el valor de confianza VC y esta definido por la ecuaci´on:

φ µ

h ℓ,

log(η) ℓ

=

s

h(ln2hN + 1)lnη4

N (2.4)

El par´ametrohde la ecuaci´on anterior, representa la dimensi´on VC, la cual, como se mencion´o, es

el n´umero m´aximo de datoskque pueden ser separados en dos clases y en un numero2kde formas

(13)

(a)

Intervalo de Confidencia: Aprendizaje

Riesgo Empirico: Generalización

h1 H* h

n

(b) S

[image:13.595.81.574.65.271.2]

n S2 S1

Figura 2.1: (a) Aprendizaje y Generalizaci´on: a menor riesgo, mayor confianza VC. (b) S es un conjunto de funciones con una estructura jer´arquica.

* El t´erminoRemp(λ)(correspondiente al nivel de aprendizaje),

* El t´ermino qh(ln2hN+1)−ln η

4

N que representa la confianza VC de la m´aquina de aprendizaje

(Figura 2.1), (correspondiente al nivel de generalizaci´on).

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 dexyy P(x, y)tambi´en son independientes.

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

De acuerdo con la ecuaci´on (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 dehes controlado por la funci´onf(x, λ)para lo cual se puede

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

S1 ⊂S2 ⊂. . .⊂Sn

Para los cuales, los correspondientes valores dehsatisfacen:

(14)

La desventaja que se ve en la ecuaci´on (ec. 2.3) es que el c´alculo de la dimensi´on VC es complicado (este c´alculo puede ser comparado con la b´usqueda de la estructura de red apropiada en una red neuronal a capas m´ultiples), por lo que es necesario cambiar el principio de minimizaci´on del Riesgo Emp´ırico por alg´un otro m´etodo.

2.1.2. PRINCIPIO DE MINIMIZACI ´ON DEL RIESGO ESTRUCTURAL

El c´alculo de la dimensi´on VC del espacio de hip´otesisHes complicado por lo que principio de minimizaci´on del Riesgo Emp´ırico no es una alternativa muy adecuada. Vapnik demostr´o que un valor peque˜no del Riesgo Emp´ırico no necesariamente implica que se te tenga un valor peque˜no del Riesgo Esperado. Por este motivo, se desarrolla el Principio de Minimizaci´on del Riesgo Estruc-tural (SRM) el cual realiza la minimizaci´on del Riesgo Emp´ırico al mismo tiempo que minimiza la dimensi´on VC del espacio de Hip´otesis H(condici´on necesaria para obtener un m´ınimo del Ries-go Esperado). Las MSV minimizan el RiesRies-go Emp´ırico y obtienen el valor m´ınimo de dimensi´on VC de un problema. Las M´aquinas de Soporte Vectorial estiman una funci´on f : N, dados un

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

corresponde un valor o una etiqueta denotada por yi ={+1, −1}. As´ı, la idea principal del

m´eto-do es transformar los vectores de entradax(deNdimensiones) en vectores de dimensi´on m´as alta

Z(dimensi´on que podr´ıa ser infinita) en la que el problema te´oricamente tiene soluci´on.

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 correcta; la separaci´on de los datos se lleva a cabo mediante un hiperplano definido por:

w·x+b w ∈ ℜN , b∈ ℜ (2.5) Los datos x que satisfacen la ecuaci´on w·x+b = 0 son aquellos que se encuentran sobre el hiperplano donde:

* wes un vector normal al hiperplano,

* bes el t´ermino bias,

* |b|

kwk es la distancia perpendicular del hiperplano al origen y,

(15)

W X

1

X

2

y

i = (+1)

y

i = (−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 margen m´aximo de separaci´on est´a definido por un vector de pesoswy un umbralbque satisfacen

(w·x) +b= 0. As´ı mismo, losvectores de soporteson los patrones m´as cercanos al hiperplano que cumplen la condici´on|(w·x) +b |= 1.

* kwkrepresenta la norma Euclidiana dew.

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

como la distancia del dato negativo m´as cercano, el margen de separaci´on de los patrones de en-trenamiento queda expresado como:

ρ=ρ(+)+ρ(−)

La tarea de las MSV en el caso linealmente separable es encontrar un hiperplano que tenga el margen m´aximo de separaci´on entre las clases (Figura 2.2) por lo que es necesario encontrar un 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)

kwk = 1 kwk

As´ı, el margen de separaci´on es:

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

1 kwk+

1 kwk =

(16)

Si se desea encontrar el margen m´aximo de separaci´on para un clasificador, es necesario minimizar la norma dew, por lo que el problema se formula de la siguiente manera:

m´ın

i=1...ℓ|w·xi+b|= 1 (2.8)

Existen diversos hiperplanos que satisfacen la ecuaci´on (2.8) llamados hiperplanos can´onicos. Las MSV buscan entre los diferentes hiperplanos can´onicos aquel que tenga la norma m´ınima ya que al tener un hiperplano con norma m´ınima, tambi´en se tiene un valor peque˜no de dimensi´on VC. Es importante notar que minimizarkwkes equivalente a encontrar un hiperplano separador con el m´argenρm´aximo.

As´ı, si se desea encontrar el hiperplano con el m´argen m´aximo de separaci´on es necesario minimizar la norma dew, por lo que el problema se formula de la siguiente manera:

minimizar 1

2kwk

2

s.a.

(2.9)

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

donde la restricci´on (2.10) nos indica que la regi´on factible de la funci´on objetivo (2.9) se encuentran fuera del rango{−1,1}.

La formulaci´on anterior nos indica que se trata de un problema de programaci´on cuadr´atico bajo restricciones, el cual se caracteriza por tener una funci´on objetivo no-lineal (2.9) y restric-ciones lineales (2.10). El problema de optimizaci´on puede ser resuelto en el espacio primal, pero se resuelve en el espacio dual por las siguientes razones:

* Las restricciones forman parte de la funci´on objetivo como Multiplicadores de Lagrange.

* La formulaci´on del problema aparece el producto entre vectores (que es la base para la extensi´on al caso no linealmente separable).

Multiplicadores de Lagrange

Esta t´ecnica trata el problema de maximizar una funci´on sujeta a una o mas restricciones de igualdad. Adem´as, se permite que la funci´on objetivo sea no-lineal mientras ´esta sea dos veces diferenciable.

(17)
[image:17.595.188.445.57.260.2]

Figura 2.3: Los aros conc´entricos ilustran el conjunto de soluciones factibles de la funci´onf. En la soluci´on ´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 funci´on f,

denotado por f es un vector que apunta en la direcci´on en la que la funci´on f se incrementa

m´as r´apido. En optimizaci´on no restringida, este vector se iguala a cero, se determinan los puntos cr´ıticos de la funci´on f y el m´aximo, si es que existe, debe estar contenido en este conjunto. Sin

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

datos para los cuales el gradiente desaparece. En vez de lo anterior, el gradiente debe ser ortogonal al conjunto de soluciones factibles{x:g(x) = 0}. As´ı, se desea encontrar un punto cr´ıticox∗ que

sea soluci´on factible y que el valor def(x∗)sea proporcional al valor deg(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 n´umero real, positivo, negativo o

(18)
[image:18.595.187.445.58.261.2]

Figura 2.4: La regi´on factible es una curva formada por la intersecci´on de las restricciones g1(x) = 0, g2(x) = 0, . . . , gm(x). El puntox∗ es ´optimo ya que el gradiente de la funci´onf 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 ecuaci´on anterior, la regi´on ´optima factible esta compuesta por la intersecci´on 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

X

i=1

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

Una vez introducidas la ecuaciones anteriores, se presenta una ecuaci´on equivalente llamada fun-ci´onLagrangiana

L(x, α) =f(x)X

i

αigi(x),

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

(19)

primeras derivadas a cero:

∂L ∂xj

= ∂f ∂xj −

X

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 un m´aximo 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 m´aximo local si:

ξTHf(x∗)ξ <0 (2.13)

donde paraξ 6= 0satisface que:

ξTgi(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∗. Los ´unicos movimientos relevantes deξson aquellos que se hacen dentro

de el conjunto de soluciones factibles. Por consecuencia, si la ecuaci´on (ec. 2.13) la satisface cualquier valor dex(no solox∗), entonces se dice que se ha encontrado un m´aximo global.

Formulaci´on dual del problema

Ya que se conoce la formulaci´on primal del problema (ec. 2.9, 2.10) para el caso linealmente separable, se hace un cambio a la representaci´on dual y se hace uso de los multiplicadores de Lagrange, lo que permite hacer la extensi´on 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 restricci´onide la ecuaci´on (ec. 2.10). Para realizar

(20)

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

restar las restricciones a la funci´on objetivo. As´ı, la formulaci´on dual del problema es:

L 1 2kwk

2

N

X

i=1

αiyi(w·xi+b) + N

X

i=1

αi (2.15)

La soluci´on a este problema es obtenida minimizando el Lagrangiano con respecto a w y b y maximizando con respecto a α 0. Para lo anterior es necesario derivar (ec. 2.15) con respecto a wyb, y as´ı encontrar las ecuaciones de estacionaridad de primer orden,

∂L(w, b, α)

∂w =w−

N

X

i=1

αiyixi = 0 (2.16)

∂L(w, b, α)

∂b =

N

X

i=1

λyi = 0 (2.17)

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

w∗ =

N

X

i=1

λiyixi (2.18)

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

L(w, b, α) = 1 2kwk

2

N

X

i=1

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

= 1 2

N

X

i=1

αiyixi N

X

j=1

αjyjxj − N

X

i=1

αiyi(w·xi+b) + N X i=1 αi = 1 2 N X i=1 N X j=1

αiαjyiyj(xi·xj)− N

X

i=1

αiyi( N

X

j=1

αjyjxj ·xi+ N

X

i=1

αiyi) + N X i=1 αi = 1 2 N X i=1 N X j=1

αiαjyiyj(xi·xj)− N

X

i=1

αiyi( N

X

j=1

αjyjxj ·xi) + N X i=1 αi = 1 2 N X i=1 N X j=1

αiαjyiyj(xi·xj)− N X i=1 N X j=1

αiαjyiyj(xi·xj) + N

X

i=1

αi

=1 2 N X i=1 N X j=1

αiαjyiyj(xi·xj) + N

X

i=1

(21)

Por lo tanto, la formulaci´on dual del problema en t´erminos de matrices queda como sigue:

m´axF(Λ) = Λ·1 1

2Λ·HΛ

s.a.

Λ·y= 0 Λ0

(2.19)

DondeH(hessiano) es una matriz sim´etrica denxndondenes el n´umero de elementos en la base

de aprendizaje. Los valores delhessianose calculan con la siguiente ecuaci´on:

Hij =yiyjxi·xj

El t´ermino biasbse calcula utilizando la restricci´on (ec. 2.10) y se define por:

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

Y la definici´on de la funci´on de decisi´on es:

f(x) =sign(

N

X

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 clasificadores a problemas no linealmente separables es decir, problemas reales de clasificaci´on 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 par w∗ y bque realicen el menor n´umero de errores posibles. Para

resolver lo anterior es necesario que las restricciones (ec. 2.6 y 2.7) sean flexibles en ciertos casos, es decir darles cierto costo a aquellos datos que queden fuera de la funci´on de decisi´on lineal. El costo se ve traducido como un aumento en la funci´on objetivo. Al realizar los incrementos en la funci´on 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)

(22)

una penalizaci´on proporcional a la cantidad de restricciones violadas.

Adem´as del cambio en las restricciones es necesario actualizar el valor de la funci´on objetivo de tal manera que es necesario minimizar

m´ın f(w,Ξ) = 1 2kwk

2+C(

n

X

i=1

ξi)

s.a.

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

ξi ≥0.

(2.24)

El par´ametro Cnos indica el tama˜no de la penalizaci´on de los errores. Esta nueva definici´on

tam-bi´en es posible llevarla al espacio en el queαi yβison los multiplicadores de Lagrange.

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

1 2kwk

2+C

à n X i=1 ξi ! − n X i=1 αi µ

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

n

X

i=1

βiξi (2.25)

Como en el caso linealmente separable, la soluci´on se encuentra en el espacio dual usando las condiciones de optimalidad de primer orden para una funci´on con restricciones:

∂L(w, b,Λ)

∂w =w−

n

X

i=1

αiyixi = 0, (2.26)

∂L(w, b,Λ)

∂b =

n

X

i=1

αiyi = 0, (2.27)

∂L(w, b,Λ)

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

Si despejamosCde (ec. 2.28) se tiene:

C=αi+ξi (2.29)

Las variables del LagrangianoF(Λ)ya no se encuentran en funci´on deβ y son las mismas que en el caso linealmente separable.

F(Λ) =

n

X

i=1

αi−

1 2 n X i=1 n X j=1

αiαjyiyjxi·xj (2.30)

(23)

El par´ametro de penalizaci´on C se convierte en el l´ımite superior sobre αi mientras que en

el caso linealmente separable se tiene como l´ımite superior . La representaci´on matricial del problema es la siguiente:

m´ax Λ·1 1

2Λ·HΛ s.a.

Λ·y= 0 0ΛC.

(2.31)

2.1.5. LAS MSV NO-LINEALES

Espacios de realizaci´on no-lineal: FuncionesKernel

Las m´aquinas de aprendizaje lineales tienen muchas limitantes en aplicaciones reales, por esto, se han propuesto m´ultiples m´etodos que han llevado al desarrollo de redes neuronales con capas m´ultiples y algoritmos de aprendizaje como retropropagaci´on para el entrenamiento de dichos sistemas.

Una de las ideas b´asicas en el dise˜no de las MSV es mapear el vector de entradax∈ ℜN a un

vectorZen un espacio de mayor dimensi´onZ = Φ(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 de la base de datos (Figura 2.5). La soluci´on obtenida es una funci´on de decisi´on lineal en el espacio caracter´ısticoZ, por lo que se crea una superficie de separaci´on no-lineal en el espacio de entrada

originalN.

Hay dos problemas importantes al aplicar esta t´ecnica:

(24)

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

[image:24.595.85.539.54.230.2]

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´ısticoZ en el que los datos pueden ser separados linealmente.

* C´alculo de los productos escalares. Al tener Z una dimensi´on muy alta, el c´alculo de los productos escalares se convierte en una tarea dif´ıcil.

El problema de tener aZen una dimensi´on muy alta, se puede evitar si se sustituyen los productos escalares por funciones Kernel (Cuadro 2.1), donde k : XxX → ℜ corresponde al producto escalar del mapeo no-lineal de los datos. As´ı, se tiene:k(xa, xb) =hΦ(xa),Φ(xb)i.

Las funciones trabajan en el espacio de entrada, por lo que su principal ventaja es que se evita realizar un mapeo Φ(x). En lugar de realizar este mapeo, los productos escalares requeridos en

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

de entrenamiento en el espacio de entrada. De esta manera, se puede construir una m´aquina de soporte vectorial que trabaje en un espacio caracter´ıstico con una dimensi´on muy alta, incluso infinita. Otra ventaja de las funciones es que no es necesario saber cual es el actual mapeoΦ(x).

Reformulando la soluci´on de las MSV se tiene la siguiente funci´on de decisi´on:

f(x) =sign

à n

X

i=1

yiα∗iK(x, xi) +b∗

!

(2.33)

(25)

Funci´on Polinomial de gradod K(xa, xb) = (hxa, xbi+ 1)d Funci´on de Base Radial con radioσ K(xa, xb) = (exp−kxa−xbk2/2σ2

)

Funci´on Sigmoidal multicapa K(xa, xb) = tanh(γhxa, xbi+β)

Funci´on Exponencial de Base Radial exp−γkxa−xbk

Funci´on Gaussiana de Base Badial exp−γkxa−xbk2

Tabla 2.1: Ejemplos de funcionesKernelque pueden ser utilizadas

El problema de programaci´on cuadr´atica queda de la siguiente manera:

M aximizar F(Λ) = Λ·1 1

2Λ·HΛ sujeta a

Λ·y = 0 0ΛC1

(2.34)

donde H es la matriz Hessiana y es sim´etrica, semidefinida positiva, de tama˜no nxn y con los

elementosHij =yiyjK(xi, xj).

Algunas de las ventajas de utilizar MSV son:

* Poder de generalizaci´on

* Cambian un problema de orden n a un problema cuadr´atico con lo que se asegura

matem´aticamente la convergencia al ´optimo global.

* Este m´etodo parametriza al mismo tiempo la arquitectura y los par´ametros de la red.

2.2.

ESTRATEGIAS

DE

SOLUCI ´

ON

PARA

LAS

M ´

AQUINAS DE SOPORTE VECTORIAL

Algunos de los principales problemas que se presentan en la utilizaci´on de las MSV son:

* La construcci´on y almacenamiento de la matriz hessianaHpresente en el problema de

(26)

* Cuando el volumen de datos es grande, se requiere de una gran cantidad de tiempo para realizar la optimizaci´on.

* El n´umero 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 matriz

H conforme estos sean requeridos. La matriz hessiana

no se construye con todos los patrones de la base de datos ya que ´esta se construye solo con los valores correspondientes a aquellos patrones que se est´en optimizando en cada

iteraci´on. El problema de esta estrategia es que el calculo de los elementos requeridos en la matriz hessiana, se vuelve muy costoso cuando algunos elementos se ocupan en diferentes iteraciones.

Vapnik propone un algoritmo llamado

Chunking, [4], [5], en el cual el problema original

es divido en peque˜nos 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 soluci´on ´optima del problema. La principal desventaja de esta estrategia, es que, en cada iteraci´on del algoritmo, el n´umero de elementos a ser optimizados se incrementa, por lo que, en problemas reales el conjunto a ser optimizado puede crecer tan grande que se caiga de nuevo en problemas de almacenamiento de la matriz hessiana.

Edgar Osuna, [11], propone un m´etodo similar al

Chunking, pero a diferencia de ´este,

mantiene un conjunto de trabajo fijo, es decir el conjunto de datos que se optimiza en cada iteraci´on es del mismo tama˜no siempre por lo que se evita el problema de que ´este crezca a un punto en el que se vuelva un problema intratable computacionalmente. La desventaja de este m´etodo es que, para que el algoritmo converja, es necesario llevar a cabo muchas iteraciones, por lo que el tiempo de entrenamiento se ve incrementado notoriamente.

John Platt desarrolla una mejora extrema al algoritmo de

Osuna, ya que su algoritmo Op-timizaci´on Secuencial M´ınima, [12], establece conjuntos de trabajo de tama˜no 2, es decir,

realiza una optimizaci´on iterativa con 2 datos del conjunto de entrenamiento y repite hasta encontrar la soluci´on ´optima del problema. El algoritmo utiliza heur´ısticas para determinar la direcci´on de descenso factible y as´ı seleccionar los 2 mejores datos a ser optimizados durante

(27)

cada iteraci´on. El desempe˜no de este algoritmo es bueno aunque, al realizar las diferentes evaluaciones Kernel en cada iteraci´on, le quita cierta funcionalidad y en ciertos problemas se torna un algoritmo lento.

Thorsten Joachism implementa diferentes mejoras al algoritmo de

Osuna en su llamado

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

* Implementa un efectivo m´etodo para seleccionar el conjunto de trabajo en cada it-eraci´on.

* Adem´as de la descomposici´on 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 iteraci´on se almacena el valor de la funci´on 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 soluci´on del prob-lema de programaci´on cuadr´atico 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 soluci´on del problema utilizando una matriz hessiana construida ´unicamente con

losvectores de soporte.

Vapnik considerando lo anterior, decide dividir el problema en peque˜nos sub problemas para los cuales obtiene soluci´on. Una vez obtenida la soluci´on 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 iteraci´on, el algoritmo verifica cu´ales patrones violan las condiciones de Karush-Kuhn-Tucker y 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 soluci´on ´optima del problema es encontrada. Una ventaja importante de este algoritmo, es que el tama˜no de la matriz hessiana es notablemente reducido, debido a que la matriz hessiana es construida considerando ´unicamente los patrones cuyo lagrangiano es diferente de cero.

(28)

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

A B C

D

[image:28.595.221.412.91.213.2]

1 2

Figura 2.6:Chunking. El hiperplano1separa correctamente los datosB yCdeDpero el datoA es un error por lo que debe ser agregado al conjunto de trabajo y entonces obtener el hiperplano2

que separa correctamente los datosA,B yC del datoD.

(a) Establecer un tama˜no q (llamadoChunking size.)

(b) Seleccionar q elementos aleatorios de la base de aprendizaje y for-mar el conjunto de trabajo.

(c) Realizar la optimizaci´on del conjunto de trabajo mediante alg´un m´eto-do de optimizaci´on cuadr´atico.

(d) Identificar aquellos valores cuyo multiplicador de Lagrange fu´e 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.

(29)

Una de las principales desventajas que se presentan en este algoritmo es que cuando el n´umero de vectores de soportees grande es necesario construir una matriz hessiana tambi´en 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 iteraci´on, el hiperplano de separaci´on se mueve en la direcci´on de aquellos patrones que no cumplen las condiciones de optimalidad hasta lograr que el hiperplano quede lo mejor pocisionado posible.

2.2.2. ALGORITMO DEOSUNA

Para llevar a cabo el entrenamiento de las m´aquinas de soporte vectorial, Edgar Osuna, [11], propuso una forma de descomponer el problema en diversos sub problemas. Este algoritmo es similar alChunkingpero con la diferencia de que mantiene un tama˜no fijo al conjunto de trabajo

durante las diferentes iteraciones. El algoritmo se basa en el hecho de que el n´umero de vectores

de soportees muy peque˜no cuando se trata con bases de datos grandes y, en consecuencia existir´an

muchos patrones para los cuales el valor de su correspondiente multiplicador de Lagrange sea igual a cero.

La idea principal es dividir el problema original y resolver iterativamente hasta encontrar la soluci´on ´optima del problema. Para identificar que hemos encontrado una soluci´on ´optima en cierta iteraci´on, es necesario verificar que se cumplan las condiciones de optimalidad. As´ı, si alguna de las soluciones encontradas no es ´optima, entonces se busca mejorar la funci´on de costo, la cual se asocia con aquellas variables que violan las condiciones de optimalidad.

En cada iteraci´on, el valor de la funci´on 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 est´an contenidos en el subconjuntoB y representa el conjunto de trabajo que es optimizado en cada iteraci´on. La definici´on de los subconjuntosB yN es como

sigue:

El subconjunto

B, en el que se almacenan aquellas variables que son llamadas libres y que

(30)

(a) Se define el tama˜no del conjunto de trabajoB, el cual es lo suficien-temente peque˜no como para ser almacenado por la computadora y est´a denotado porq.

(b) Seleccionar aleatoriamenteqelementos de la base de datos

(c) Se optimiza el problema definido en el subconjuntoBmediante alg´un m´etodo de optimizaci´on cuadr´atico.

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

g(xj) =

l

X

p=1

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

[image:30.595.125.505.53.402.2]

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 funci´on objetivo no se ve afectado.

Se verifica que el nuevo sub problema sea ´optimo mediante

yjg(xj)≥1.

La idea general es: optimizar el conjunto de trabajo B y obtener aquellas variables con λi = 0, i ∈ B. Dichas variables son sustituidas por aquellas variables del subconjunto N que

satisfacen la condici´on de yjg(xj) < 1. Una vez realizado el remplazo de variables, un nuevo

(31)

soluci´on del problema. La estructura del algoritmo deOsunase muestra el en cuadro (2.3).

Este algoritmo tiene asegurada la convergencia hacia el ´optimo en un n´umero finito de itera-ciones ya que en cada iteraci´on se va mejorando el valor de la funci´on objetivo.

2.2.3. OPTIMIZACI ´ON SECUENCIAL M´INIMA

Optimizaci´on 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 Osuna y Chunking , descompone el problema en sub problemas,

resolvi´endolo en forma iterativa. La principal diferencia con los algoritmos previamente analizados es que el tama˜no del conjunto de trabajo en cada iteraci´on es de 2 elementos, es decir, el problema de programaci´on cuadr´atico de las MSV lo reduce a su tama˜no 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 op-timizando solo dos datos en cada iteraci´on, esta optimizaci´on puede llevarse a cabo de manera anal´ıtica y no de forma num´erica (uso de m´etodos de optimizaci´on cuadr´atica) por lo que el tiem-po de computo puede ser reducido notoriamente. As´ı, este algoritmo esta compuesto de dos partes fundamentales:

Un m´etodo de soluci´on anal´ıtico para optimizar los 2 datos en cada iteraci´on.

(32)

2.3.

ALGORITMO PERCEPTR ´

ON

El algoritmo Perceptr´on, [6], fu´e uno de los principales procedimientos de aprendizaje de clasi-ficadores lineales. Es un algoritmo incremental que inicia con un vector de pesos (o de conexiones) igual a cero w = 0y en cada iteraci´on se realizan peque˜nas modificaciones al vector de pesos w

de acuerdo con la salidayde cada dato. Este algoritmo (Tabla 2.4) asegura la convergencia en un n´umero finito de iteraciones para problemas linealmente separables.

1. Inicializar el vector de pesoswy el t´erminob(bias) en cero.

2. Establecer el valor del paso de aprendizajeη.

3. Mientras exista uni : iN, tal quef(xi)6= yi

a) Calcular el valor de la funci´onf(xi) = sgn((w·xi) +b)

b) Sif(xi)6=yi entonces

• Actualizar los valores dewybcon:

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

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

[image:32.595.123.506.197.513.2]

4. Regresar al punto 3.

Tabla 2.4: Algoritmo Perceptr´on.

La actualizaci´on del vector de pesos wy del t´ermino biasb se realizan cuando el valor de la

funci´onf(xi)es diferente al valor del objetivoyi, por lo que la actualizaci´on se realiza con respecto

a los ejemplos que han quedado mal clasificados. Este proceso se repite hasta obtener w∗ ybde

manera que

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

(33)
[image:33.595.183.446.54.262.2]

−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 Perceptr´on traza diferentes hiperplanos hasta que encuentra uno que clasifica correctamente los datos

2.3.1. KERNEL-PERCEPTR ´ON: EXTENSI ´ON DEL PERCEPTR ´ON A FUNCIONES

KERNEL

Para extender el uso del Perceptr´on a problemas no linealmente separables, este algoritmo se combina con funcionesKernel,[10], de tal forma que el algoritmo trabaje en una dimensi´on m´as

alta en la que la base de datos pueda ser separada de manera lineal por el Perceptr´on.

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

por lo que es necesario redefinir la funci´onf(x)como sigue:

f(x) =

N

X

i=1

wiΦi(x) +b

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

f(x) =

N

X

i=1

γiyihφ(xi)·φ(x)i+b

Dondeγrepresenta el conjunto de variables duales que son actualizadas durante cada iteraci´on. La

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

esta asociado al patr´onxide la funci´onf(x). El producto punto que aparece en la ecuaci´on anterior

es sustituido por una funci´onKernel,evitando la construcci´on expl´ıcita del espacio caracter´ıstico

φy queda la representaci´on como sigue:

f(x) =

N

X

i=1

(34)

Una vez definida la notaci´on del Perceptr´on con funciones Kernel,la estructura del algoritmo se

muestra en (Tabla 2.5):

1. Establece el valor del t´erminob= 0.

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

3. Mientras la condici´on de paro no se cumpla:

a) Para todos los elementos eni , iN

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

2) Sif(xi)6=yi

* Incrementa el valor deγicon∆γi =γold i + 1

[image:34.595.127.505.95.351.2]

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

Tabla 2.5: Algoritmo Kernel-Perceptr´on

2.4.

ALGORITMO DE SCHLESINGER-KOZINEC

La idea de este algoritmo es presentar una soluci´on alternativa a las m´aquinas de soporte vectorial mediante un algoritmo que evada el problema de programaci´on cuadr´atico y devuelva como resultado el hiperplano de separaci´on de margen m´aximo.

El algoritmo Schlesinger-Kozinec, [8], busca el hiperplano clasificador de los datos que ten-ga el margen m´aximo de separaci´on entre ellos por lo que, dados un conjunto de patrones

(xi, yi) ∈ ℜn, i = 1, . . . , N, se define I(+1) = {i ;yi = 1}, I(−1) = {i ;yi = −1},

X(+1) = {x

i ;yi = 1}, X(−1) = {xi ;yi = −1} que corresponden a indices de datos

posi-tivos y negaposi-tivos respectivamente. Adem´as, para identificar el margen m´aximo de separaci´on, es necesario definir:

ρ= m´ax

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

Ahora definimos los vectoresw(+1), w(−1) ∈ ℜndonde

(35)

As´ı,wybest´an definidos por:

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

b =kw

(+1)k2− kw(−1)k2

2 (2.39)

La funci´on de decisi´on lineal que separa los datos en los conjuntosX(+1) yX(−1) se puede

repre-sentar por:

hw·xii ≥b ∀i∈I(+1),

hw·xii< b ∀i∈I(−1).

El margen de separaci´on entre los conjuntos X(+1)yX(−1) esta definido como la distancia de los

patrones m´as cercanos de cada subconjunto de tal forma que:

ρw,b = m´ın

Ã

m´ın

i∈I(+1)

hw·xii −b

kwk ,i∈m´ınI(−1)

b− hw·xii

kwk !

. (2.40)

Por consecuencia, el hiperplano de separaci´on con el margen m´aximohw∗·xi=bse define por:

¡

w∗·b∗¢

=argm´ax

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

El hiperplano ´optimo que divide X(+1) y X(−1) esta determinado por los patrones m´as cercanos

entre ambos conjuntos por lo que,

w∗ =w(+1)w∗(1), b∗ = 1 2

¡

kw∗(+1)k2− kw(1)k2¢ ,

donde:

(w(+1)∗ , w(1)) = arg m´ın

w(+1)X(+1),w(−1)X(−1)k

w(+1)w(−1)k,

ρ(w∗, b∗)ρ(w, b)ǫ (2.42)

En la implementaci´on del algoritmo, para verificar que la condici´on (2.42) se cumpla, es necesario que,

1 2kw

(+1)

−w(−1)k≥ρ(w∗,b)−m´ın Ã

m´ın

i∈I(+1)

hw, xii −b

kwk ,i∈m´ınI(−1)

b− hw, xii

kwk !

=ρ(w,b)

≤ ǫ (2.43)

(36)

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

lo cual podemos elegir cualquier patr´on que pertenezca al conjunto correspondiente de nuestra base de datos.

2. Verificar que se cumpla la condici´on de optimalidad (2.43). Si dicha condici´on no se cumple, entonces ir al paso siguiente. Si la condici´on se cumple, el margen ´optimo ha sido encontrado.

3. Realizar la actualizaci´on del margen para lo cual es necesario veri-ficar:

a) Si xi X(+1) no cumple con la condici´on de optimalidad,

en-tonces se realiza la actualizaci´on del valorw(+1) y se mantiene fijo el valor dew(−1). Dicha actualizaci´on se realiza mediante:

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

donde:

k=arg m´ın

k∈(0,1)kw

(+1)new(k)

−w(−1)k

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

condi-ci´on de optimalidad, la actualizacondi-ci´on se realiza enw(−1)y el

val-or dew(+1)se mantiene fijo. La actualizaci´on se realiza con:

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

donde:

k=arg m´ın

k∈(0,1)kw

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

[image:36.595.127.508.40.635.2]

4. Regresar al punto 2.

Tabla 2.6: Algoritmo Schlesinger-Kozinec

(37)

sobre el hiperplano encontrado y un valor es obtenido. Dicho valor indica qu´e tan cerca o lejos se encuentra del hiperplano. Los datos con valor de proyecci´on m´as peque˜no son seleccionados para formar los nuevos w2(+1) yw

(−1)

2 , con los que el hiperplano de separaci´on ´optimo es encontrado

hw∗

(+1)−w(∗−1)·xi=b∗.

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

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

X

(+1)

X

(−1)

w

1 (−1)

w

2 (−1)

w

1 (+1)

w

2 (+1)

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

[image:37.595.82.482.162.477.2]

(a)

Figura 2.8: B´usqueda del hiperplano ´optimo

2.4.1. KSK: LA EXTENSI ´ON DEL ALGORITMO SCHLESINGER-KOZINEC A FUN-CIONESKERNEL

Para extender el algoritmo Schlesinger-Kozinec al caso no linealmente separable, [7], se hace uso de las funciones Kernel, de tal forma que asumiremos la existencia de una funci´on φ que representa un mapeo del espacio de entrada a un espacio caracter´ısticoZen el que(z1, z2)→z1·z2

representa un producto escalara enZ de tal forma que:

(38)

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

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

funci´onKernelpara 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´ıstico Z por lo que es necesario

representarlos utilizando lagrangianos. De tal forma, se tiene qu´e,

w(+1) = X

i∈I(+1)

λi·xi,

X

i∈I(+1)

λi = 1,

w(−1) = X

i∈I(−1)

λi·xi,

X

i∈I(−1)

λi = 1.

Ya en la implementaci´on del algoritmo, es necesario realizar los siguientes productos escalares:

hwa, wbi=

X

i∈Ia

X

j∈Ib

λi·λj · hxi, xji, a, b∈ {(1),(−1)}

hwa, xji=

X

i∈Ia

λi· hxi, xji, a, b∈ {(1),(−1)}

Mientras que las actualizaciones parawser´an de la siguiente forma:

wnewj =

 

 

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

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

Por lo que la nueva funci´on de decisi´on queda definida como:

f(x) =hw, xi −b

= X

i∈I(+1)

λihxi, xi −

X

i∈I(−1)

λihxi, xi −b

=X

i∈I

λiyihxi, xi −b.

=X

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 geom´etricos para entrenar

unidades por umbral 5 El algoritmo encuentra un hiperplano que clasifica correctamente un

con-junto de patrones en dos clases. PCB fu´e desarrollado para tratar los problemas de convergencia

4BCP por sus siglas en ingl´es (Barycentric Correction Procedure).

(39)

de algoritmos como el Perceptr´on. As´ı mismo, el algoritmo ha mostrado ser muy eficiente para problemas linealmente separables, ya que converge muy r´apido hacia la soluci´on. Este algoritmo es libre de par´ametros, por lo que no necesita ning´un valor de inicializaci´on.

PCB realiza una b´usqueda guiada para encontrar un vector de pesosW. As´ı, en cada iteraci´on del algoritmo el vector de pesos es modificado tomando en cuenta patrones que han sido clasifica-dos correctamente, adem´as de considerar aquellos que han sido mal clasificaclasifica-dos.

De esta forma, el vector de pesos W est´a definido como un vector que conecta 2 diferentes

baricentros, donde cada uno pertenece a una clase diferente. Los baricentros son elementos cercanos a la media tanto para patrones que pertenecen a la clase +1 como para aquellos que pertenecen a la clase1. Para lograr que el algoritmo converja, es necesario que, en cada iteraci´on

del algoritmo, los baricentros sean modificados para as´ı lograr una mejor direcci´on del hiperplano y as´ı lograr una soluci´on ´optima.

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

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

el valor de salida del sistemasmediantes=φ(A)dondeAesta definido por:

A=w·x+θ =

N

X

i=1

wi·xi + θ

yφ(A)es una funci´on de activaci´on de la salidasla cual toma los siguientes valores:

φ(A) =

 

 

1 siA0, 0 siA <0.

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

del algoritmo, θ es el t´ermino bias y w es el vector de pesos que conectan las entradas con la salida. El hiperplano calculado divide el espacio de entrada en dos subespacios abiertos, donde uno contiene los datos cuya A 0y el otro aquellos cuya A < 0. Con lo anterior, se sabe que cualquier elementoxi pertenece a la clase{+1}siA >= 0 o que pertenece a la clase{−1}si

A <0.

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

(40)

I0 ={1, . . . , N0}. La definici´on de los baricentros deC1yC0para los cualesb1corresponde al

sub-conjunto etiquetado con{+1}yb0que corresponde al subconjunto etiquetado con{−1}. Los

bari-centros tienen un peso, el cual est´a 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 definici´on matem´atica de los baricentros es

como sigue:

b1 =

P

i∈I1αi·pi P

i∈I1αi

, b0 =

P

j∈I0µj·pj P

j∈I0µj

(2.44)

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

w=b1−b0 (2.45)

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

baricentros tambi´en son modificados. El incremento en los baricentros se hace con respecto a los elementos mal clasificados, lo que implica que el hiperplano separador se mueva en esa direcci´on. La modificaci´on 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 alg´un patr´on es mal clasificado. La definici´on matem´atica es la siguiente:

β = m´ax

½

βm´ın,m´ın

£ βm´ax,

N1

N0

¤ ¾

(2.48)

δ = m´ax

½

δm´ın,m´ın

£ δm´ax,

N0

N1

¤ ¾

(2.49)

Una ventaja que presenta este algoritmo es que no s´olo trabaja para problemas linealmente separables ya que en cada iteraci´on 2 hiperplanos son calculados:

* Hque nos asegura la convergencia en problemas no linealmente separables.

* Hpoc que nos obtiene la mejor orientaci´on del hiperplano en problemas no linealmente

separables, maximizando el numero de patrones excluidos y minimizando el numero de datos mal clasificados.

El hiperplanoHpoc es el mejor hiperplano obtenido durante cada iteraci´on de PCB. Debido

(41)

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, entonces se toma en cuenta el hiperplano que mejor ha clasificado durante las diferentes iteraciones.

Para realizar el calculo del t´ermino biasθ, es necesario definir la funci´on ϑ : n → ℜ como

sigue:

ϑ(p) =w·p

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

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

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

por lo que el c´alculo del t´ermino biasθ se representa por:

θ = m´axϑ1+ m´ınϑ0

2 . (2.50)

Por ´ultimo, el algoritmo PCB se muestra en (Tabla 2.7):

1. Inicializarλyµde forma aleatoria.

2. Calcular los baricentrosb1yb0 usando (2.44)

3. Calcular el vector de pesoswcon (2.45).

4. Calcularϑ1 yϑ0.

5. Calcular el t´ermino 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 actualizaci´on deλyµusando (2.46) y (2.47).

c) Regresar al punto dos.

(42)

3.

HEUR´ISTICAS DE OPTIMIZACI ´

ON

PARA LAS M ´

AQUINAS DE SOPORTE

VECTORIAL

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

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

necesaria en comparaci´on con los m´etodos de optimizaci´on cuadr´atica tradicionales. Sin embargo, el tiempo de entrenamiento requerido por dichos m´etodos para problemas reales sigue siendo prohibitivo, por lo que es necesario desarrollar heur´ısticas que permitan tratar dichos problemas.

(43)

El objetivo principal del presente trabajo es encontrar alg´un m´etodo de clasificaci´on preliminar que encuentre un hiperplano de separaci´on cercano al encontrado por las MSV. Una vez encontrado dicho hiperplano, se identifican los patrones m´as cercanos al ´el (realizando el calculo de la Distan-cia Euclidiana) y se forma un subconjunto de datos. Dicho subconjunto contiene los vectores de soporte del problema, por lo que es utilizado para realizar el aprendizaje de las MSV. El proceso anterior se enumera a continuaci´on:

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

2. Formar un subconjunto de datos con los patrones m´as 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 inicializaci´on de las MSV con un conjunto de datos peque˜no es la dis-minuci´on del tiempo de computo y la memoria necesaria para encontrar la soluci´on del problema.

Para identificar el subconjunto de datos que contiene los vectores de soporte se pueden utilizar diferentes algoritmos con las siguientes caracter´ısticas:

* Encuentra un hiperplano de separaci´on ´optimo para un conjunto de datos.

* F´acil implementaci´on.

* M´ınimos requerimientos de procesamiento.

Algunos de los algoritmos que cumplen con estas caracter´ısticas y que ser´an utilizados son:

* Perceptr´on, [6].

* Procedimiento de Correcci´on de Baricentros (PCB), [9].

Una vez identificado el conjunto reducido de datos, es posible utilizar cualquier m´etodo de optimizaci´on cuadr´atica para optimizarlo. La desventaja observada en problemas no linealmente separables, es que al realizar aproximaciones lineales a la soluci´on 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 m´as del 50 % del total de vectores de soporte del problema. As´ı, es

necesario realizar diferentes iteraciones hasta encontrar el total de vectores de soporte. Para lograr lo anterior se decide utilizar el algoritmo Chunking, el cual, como se mostr´o en el cap´ıtulo 2, es

(44)

−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

[image:44.595.151.431.53.475.2]

(b)

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

parte de los vectores de soporte, entonces el n´umero de elementos que violan las condiciones de KKT es reducido, por lo que la combinaci´on de los m´etodos de clasificaci´on preliminar con el algoritmoChunkingtrae como consecuencia la disminuci´on del n´umero de iteraciones necesarias

para obtener la soluci´on ´optima, al mismo tiempo que se disminuye el tiempo de entrenamiento y la memoria requerida por las MSV.

Figure

Figura 2.1: (a) Aprendizaje y Generalizaci´on: a menor riesgo, mayor confianza VC.(b) S es unconjunto de funciones con una estructura jer´arquica.
Figura 2.3: Los aros conc´entricos ilustran el conjunto de soluciones factibles de la funci´on f
Figura 2.4: La regi´on factible es una curva formada por la intersecci´on de las restricciones
Figura 2.5: Las funciones Kernel mapean un espacio de entrada N a un espacio caracter´ıstico Zen el que los datos pueden ser separados linealmente.
+7

Referencias

Documento similar

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

Tome el MacRm media libra de Manecca de puerca ,media Je Manmca de Bac media de A- yre Rolado ,media de Azeyre Violado, y re poMc'tn holla vi- driadaafuegommfo,paza que

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de