Uppskattning av distributionsalgoritm - Estimation of distribution algorithm
Uppskattning av distributionsalgoritmer ( EDA ), ibland kallade probabilistiska modellbyggande genetiska algoritmer (PMBGA), är stokastiska optimeringsmetoder som styr sökandet efter det optimala genom att bygga och ta prov på tydliga probabilistiska modeller av lovande kandidatlösningar. Optimering ses som en serie inkrementella uppdateringar av en sannolikhetsmodell, som börjar med att modellen kodar ett oinformativt tidigare än tillåtna lösningar och slutar med modellen som endast genererar den globala optiman.
EDA hör till klassen av evolutionära algoritmer . Huvudskillnaden mellan EDA och de mest konventionella evolutionära algoritmerna är att evolutionära algoritmer genererar nya kandidatlösningar med hjälp av en implicit distribution definierad av en eller flera variationoperatörer, medan EDA använder en uttrycklig sannolikhetsfördelning som kodas av ett Bayesianskt nätverk , en multivariat normalfördelning eller en annan modellklass. På samma sätt som andra evolutionära algoritmer kan EDA användas för att lösa optimeringsproblem definierade över ett antal representationer från vektorer till LISP -stil S -uttryck, och kvaliteten på kandidatlösningar utvärderas ofta med hjälp av en eller flera objektiva funktioner.
Det allmänna förfarandet för ett EDA beskrivs i följande:
t := 0
initialize model M(0) to represent uniform distribution over admissible solutions
while (termination criteria not met) do
P := generate N>0 candidate solutions by sampling M(t)
F := evaluate all candidate solutions in P
M(t + 1) := adjust_model(P, F, M(t))
t := t + 1
Genom att använda tydliga probabilistiska modeller för optimering fick EDA: er att lösa optimeringsproblem som var notoriskt svåra för de flesta konventionella evolutionära algoritmer och traditionella optimeringstekniker, till exempel problem med höga epistaser . Fördelen med EDA är dock också att dessa algoritmer ger en optimeringsutövare en rad probabilistiska modeller som avslöjar mycket information om problemet som ska lösas. Denna information kan i sin tur användas för att designa problemspecifika grannskapsoperatörer för lokal sökning, förspänna framtida körningar av EDA på ett liknande problem eller för att skapa en effektiv beräkningsmodell av problemet.
Till exempel, om populationen representeras av bitsträngar med längd 4, kan EDA representera populationen av lovande lösning med hjälp av en enda vektor med fyra sannolikheter (p1, p2, p3, p4) där varje komponent av p definierar sannolikheten för det positionen är en 1. Med denna sannolikhetsvektor är det möjligt att skapa ett godtyckligt antal kandidatlösningar.
Uppskattning av distributionsalgoritmer (EDA)
Detta avsnitt beskriver de modeller som byggts av några välkända EDA: er med olika komplexitetsnivåer. Det antas alltid en befolkning vid generationen , en urvalsoperatör , en modellbyggande operatör och en provtagningsoperatör .
Univariata faktoriseringar
De mest enkla EDAS antar att beslutsvariabler är oberoende, det vill säga . Därför förlitar sig univariata EDA bara på univariat statistik och multivariata fördelningar måste faktoriseras som en produkt av univariata sannolikhetsfördelningar,
Sådana faktoriseringar används i många olika EDA: er, därefter beskriver vi några av dem.
Univariat marginalfördelningsalgoritm (UMDA)
UMDA är en enkel EDA som använder en operatör för att uppskatta marginella sannolikheter från en vald befolkning . Genom att anta innehålla element producerar sannolikheter:
Varje UMDA -steg kan beskrivas enligt följande
Befolkningsbaserat inkrementellt lärande (PBIL)
PBIL, representerar befolkningen implicit genom sin modell, från vilken den provar nya lösningar och uppdaterar modellen. Vid varje generation urvals individer och väljs ut. Sådana individer används sedan för att uppdatera modellen enligt följande
var är en parameter som definierar inlärningshastigheten , bestämmer ett litet värde att den föregående modellen endast ska modifieras något av de nya lösningarna som samplats. PBIL kan beskrivas som
Kompakt genetisk algoritm (cGA)
CGA förlitar sig också på de implicita populationer som definieras av univariata fördelningar. Vid varje generation , två individer samplas, . Befolkningen sorteras sedan i minskande kondition, med att vara den bästa och den sämsta lösningen. CGA uppskattar univariata sannolikheter enligt följande
där, är en konstant som definierar inlärningshastigheten , vanligtvis inställd på . CGA kan definieras som
Bivariata faktoriseringar
Även om univariata modeller kan beräknas effektivt, är de i många fall inte tillräckligt representativa för att ge bättre prestanda än GA. För att övervinna en sådan nackdel föreslogs användningen av bivariata faktoriseringar i EDA -gemenskapen, där beroenden mellan par av variabler kunde modelleras. En bivariat faktorisering kan definieras enligt följande, där innehåller en möjlig variabel som beror på , dvs .
Bivariata och multivariata distributioner representeras vanligtvis som probabilistiska grafiska modeller (grafer), där kanter betecknar statistiska beroenden (eller villkorliga sannolikheter) och hörn betecknar variabler. För att lära sig strukturen för en PGM från datalänkande-lärande används.
Ömsesidig information som maximerar input clustering (MIMIC)
MIMIC faktoriserar den gemensamma sannolikhetsfördelningen i en kedjeliknande modell som representerar successiva beroenden mellan variabler. Den finner en permutation av beslutsvariabler, så att Minimerar Kullback-Leibler divergens i förhållande till den verkliga sannolikhetsfördelning, det vill säga . MIMIC modellerar en distribution
Nya lösningar samplas från variabeln längst till vänster till höger, den första genereras oberoende och de andra enligt villkorade sannolikheter. Eftersom den uppskattade distributionen måste beräknas varje generation använder MIMIC konkreta populationer på följande sätt
Bivariat marginalfördelningsalgoritm (BMDA)
BMDA faktoriserar den gemensamma sannolikhetsfördelningen i bivariata fördelningar. Först läggs en slumpmässigt vald variabel till som en nod i en graf, den mest beroende variabeln till en av dem i grafen väljs bland dem som ännu inte finns i grafen, denna procedur upprepas tills ingen kvarvarande variabel beror på någon variabel i diagram (verifierat enligt ett tröskelvärde).
Den resulterande modellen är en skog med flera träd rotade vid noder . Med tanke på de icke-rotvariablerna uppskattar BMDA en faktoriserad fördelning där rotvariablerna kan samplas oberoende, medan alla andra måste konditioneras till den överordnade variabeln .
Varje steg i BMDA definieras enligt följande
Multivariata faktoriseringar
Nästa steg i utvecklingen av EDA var användningen av multivariata faktoriseringar. I detta fall är den gemensamma sannolikhetsfördelningen vanligtvis faktoriserad i ett antal komponenter av begränsad storlek .
Inlärning av PGM som kodar för multivariata distributioner är en beräkningsmässigt dyr uppgift. Därför är det vanligt att EDA uppskattar multivariat statistik från bivariat statistik. Sådan avslappning gör att PGM kan byggas in på polynomtid i ; det begränsar emellertid också allmänheten i sådana EDA.
Utökad kompakt genetisk algoritm (eCGA)
ECGA var en av de första EDA som använde multivariata faktoriseringar, där beroendeordningar mellan beslutsvariabler kan modelleras. Dess tillvägagångssätt faktoriserar den gemensamma sannolikhetsfördelningen i produkten av multivariata marginalfördelningar. Antag är en uppsättning delmängder, där alla är en kopplingsuppsättning, som innehåller variabler. Den faktoriserade gemensamma sannolikhetsfördelningen representeras enligt följande
ECGA populariserade termen "kopplingsinlärning" som betecknande förfaranden som identifierar kopplingsuppsättningar. Dess kopplingsinlärningsprocedur bygger på två åtgärder: (1) Model Complexity (MC) och (2) the Compressed Population Complexity (CPC). MC kvantifierar modellrepresentationens storlek i termer av antalet bitar som krävs för att lagra alla marginella sannolikheter
CPC, å andra sidan, kvantifierar datakomprimeringen i termer av entropi av marginalfördelningen över alla partitioner, där är den valda befolkningsstorleken, är antalet beslutsvariabler i kopplingsuppsättningen och är den gemensamma entropin för variablerna i
Kopplingsinlärningen i ECGA fungerar enligt följande: (1) Infoga varje variabel i ett kluster, (2) beräkna CCC = MC + CPC för de nuvarande kopplingsuppsättningarna, (3) verifiera ökningen på CCC genom att koppla ihop par med kluster, (4) sammanfogar effektivt de kluster med högsta CCC -förbättring. Denna procedur upprepas tills inga CCC -förbättringar är möjliga och ger en kopplingsmodell . ECGA arbetar med konkreta populationer, därför kan den med hjälp av den faktoriserade fördelningen som modelleras av ECGA beskrivas som
Bayesiansk optimeringsalgoritm (BOA)
BOA använder Bayesianska nätverk för att modellera och prova lovande lösningar. Bayesiska nätverk är riktade acykliska grafer, med noder som representerar variabler och kanter som representerar villkorliga sannolikheter mellan par av variabler. Värdet på en variabel kan betingas av maximalt andra variabler, definierade i . BOA bygger en PGM som kodar en faktoriserad gemensam fördelning, där parametrarna i nätet, det vill säga villkorliga sannolikheter, uppskattas från den utvalda populationen med hjälp av den maximala sannolikhetsestimatorn.
Den Bayesianska nätverksstrukturen måste å andra sidan byggas iterativt (kopplingsinlärning). Det börjar med ett nätverk utan kanter och lägger i varje steg till kanten som bättre förbättrar vissa poängmätningar (t.ex. Bayesiansk informationskriterium (BIC) eller Bayesian-Dirichlet-mätvärde med sannolikhetsekvivalens (BDe)). Poängvärdet utvärderar nätverksstrukturen enligt dess noggrannhet vid modellering av den utvalda befolkningen. Från det inbyggda nätverket samplar BOA nya lovande lösningar enligt följande: (1) den beräknar förfädernas ordning för varje variabel, varje nod föregås av sina föräldrar; (2) varje variabel samplas villkorligt till sina föräldrar. Med tanke på ett sådant scenario kan varje BOA -steg definieras som
Linkage-tree Genetic Algorithm (LTGA)
LTGA skiljer sig från de flesta EDA i den meningen att den inte uttryckligen modellerar en sannolikhetsfördelning utan bara en kopplingsmodell, kallad länkträd. En koppling är en uppsättning kopplingsuppsättningar utan sannolikhetsfördelning associerad, därför finns det inget sätt att prova nya lösningar direkt från . Kopplingsmodellen är ett kopplingsträd som produceras lagrat som en familj av uppsättningar (FOS).
Inlärningsproceduren för kopplingsträd är en hierarkisk klusteralgoritm som fungerar enligt följande. Vid varje steg de två närmaste klustren och slås samman, upprepas denna procedur tills endast ett kluster återstår, varje delträd lagras som en delmängd .
LTGA använder för att styra en "optimal blandning" -procedur som liknar en rekombinationsoperatör men bara accepterar förbättrade drag. Vi betecknar det som där notationen indikerar överföringen av det genetiska materialet som indexeras av från till .
Algorithm Gene-pool optimal mixing Input: A family of subsets and a population Output: A population . for each in do for each in do choose a random := := if then return
- "←" betecknar uppgift . Till exempel betyder " största ← artikel " att värdet av största ändras till objektets värde .
- " retur " avslutar algoritmen och matar ut följande värde.
LTGA implementerar inte typiska urvalsoperatörer, istället utförs urval under rekombination. Liknande idéer har vanligtvis tillämpats på heuristik för lokal sökning och i denna mening kan LTGA ses som en hybridmetod. Sammanfattningsvis definieras ett steg i LTGA som
Övrig
- Sannolikhetskollektiv (PC)
- Bergsklättring med lärande (HCwL)
- Uppskattning av multivariat normal algoritm (EMNA)
- Uppskattning av Bayesiansk nätverksalgoritm (EBNA)
- Stokastisk backklättring med inlärning av vektorer av normalfördelningar (SHCLVND)
- Riktigt kodad PBIL
- Egoistisk genalgoritm (SG)
- Compact Differential Evolution (cDE) och dess varianter
- Kompakt partikelvärmoptimering (cPSO)
- Kompakt bakteriell foderoptimering (cBFO)
- Probabilistisk inkrementell programutveckling (PIPE)
- Uppskattning av Gaussian -nätverksalgoritm (EGNA)
- Estimering multivariat normal algoritm med tröskelkonvergens
- Beroendestrukturmatris Genetisk algoritm (DSMGA)