• No se han encontrado resultados

Se define un enjambre (swarm) como una colección estructurada de organismos (agentes) que interactúan entre sí. La inteligencia de este enjambre no está en los individuos, sino en el colectivo (Swarm Intelligence).

Swarm Intelligence se define como:

La inteligencia colectiva que emerge de un grupo de entidades simples, llamadas usualmente agentes.

Cualquier intento de diseñar algoritmos inspirados por el comportamiento colectivo de colonias de insectos sociales u otras sociedades de animales.

Un agente es capaz de realizar tareas simples, se puede aclarar que ningún miembro de la población controla a los restantes integrantes, esto propicia una simplicidad y robustez en el colectivo.

Particle Swarm Optimization (PSO), es una metaheurística originalmente desarrollada por J. Kennedy y por R.Eberhart en 1995, basándose en un concepto conocido como la “metáfora social" (J. and R., Nov 1995).

Una partícula es la representación de un agente y es tratada como un punto en un espacio N dimensional; el cual ajusta su propio “vuelo” de acuerdo a su propia experiencia y la experiencia del resto de la banda. La banda vuela por el espacio buscando regiones prometedoras.

En la búsqueda de una solución óptima o cuasi-óptima, PSO actualiza el cúmulo actual de partículas (cada partícula es un candidato a solución de un problema), utilizando información acerca de la mejor solución obtenida por cada partícula y la mejor solución obtenida en el cúmulo entero. Cada partícula tiene los siguientes atributos: la velocidad actual, la posición actual, la mejor posición obtenida por la partícula hasta el momento y la mejor posición global encontrada hasta el momento.

43 PSO ha sido aplicado con éxito en diferentes campos de investigación para la resolución de problemas de optimización. Algunos ejemplos son: optimización de funciones numéricas (Xie et al., 2002), entrenamiento de redes neuronales (Gudise and Venayagamoorthy, 2003), aprendizaje de sistemas difusos (parsopoulos et al., 2003) y registrado de imágenes (Omran et al., 2002). La mayoría de estos problemas requieren codificación continua y, aunque no existe un gran número de propuestas de PSO para trabajar con otro tipo de codificación (como la binaria o para permutaciones de enteros); se utilizarán algunas variantes que permiten trabajar con parámetros mixtos (tanto discretos como continuos) con el objetivo de obtener una buena configuración de los mismos que permita un buen desempeño del método de agrupamiento basado en la intermediación diferencial.

Las partículas tienen la siguiente configuración (p1, p2, p3, p4, p5), las cuales representan los parámetros del método de agrupamiento basado en la intermediación diferencial. En la Tabla 3-1 se muestra el dominio de cada uno de estos parámetros.

Tabla 3-1 Intervalos para los parámetros del método basado en DB

Parámetro Nombre Intervalo

p1 Umbral de Corte [0.01, promedio de las similitudes entre

los documentos]

p2 Tamaño de la vecindad [1, promedio de los caminos mínimos]

p3 Lambda [0,1]

p4 Cantidad de aristas a eliminar [1, Total de aristas del grafo]

44

Metaheurística PSO

La metaheurística PSO tiene cinco pasos que se describen a continuación (Kennedy and Eberhart, 1995):

1. Inicialización de las partículas.

2. Actualización de la velocidad de cada partícula. 3. Actualización de la posición de cada partícula. 4. Actualización de la memoria.

5. Chequeo de terminación.

PASO 1: Inicialización de las partículas

La velocidad y posición de las partículas son fijadas aleatoriamente en los rangos predefinidos. La cantidad de partículas recomendadas son entre 10 y 40 partículas, y el número de generaciones entre 100 y 200.Se puede observar que a mayor valor de ambos parámetros más oportunidad de encontrar el óptimo pero mayorcosto computacional.

PASO 2: Actualización de la velocidad de cada partícula

En la Tabla 3-2 se muestra la descripción de los términos de la ecuación de la velocidad para las partículas.

Kennedy identifica cuatro tipos de algoritmos de PSO en función de los valores de c1 y c2 (Kennedy and Eberhart., 1995):

– Modelo completo: c1, c2>0. – Sólo cognitivo: c1>0 y c2=0. – Sólo social: c1=0 y c2>0.

– Sólo social exclusivo: c1=0, c2>0 y g i (la partícula en sí no puede ser la mejor de su entorno).

