stringtranslate.com

Algoritmo de estimación de distribución

Estimación del algoritmo de distribución. Para cada iteración i , se realiza un sorteo aleatorio para una población P en una distribución PDu . Luego, se estiman los parámetros de distribución PDe utilizando los puntos seleccionados PS . El ejemplo ilustrado optimiza una función objetivo continua f(X) con un óptimo único O. El muestreo (que sigue una distribución normal N ) se concentra alrededor del óptimo a medida que se avanza en el algoritmo de desenrollado.

Los algoritmos de estimación de distribución ( EDA ), a veces llamados algoritmos genéticos de construcción de modelos probabilísticos (PMBGA), [1] son ​​métodos de optimización estocástica que guían la búsqueda del óptimo mediante la construcción y el muestreo de modelos probabilísticos explícitos de soluciones candidatas prometedoras. La optimización se considera como una serie de actualizaciones incrementales de un modelo probabilístico, comenzando con el modelo que codifica una distribución previa no informativa sobre soluciones admisibles y terminando con el modelo que genera solo los óptimos globales. [2] [3] [4]

Los algoritmos EDA pertenecen a la clase de algoritmos evolutivos . La principal diferencia entre los algoritmos EDA y la mayoría de los algoritmos evolutivos convencionales es que los algoritmos evolutivos generan nuevas soluciones candidatas utilizando una distribución implícita definida por uno o más operadores de variación, mientras que los EDA utilizan una distribución de probabilidad explícita codificada por una red bayesiana , una distribución normal multivariante u otra clase de modelo. De manera similar a otros algoritmos evolutivos, los EDA se pueden utilizar para resolver problemas de optimización definidos sobre una serie de representaciones, desde vectores hasta expresiones S de estilo LISP , y la calidad de las soluciones candidatas a menudo se evalúa utilizando una o más funciones objetivo.

El procedimiento general de una EDA se describe a continuación:

t  := 0Inicializar el modelo M(0) para representar una distribución uniforme sobre las soluciones admisiblesmientras (criterios de terminación no cumplidos) hacer  P  := generar N>0 soluciones candidatas muestreando M( t ) F  := evaluar todas las soluciones candidatas en P M(t + 1) := adjust_model( P , F , M( t )) t  := t + 1

El uso de modelos probabilísticos explícitos en la optimización permitió a los EDA resolver de manera factible problemas de optimización que eran notoriamente difíciles para la mayoría de los algoritmos evolutivos convencionales y las técnicas de optimización tradicionales, como los problemas con altos niveles de epistasis [ cita requerida ] . No obstante, la ventaja de los EDA es también que estos algoritmos proporcionan al profesional de la optimización una serie de modelos probabilísticos que revelan mucha información sobre el problema que se está resolviendo. Esta información se puede utilizar a su vez para diseñar operadores de vecindad específicos del problema para la búsqueda local, para sesgar futuras ejecuciones de EDA en un problema similar o para crear un modelo computacional eficiente del problema.

Por ejemplo, si la población está representada por cadenas de bits de longitud 4, la EDA puede representar la población de soluciones prometedoras utilizando un único vector de cuatro probabilidades (p1, p2, p3, p4) donde cada componente de p define la probabilidad de que esa posición sea un 1. Utilizando este vector de probabilidad es posible crear un número arbitrario de soluciones candidatas.

Algoritmos de estimación de distribución (EDA)

En esta sección se describen los modelos construidos por algunos EDA conocidos de diferentes niveles de complejidad. Siempre se supone una población en la generación , un operador de selección , un operador de construcción de modelos y un operador de muestreo .

Factorizaciones univariadas

Los análisis de probabilidad de variables univariadas más simples suponen que las variables de decisión son independientes, es decir , . Por lo tanto, los análisis de probabilidad de variables univariadas dependen únicamente de estadísticas univariadas y las distribuciones multivariadas deben factorizarse como el producto de distribuciones de probabilidad univariadas.

