Capítulo 4. Representación basada en la selección de descripto-
4.2. Materiales y Métodos
4.2.3. Algoritmo de selección de subconjuntos de características
4.2.3.1. Representación de la solución
Diseñar una representación adecuada para las soluciones candidatas (i.e.,subcon-
junto de características) es un paso esencial en el algoritmo genético (GA) (Eibenet al.,
2003). La representación en un GA define una asignación del espacio de las soluciones candidatas, denominado espacio fenotípico, al espacio genotípico, en donde se lleva a cabo la búsqueda de la solución óptima. Para el problema FSSP (ver Subsección 4.1.1), el espacio fenotípico está dado por los posibles subconjuntos que se pueden formar del conjunto de características excluyendo al conjunto vacío. Por lo general, cada subcon- junto en el espacio genotípico se representa como una cadena binaria de longitud fija (Kabiret al., 2011; Huanget al., 2007), en donde cada posición toma el valor de uno si
la característica es parte de la solución y cero en otro caso. La principal desventaja de esta representación es que genera cromosomas extensos, en donde sólo unos pocos bits codifican las características de una solución candidata. Por lo anterior, considera- mos una representación de longitud variable (VLR por sus siglas en inglés deVariable
Length Representation) que permite codificar sólo las características relacionadas con
la solución candidata y en consecuencia, podemos obtener una representación más compacta.
Representación. Un cromosoma g es un subconjunto de números enteros que
codifica el índice de cada característica seleccionada. Entonces un genotipo dado,
g = {g1, g2, . . . , gk}, donde g ∈ {1, . . . , m} y k ≤m, representa el subconjunto Xg =
{Xg1, Xg2, Xg3, . . . , Xgk}. A continuación, mostramos un ejemplo de un individuo y su
Cromosoma Solución candidata
g={1,3,5} → Xg={X1, X3, X5}
4.2.3.2. Función de aptitud
La calidad de un subconjunto Xg se mide de forma indirecta a través del desem-
peño de un modelo de clasificación. El clasificador es inducido por un algoritmo de aprendizaje de máquina, el cual es entrenado utilizando el conjunto de datos con sólo las características codificadas enXg.
Función de aptitud. Dado un subconjunto Xg representado por un cromosomag,
la aptitud deg se define como,
ƒ(Xg) =J(D(Xg)) +λ| Xg| m , (21) donde, J(D(Xg)) = 1 k k X =1 |MCC(I(D(Xg)−D(Xg),D(Xg)))|.
Aquí,J(D(Xg)) es el coeficiente de correlación de Matthew (MCC) estimado por la vali-
dación cruzada dek pliegues sobre el conjunto de datosD(Xg). D(Xg)es la reducción
del conjunto de entrada a nivel de características, en donde se eliminan deD las ca-
racterísticas que no se encuentran en Xg. Además, |.| es el valor absoluto de MCC
obtenido por el clasificador inducido I para del conjunto de validación D(Xg). Es im-
portante notar que el conjunto de datos D(Xg) se divide en k partes mutuamente
excluyentes de igual tamaño, en donde se utilizan k−1 particiones para entrenar I,
es decir,D(Xg)−D(Xg). El segundo término en la Ecuación 21 es un criterio de des-
empate que beneficia a las soluciones más simples, esto es, subconjuntos de menor cardinalidad. Aquí,λ es un valor en el intervalo[10−2,10−4] ymes la cardinalidad del
Figura 12.Ejemplo del espacio genotípico para un conjunto de cuatro características. La imagen muestra como el espacio se divide en subespacios de acuerdo con el tamaño de los subconjuntos.i.e.,conjuntos
con cardinalidad uno, dos, tres y cuatro, respectivamente. Además, se muestran las cotas (L yU) para
la inicialización de los individuos.
4.2.3.3. Principales pasos de SAGAFS
Inicialización de la población. La población inicial deNpopindividuos,P(t)cont=
1, es generada al azar. Para cada cromosoma,g∈P(t), se seleccionan al azark valores
enteros de losm disponibles. Es importante señalar que k está restringido por la cota
inferiorLy la cota superiorU. Estos límites se emplean para restringir el tamaño de los
individuos iniciales, lo que nos permite delimitar los subespacios a visitar inicialmente. Por ejemplo, en la Figura 12 se muestra el espacio genotípico para un conjunto de entrada de cuatro características, en donde sólo para generar la población inicial se pueden tomar individuos de los subespacios en donde se encuentran individuos de cardinalidad uno y dos, respectivamente.
Posterior a la generación de los individuos, el valor de aptitud de cada g en P(t)es
calculado de acuerdo con la función de aptitud descrita en la Ecuación 21.
Selección de los padres y recombinación. De la población actual P(t), se se-
leccionanμ individuos utilizando el torneo binario con reemplazo (Eiben et al., 2003).
Después, reordenamosM(t)de forma aleatoria.
Por cada par consecutivo de padres, i.e., g y g+1 en M(t) para ≤μ−1 (donde μ
es el número de padres), se generan los hijos o yo+1, y se añaden al conjuntoO(t).
Para generarlos, primero se produce un número aleatorior distribuido uniformemente
en el intervalo (0,1). Enseguida, dador y la probabilidad de cruzamientopc, se aplica
una de las siguientes dos operaciones:
Si r ≤ pc entonces se aplica la recombinación entre los padres g y g+1 usan-
do el operador de cruzamiento subset size-oriented common feature crossover
operator (SSOCF) (Emmanouilidiset al., 2000).
En otro caso, se copia el cromosoma del padre g al hijo o y el del padre g+1 al
hijo o+1.
El operador de cruzamiento SSOCF originalmente fue propuesto para representa- ciones de longitud fija (Emmanouilidiset al., 2000). Sin embargo, en SAGAFS lo hemos
adaptado para individuos de longitud variable. El SSOCF tiene la ventaja de preservar las características comunes entre los padres en su descendencia.
Mutación. Para cada hijo en el conjunto de hijos, denotado como O(t), se aplica
el operador de mutaciónk-indel con una probabilidadpm. Convencionalmente, pm es
un valor definido por el usuario y es estático, esto es pm no cambia durante la eje-
cución del algoritmo genético. Sin embargo, en SAGAFSpm se estima dinámicamente
mediante la mutación adaptable propuesta por (Smullenet al., 2014). Este método se
utiliza para aumentar pm cuando la población actual P(t) está por encima de un um-
bral de similitud (i.e., la población tiene baja diversidad), de lo contrariopmse reduce.
En particular, el valor de similitud de una población está dado pors(P(t)) = s
Npop, donde ses el número de individuos idénticos en P(t). La probabilidad de mutación adaptable pm se calcula de la siguiente manera:
donde sgn(s) = −1 si s < θ 0 si s=θ 1 si s > θ
aquí, θ es el umbral de similitud y es un hiperparámetro del algoritmo SAGAFS. Por
otro lado,p0, es la probabilidad inicial de mutación yσ es el tamaño de cada paso.
Por otra parte, diseñamos el operador de mutación k-inserciones/deleciones (k-
indels) con el objetivo de variar el tamaño de un hijo en particular. El operador de mutación k-indels selecciona aleatoriamente un entero k en el intervalo de [1, m].
Después, cada número entero seleccionado se inserta o se elimina del hijo, esto de- pendiendo si el número entero está o no en el cromosoma. Para ilustrar este operador, presentamos el siguiente ejemplo:
o={2,3,8,10} → o={3,6,8,9,10} donde k∈{2,6,9}.
En este ejemplo la característica número 2 se borra mientras que las características número 6 y 9 se añaden.
Después que los hijos enO(t)han sido mutados con una probabilidadpm, la función
de aptitud descrita en la Ecuación 21 es calculada a cada hijo.
Selección de los sobrevivientes. Se aplicó el método de selección por elitismo (Eibenet al., 2003) para seleccionar a los individuos que pasarán a la siguiente gene-
ración (i.e., t+1). Este método consiste en primero unir los Npop individuos en P(t)y μ individuos enO(t), después se ordenan de manera descendente con respecto a sus
valores de aptitud. Por último, se selecciona a losNpop individuos como aquellos que
pasarán a formar parte de la siguiente generaciónP(t+1).
Condición de parada de SAGAFS. El algoritmo SAGAFS puede detenerse de acuerdo con dos condiciones: la primera, es que el número de generaciones t sea
mayor al número máximo de generaciones ng; la segunda, es que la mejor aptitud
se repita de manera consecutiva el mismo número de generaciones sin mejora ng.
ción de SAGAFS cuando el algoritmo se encuentra estancado o la solución óptima es encontrada.
En resumen, el algoritmo SAGAFS entrega como salida tanto el mejor subconjunto de característicasXopt y su valor de aptitud ƒ(Xopt).