45 Valores bajos de c1 y c2 permiten explorar diversas regiones antes de dirigirse al objetivo, mientras que valores mayores permiten saltos bruscos a este.

Tabla 3-2 Descripción de los términos de la ecuación de la velocidad para PSO

Variables Descripción

Pi Posición de la partícula i

Vi Velocidad de la partícula i

Pi,best Mejor posición que ha alcanzado la partícula i

Gbest Mejor posición global alcanzada en toda la población

W Peso de la inercia (controla el impacto de la velocidad histórica en la velocidad actual).

c1 Razón de aprendizaje cognitivo

c2 Razón de aprendizaje social

rand1 y rand2 Variables aleatorias

En la literatura se presentan variantes para tratar los parámetros discretos (Xie et al., 2002), a continuación se describe una primera variante que es las más utilizadas en la literatura y una segunda propuesta en esta tesis para trabajar con los parámetros mixtos:

Variante 1: Normalizar los parámetros discretos presentes en la partícula. El modo de normalización consiste en dividir cada parámetro discreto entre la suma de todos los parámetros discretos presentes en la misma; de manera que se obtienen valores continuos entre cero y uno. Todos los parámetros, continuos y discretos, calculan su velocidad de la misma manera.

46

Variante 2: Tratar todos los parámetros, tanto continuos como discretos, de la misma manera y al efectuar operaciones cuyo resultado sea continuo en parámetros que necesitan ser enteros, se trunca dicho valor continuo.

La velocidad suele llegar a ser muy grande por lo que es necesario ajustar su excesivo crecimiento. Si Vmax es pequeño puede caer en óptimos locales, mientras que si Vmaxes grande

se pueden sobrepasar buenas soluciones; por eso se acota a [Vmin ,Vmax] si fue por defecto o

por exceso respectivamente; aunque también se controla el excesivo crecimiento de la velocidad utilizando el coeficiente de restricción K:

donde = c1 + c2.

Este coeficiente transforma la ecuación de la velocidad como se muestra a continuación: Para el parámetro w, se tiene que valores grandes facilita la exploración global mientras que valores pequeños facilitan la exploración local. Un valor adecuado produce un balance entre búsqueda global y local y reduce la cantidad de generaciones requeridas. Generalmente se sugiere trabajar con wmax = 1.4 y wmin = 0.4.

PASO 3: Actualización de la posición de cada partícula

Para las variantes de cálculo de las velocidades se tienen formas distintas de actualizar la posición:

Variante 1: Esta primera variante se basa en generar un número aleatorio para cada componente discreta. El número aleatorio se compara con su respectivo valor del vector velocidad normalizado, en caso de ser mayor que este, la nueva posición toma el valor respectivo de dicho parámetro en la mejor posición global alcanzada por la población; en

47 caso contrario, toma el valor de la mejor posición para ese parámetro alcanzado por la partícula hasta ese momento.

De esta forma se pierde la posición actual de la partícula y esto podría caer en estancamientos, conduciendo la convergencia hacia óptimos locales. Intentando eliminar esta desventaja, se prueban dos alternativas:

Alternativa 1: Reiniciar aleatoriamente la posición de cada partícula de la población a partir de un determinado número de iteraciones.

Alternativa 2: Partir la población a la mitad, donde cada mitad actualizaría su posición semejante a la variante uno pero para la primera mitad los parámetros de la nueva posición pueden tomar o el mejor valor global o la posición actual; mientras que en la segunda mitad los parámetros pueden tomar o el mejor valor alcanzado por la partícula o la posición actual.

Variante 2: Se basa en ajustar el vector velocidad cada vez que se haga una operación sobre él. En caso de que el parámetro se salga de rango este se calcula nuevamente de manera aleatoria dentro de los rangos permitidos.

PASO 4: Actualización de la memoria

donde f(x) es la función objetivo sujeta a optimizar, en este caso usamos la medida-F global (Overall F-Measure), descrita en el epígrafe 2.4.2.

PASO 5: Chequeo de terminación

Repetir el algoritmo del paso 2 al paso 4 hasta que se cumpla cierta condición de terminación. La condición de terminación está determinada por la cantidad de iteraciones definidas por el usuario. La salida del algoritmo ofrece como soluciones la mejor posición global alcanzada por la población y el valor de la función objetivo para esa configuración de parámetros, que en este caso es el valor que alcanzó la medida-F global.

48

Documento similar