Estas factorizaciones se utilizan en muchos EDA diferentes, a continuación describimos algunas de ellas.

Algoritmo de distribución marginal univariante (UMDA)

El UMDA [5] es un EDA simple que utiliza un operador para estimar probabilidades marginales a partir de una población seleccionada . Al suponer que contiene elementos, produce probabilidades:

Cada paso de UMDA se puede describir de la siguiente manera

Aprendizaje incremental basado en la población(PBIL)

El PBIL, [6] representa a la población implícitamente por su modelo, del cual toma muestras de nuevas soluciones y actualiza el modelo. En cada generación, se toman muestras de individuos y se seleccionan. Dichos individuos se utilizan luego para actualizar el modelo de la siguiente manera:

donde es un parámetro que define la tasa de aprendizaje , un valor pequeño determina que el modelo anterior solo debería modificarse ligeramente con las nuevas soluciones muestreadas. PBIL puede describirse como

Algoritmo genético compacto (cGA)

El CGA, [7] también se basa en las poblaciones implícitas definidas por distribuciones univariadas. En cada generación , se toman muestras de dos individuos, . Luego, la población se clasifica en orden decreciente de aptitud, , siendo la mejor y la peor solución. El CGA estima las probabilidades univariadas de la siguiente manera

donde, es una constante que define la tasa de aprendizaje , normalmente establecida en . El CGA se puede definir como

Factorizaciones bivariadas

Aunque los modelos univariados se pueden calcular de manera eficiente, en muchos casos no son lo suficientemente representativos como para proporcionar un mejor rendimiento que los AG. Para superar este inconveniente, se propuso el uso de factorizaciones bivariadas en la comunidad EDA, en las que se podrían modelar las dependencias entre pares de variables. Una factorización bivariada se puede definir de la siguiente manera, donde contiene una posible variable dependiente de , es decir .

Las distribuciones bivariadas y multivariadas suelen representarse como modelos gráficos probabilísticos (grafos), en los que las aristas denotan dependencias estadísticas (o probabilidades condicionales) y los vértices denotan variables. Para aprender la estructura de un PGM a partir de datos se emplea el aprendizaje por ligamiento.

Agrupamiento de entrada que maximiza la información mutua (MIMIC)

El MIMIC [8] factoriza la distribución de probabilidad conjunta en un modelo en cadena que representa dependencias sucesivas entre variables. Encuentra una permutación de las variables de decisión, , tal que minimiza la divergencia de Kullback-Leibler en relación con la distribución de probabilidad verdadera, es decir . MIMIC modela una distribución

Las nuevas soluciones se muestrean de la variable más a la izquierda a la más a la derecha, la primera se genera de forma independiente y las demás según probabilidades condicionales. Dado que la distribución estimada debe volver a calcularse en cada generación, MIMIC utiliza poblaciones concretas de la siguiente manera

Algoritmo de distribución marginal bivariada (BMDA)

El BMDA [9] factoriza la distribución de probabilidad conjunta en distribuciones bivariadas. Primero, se agrega una variable elegida aleatoriamente como un nodo en un gráfico, se elige la variable más dependiente de una de las del gráfico entre las que aún no están en el gráfico, este procedimiento se repite hasta que ninguna variable restante dependa de ninguna variable del gráfico (verificado de acuerdo con un valor umbral).

El modelo resultante es un bosque con múltiples árboles con raíces en los nodos . Teniendo en cuenta las variables no raíz, BMDA estima una distribución factorizada en la que las variables raíz se pueden muestrear de forma independiente, mientras que todas las demás deben estar condicionadas a la variable principal .

Cada paso del BMDA se define de la siguiente manera

Factorizaciones multivariadas

La siguiente etapa del desarrollo de las EDA fue el uso de factorizaciones multivariadas. En este caso, la distribución de probabilidad conjunta suele factorizarse en un número de componentes de tamaño limitado .

