Optymalizacja much dyspersyjnych - Dispersive flies optimisation
Dyspersyjna optymalizacja much ( DFO ) to algorytm inteligencji roju z gołymi kośćmi, inspirowany zachowaniem roju much unoszących się nad źródłami pożywienia. DFO to prosty optymalizator, który iteracyjnie próbuje ulepszyć potencjalne rozwiązanie w odniesieniu do miary liczbowej obliczanej przez funkcję sprawności . Każdy członek populacji, mucha lub agent, posiada rozwiązanie kandydata, którego przydatność można ocenić na podstawie ich wartości sprawności. Problemy optymalizacyjne są często formułowane jako problemy minimalizacji lub maksymalizacji.
DFO został wprowadzony z zamiarem przeanalizowania uproszczonego algorytmu inteligencji roju z najmniejszą liczbą dostrajanych parametrów i komponentów. W pierwszej pracy nad DFO algorytm ten został porównany z kilkoma innymi istniejącymi technikami inteligencji roju przy użyciu miar błędów , wydajności i różnorodności. Pokazano, że pomimo prostoty algorytmu, który wykorzystuje tylko wektory pozycji agentów w czasie t do generowania wektorów pozycji dla czasu t +1, wykazuje on konkurencyjną wydajność. Od samego początku DFO jest wykorzystywane w różnych aplikacjach, w tym obrazowaniu medycznym i analizie obrazu, a także eksploracji danych i uczeniu maszynowemu.
Algorytm
DFO ma wiele podobieństw z innymi istniejącymi ciągłymi, populacyjnymi optymalizatorami (np. optymalizacja roju cząstek i ewolucja różnicowa ). W tym przypadku zachowanie roju osobników składa się z dwóch ściśle powiązanych ze sobą mechanizmów, jednym jest tworzenie roju, a drugim jego przełamanie lub osłabienie. DFO działa poprzez ułatwianie wymiany informacji między członkami populacji (muchy rojące). Każda mucha reprezentuje pozycję w d- wymiarowej przestrzeni poszukiwań: , a przydatność każdej muchy jest obliczana przez funkcję sprawności , która uwzględnia wymiary d much : .
Poniższy pseudokod reprezentuje jedną iterację algorytmu:
for i = 1 : N flies end for i = arg min for i = 1 : N and for d = 1 : D dimensions if else end if end for d end for i
W powyższym algorytmie reprezentuje lot w wymiarze i czasie ; przedstawia najlepiej sąsiadującą muchę w topologii pierścienia (w lewo lub w prawo, przy użyciu indeksów much), w wymiarze i czasie ; i jest najlepszą muchą w roju. Korzystając z tego równania aktualizacji, aktualizacja populacji roju zależy od najlepszego sąsiada każdej muchy (który jest używany jako punkt skupienia , a różnica między obecną muchą a najlepszą w roju reprezentuje rozprzestrzenianie się ruchu, ).
Poza wielkością populacji jedynym dostrajanym parametrem jest próg zakłóceń , który kontroluje wymiarowo restart w każdym wektorze lotu. Ten mechanizm jest proponowany do kontrolowania różnorodności roju.
Innym godnym uwagi minimalistycznym algorytmem roju są roje cząstek nagich kości (BB-PSO), które opierają się na optymalizacji roju cząstek, wraz z ewolucją różnicową nagich kości (BBDE), która jest hybrydą optymalizatora roju cząstek nagich kości i ewolucji różnicowej, której celem jest zmniejszyć liczbę parametrów. Alhakbani w swojej pracy doktorskiej obejmuje wiele aspektów algorytmów, w tym kilka zastosowań DFO w doborze funkcji, a także dostrajaniu parametrów.
Aplikacje
Niektóre z ostatnich zastosowań DFO są wymienione poniżej:
- Optymalizacja jądra maszyny wektorów pomocniczych w celu sklasyfikowania niezrównoważonych danych
- Kwantyfikacja symetrycznej złożoności w estetyce obliczeniowej
- Analiza autopoezy obliczeniowej i kreatywności obliczeniowej
- Identyfikacja zwapnień na obrazach medycznych
- Budowanie nieidentycznych struktur organicznych dla rozwoju przestrzeni gry
- Głęboka neuroewolucja : Trening głębokich sieci neuronowych do wykrywania fałszywych alarmów na oddziałach intensywnej terapii
- Identyfikacja kluczowych punktów animacji z map 2D-medialności