El aprendizaje de PGM que codifican distribuciones multivariadas es una tarea computacionalmente costosa, por lo tanto, es habitual que los EDA estimen estadísticas multivariadas a partir de estadísticas bivariadas. Esta relajación permite que los PGM se construyan en tiempo polinomial en ; sin embargo, también limita la generalidad de dichos EDA.

Algoritmo genético compacto extendido (eCGA)

La ECGA [10] fue una de las primeras EDA en emplear factorizaciones multivariadas, en las que se pueden modelar dependencias de alto orden entre variables de decisión. Su enfoque factoriza la distribución de probabilidad conjunta en el producto de distribuciones marginales multivariadas. Supongamos que es un conjunto de subconjuntos, en el que cada uno es un conjunto de enlace, que contiene variables. La distribución de probabilidad conjunta factorizada se representa de la siguiente manera

La ECGA popularizó el término "aprendizaje de enlaces" para designar los procedimientos que identifican conjuntos de enlaces. Su procedimiento de aprendizaje de enlaces se basa en dos medidas: (1) la complejidad del modelo (CM) y (2) la complejidad de la población comprimida (CPC). La CM cuantifica el tamaño de la representación del modelo en términos de la cantidad de bits necesarios para almacenar todas las probabilidades marginales.

El CPC, por otro lado, cuantifica la compresión de datos en términos de entropía de la distribución marginal sobre todas las particiones, donde es el tamaño de la población seleccionada, es el número de variables de decisión en el conjunto de enlace y es la entropía conjunta de las variables en

El aprendizaje de ligamiento en ECGA funciona de la siguiente manera: (1) Insertar cada variable en un grupo, (2) calcular CCC = MC + CPC de los conjuntos de ligamiento actuales, (3) verificar el aumento en CCC proporcionado por la unión de pares de grupos, (4) unir efectivamente aquellos grupos con la mayor mejora de CCC. Este procedimiento se repite hasta que no sea posible ninguna mejora de CCC y se produce un modelo de ligamiento . El ECGA trabaja con poblaciones concretas, por lo tanto, utilizando la distribución factorizada modelada por ECGA, se puede describir como

Algoritmo de optimización bayesiano (BOA)

El BOA [11] [12] [13] utiliza redes bayesianas para modelar y muestrear soluciones prometedoras. Las redes bayesianas son gráficos acíclicos dirigidos, con nodos que representan variables y aristas que representan probabilidades condicionales entre pares de variables. El valor de una variable puede estar condicionado a un máximo de otras variables, definidas en . BOA construye un PGM que codifica una distribución conjunta factorizada, en la que los parámetros de la red, es decir, las probabilidades condicionales, se estiman a partir de la población seleccionada utilizando el estimador de máxima verosimilitud.

Por otra parte, la estructura de red bayesiana debe construirse de forma iterativa (aprendizaje de enlaces). Comienza con una red sin aristas y, en cada paso, agrega la arista que mejora alguna métrica de puntuación (por ejemplo, el criterio de información bayesiano (BIC) o la métrica bayesiana-Dirichlet con equivalencia de verosimilitud (BDe)). [14] La métrica de puntuación evalúa la estructura de la red según su precisión al modelar la población seleccionada. A partir de la red construida, BOA toma muestras de nuevas soluciones prometedoras de la siguiente manera: (1) calcula el orden ancestral para cada variable, siendo cada nodo precedido por sus padres; (2) cada variable se muestrea condicionalmente a sus padres. Dado tal escenario, cada paso de BOA se puede definir como

Algoritmo genético de árbol de ligamiento (LTGA)

El LTGA [15] difiere de la mayoría de los EDA en el sentido de que no modela explícitamente una distribución de probabilidad sino solo un modelo de enlace, llamado árbol de enlace. Un enlace es un conjunto de conjuntos de enlaces sin distribución de probabilidad asociada, por lo tanto, no hay forma de muestrear nuevas soluciones directamente desde . El modelo de enlace es un árbol de enlace producido y almacenado como una Familia de conjuntos (FOS).

El procedimiento de aprendizaje de árboles de enlace es un algoritmo de agrupamiento jerárquico que funciona de la siguiente manera: en cada paso, se fusionan los dos grupos más cercanos y este procedimiento se repite hasta que solo quede un grupo y cada subárbol se almacena como un subconjunto .

La LTGA utiliza para guiar un procedimiento de "mezcla óptima" que se asemeja a un operador de recombinación pero que solo acepta movimientos de mejora. Lo denotamos como , donde la notación indica la transferencia del material genético indexado por de a .

Algoritmo de mezcla óptima del acervo genético Entrada: Una familia de subconjuntos y una población Salida: Una población . para cada uno en hacer para cada uno en hacer elija un aleatorio  := := si entonces devuelve                 

El LTGA no implementa operadores de selección típicos, sino que la selección se realiza durante la recombinación. Se han aplicado ideas similares en la heurística de búsqueda local y, en este sentido, el LTGA puede considerarse un método híbrido. En resumen, un paso del LTGA se define como

Otro

Relacionado

Referencias

  1. ^ Pelikan, Martin (21 de febrero de 2005), "Algoritmos genéticos de construcción de modelos probabilísticos", Algoritmo de optimización bayesiana jerárquica , Estudios sobre imprecisión y computación blanda, vol. 170, Springer Berlin Heidelberg, págs. 13-30, doi :10.1007/978-3-540-32373-0_2, ISBN 9783540237747
  2. ^ Pedro Larrañaga; Jose A. Lozano (2002). Estimación de algoritmos de distribución: una nueva herramienta para la computación evolutiva . Boston, MA: Springer US. ISBN 978-1-4615-1539-5.
  3. ^ Jose A. Lozano; Larrañaga, P.; Inza, I.; Bengoetxea, E. (2006). Hacia una nueva computación evolutiva: avances en la estimación de algoritmos de distribución . Berlín: Springer. ISBN 978-3-540-32494-2.
  4. ^ Pelikan, Martin; Sastry, Kumara; Cantú-Paz, Erick (2006). Optimización escalable mediante modelado probabilístico: de algoritmos a aplicaciones; con 26 tablas . Berlín: Springer. ISBN 978-3540349532.
  5. ^ Mühlenbein, Heinz (1 de septiembre de 1997). "La ecuación de respuesta a la selección y su uso para la predicción". Evol. Computation . 5 (3): 303–346. doi :10.1162/evco.1997.5.3.303. ISSN  1063-6560. PMID  10021762. S2CID  2593514.
  6. ^ Baluja, Shummet (1 de enero de 1994). "Aprendizaje incremental basado en la población: un método para integrar la optimización de funciones basada en búsqueda genética y el aprendizaje competitivo". Universidad Carnegie Mellon. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  7. ^ Harik, GR; Lobo, FG; Goldberg, DE (1999). "El algoritmo genético compacto". IEEE Transactions on Evolutionary Computation . 3 (4): 287–297. doi :10.1109/4235.797971.
  8. ^ Bonet, Jeremy S. De; Isbell, Charles L.; Viola, Paul (1 de enero de 1996). "MIMIC: Encontrar óptimos mediante la estimación de densidades de probabilidad". Avances en sistemas de procesamiento de información neuronal : 424. CiteSeerX 10.1.1.47.6497 . 
  9. ^ Pelikan, Martin; Muehlenbein, Heinz (1 de enero de 1999). "El algoritmo de distribución marginal bivariada". Avances en computación blanda . págs. 521–535. CiteSeerX 10.1.1.55.1151 . doi :10.1007/978-1-4471-0819-1_39. ISBN .  978-1-85233-062-0.
  10. ^ Harik, Georges Raif (1997). Aprendizaje del ligamiento genético para resolver de manera eficiente problemas de dificultad limitada utilizando algoritmos genéticos (doctorado). Universidad de Michigan.
  11. ^ Pelikan, Martin; Goldberg, David E.; Cantu-Paz, Erick (1 de enero de 1999). "BOA: El algoritmo de optimización bayesiano". Morgan Kaufmann: 525–532. CiteSeerX 10.1.1.46.8131 .  {{cite journal}}: Requiere citar revista |journal=( ayuda )
  12. ^ Pelikan, Martin (2005). Algoritmo de optimización bayesiana jerárquica: hacia una nueva generación de algoritmos evolutivos (1.ª ed.). Berlín [ua]: Springer. ISBN 978-3-540-23774-7.
  13. ^ Wolpert, David H.; Rajnarayan, Dev (1 de enero de 2013). "Uso del aprendizaje automático para mejorar la optimización estocástica". Actas de la 17.ª Conferencia AAAI sobre los últimos avances en el campo de la inteligencia artificial . Aaaiws'13-17: 146–148.
  14. ^ Larrañaga, Pedro; Karshenas, Hossein; Bielza, Concha; Santana, Roberto (21 de agosto de 2012). "Una revisión sobre modelos gráficos probabilísticos en computación evolutiva". Journal of Heuristics . 18 (5): 795–819. doi :10.1007/s10732-012-9208-4. S2CID  9734434.
  15. ^ Thierens, Dirk (11 de septiembre de 2010). "El algoritmo genético del árbol de ligamiento". Resolución de problemas paralelos de la naturaleza, PPSN XI . pp. 264–273. doi :10.1007/978-3-642-15844-5_27. ISBN 978-3-642-15843-8.
  16. ^ WOLPERT, DAVID H.; STRAUSS, CHARLIE EM; RAJNARAYAN, DEV (diciembre de 2006). "Avances en optimización distribuida utilizando colectivos de probabilidad". Avances en sistemas complejos . 09 (4): 383–436. CiteSeerX 10.1.1.154.6395 . doi :10.1142/S0219525906000884. 
  17. ^ Pelikan, Martin; Goldberg, David E.; Lobo, Fernando G. (2002). "Un estudio de optimización mediante la construcción y el uso de modelos probabilísticos". Optimización computacional y aplicaciones . 21 (1): 5–20. doi :10.1023/A:1013500812258.
  18. ^ Rudlof, Stephan; Köppen, Mario (1997). "Escalada estocástica de colinas con aprendizaje por vectores de distribuciones normales": 60–70. CiteSeerX 10.1.1.19.3536 .  {{cite journal}}: Requiere citar revista |journal=( ayuda )
  19. ^ Rudlof, Stephan; Köppen, Mario (1997). "Escalada estocástica de colinas con aprendizaje por vectores de distribuciones normales": 60––70. CiteSeerX 10.1.1.19.3536 .  {{cite journal}}: Requiere citar revista |journal=( ayuda )
  20. ^ Corno, Fulvio; Reorda, Matteo Sonza; Squillero, Giovanni (27 de febrero de 1998). El algoritmo del gen egoísta: una nueva estrategia de optimización evolutiva . ACM. págs. 349–355. doi :10.1145/330560.330838. ISBN 978-0897919692.S2CID 9125252  .
  21. ^ Mininno, Ernesto; Neri, Ferrante; Cupertino, Francesco; Naso, David (2011). "Evolución diferencial compacta". IEEE Transactions on Evolutionary Computation . 15 (1): 32–54. doi :10.1109/tevc.2010.2058120. ISSN  1089-778X. S2CID  20582233.
  22. ^ Iacca, Giovanni; Caraffini, Fabio; Neri, Ferrante (2012). "Compact Differential Evolution Light: Alto rendimiento a pesar de los requisitos de memoria limitados y una modesta sobrecarga computacional". Revista de Ciencias de la Computación y Tecnología . 27 (5): 1056–1076. doi :10.1007/s11390-012-1284-2. ISSN  1000-9000. S2CID  3184035.
  23. ^ Iacca, Giovanni; Neri, Ferrante; Mininno, Ernesto (2011), "Aprendizaje basado en oposición en evolución diferencial compacta", Aplicaciones de la computación evolutiva , Springer Berlin Heidelberg, págs. 264-273, doi :10.1007/978-3-642-20525-5_27, ISBN 9783642205248
  24. ^ Mallipeddi, Rammohan; Iacca, Giovanni; Suganthan, Ponnuthurai Nagaratnam; Neri, Ferrante; Minino, Ernesto (2011). "Estrategias de conjunto en Evolución Diferencial Compacta". 2011 Congreso IEEE de Computación Evolutiva (CEC) . IEEE. págs. 1972-1977. doi :10.1109/cec.2011.5949857. ISBN 9781424478347. Número de identificación del sujeto  11781300.
  25. ^ Neri, Ferrante; Iacca, Giovanni; Mininno, Ernesto (2011). "Explotación perturbada de la evolución diferencial compacta para problemas de optimización de memoria limitada". Ciencias de la información . 181 (12): 2469–2487. doi :10.1016/j.ins.2011.02.004. ISSN  0020-0255.
  26. ^ Iacca, Giovanni; Mallipeddi, Rammohan; Minino, Ernesto; Neri, Ferrante; Suganthan, Pannuthurai Nagaratnam (2011). "Supervisión global para la Evolución Diferencial compacta". Simposio IEEE 2011 sobre evolución diferencial (SDE) . IEEE. págs. 1–8. doi :10.1109/sde.2011.5952051. ISBN 9781612840710.S2CID8874851  .​
  27. ^ Iacca, Giovanni; Mallipeddi, Rammohan; Mininno, Ernesto; Neri, Ferrante; Suganthan, Pannuthurai Nagaratnam (2011). "Superajuste y reducción del tamaño de la población en la evolución diferencial compacta". Taller IEEE 2011 sobre computación memética (MC) . IEEE. págs. 1–8. doi :10.1109/mc.2011.5953633. ISBN . 9781612840659.S2CID5692951  .​
  28. ^ Neri, Ferrante; Mininno, Ernesto; Iacca, Giovanni (2013). "Optimización de enjambre de partículas compactas". Ciencias de la información . 239 : 96–121. doi :10.1016/j.ins.2013.03.026. ISSN  0020-0255.
  29. ^ Iacca, Giovanni; Neri, Ferrante; Mininno, Ernesto (2012), "Optimización compacta de la alimentación bacteriana", Swarm and Evolutionary Computation , Springer Berlin Heidelberg, págs. 84-92, doi :10.1007/978-3-642-29353-5_10, hdl :11572/196442, ISBN 9783642293528
  30. ^ Salustowicz, null; Schmidhuber, null (1997). "Evolución probabilística incremental de programas". Computación evolutiva . 5 (2): 123–141. doi :10.1162/evco.1997.5.2.123. ISSN  1530-9304. PMID  10021756. S2CID  10759266.
  31. ^ Tamayo-Vera, Dania; Bolufe-Rohler, Antonio; Chen, Stephen (2016). "Algoritmo normal multivariante de estimación con convergencia de umbral". Congreso IEEE sobre Computación Evolutiva (CEC) de 2016. IEEE. págs. 3425–3432. doi :10.1109/cec.2016.7744223. ISBN. 9781509006236. Número de identificación del sujeto  33114730.
  32. ^ Yu, Tian-Li; Goldberg, David E.; Yassine, Ali; Chen, Ying-Ping (2003), "Diseño de algoritmos genéticos inspirados en la teoría organizacional: estudio piloto de un algoritmo genético impulsado por una matriz de estructura de dependencia", Computación genética y evolutiva — GECCO 2003 , Springer Berlin Heidelberg, págs. 1620–1621, doi :10.1007/3-540-45110-2_54, ISBN 9783540406037
  33. ^ Hsu, Shih-Huan; Yu, Tian-Li (11 de julio de 2015). Optimización mediante detección de enlaces por pares, conjunto de enlaces incrementales y mezcla restringida/retroactiva: DSMGA-II . ACM. págs. 519–526. arXiv : 1807.11669 . doi :10.1145/2739480.2754737. ISBN . 9781450334723.S2CID 17031156  .