introduction genetic algorithms machine learning
lista aplikacji szpiegowskich na Androida
Ten samouczek dotyczący algorytmów genetycznych szczegółowo wyjaśnia, czym są algorytmy genetyczne i ich rolę w uczeniu maszynowym :
w Poprzedni samouczek , dowiedzieliśmy się o sztucznych modelach sieci neuronowych - wielowarstwowym perceptronie, propagacji wstecznej, odchyleniach radialnych i mapach samoorganizujących się Kohonena, w tym o ich architekturze.
Skoncentrujemy się na algorytmach genetycznych, które pojawiły się znacznie wcześniej niż sieci neuronowe, ale teraz GA zostało przejęte przez NN. Chociaż GA nadal ma zastosowania w prawdziwym życiu, takie jak problemy z optymalizacją, takie jak planowanie, granie w gry, robotyka, projektowanie sprzętu, problemy z komiwojażerami itp.
Algorytmy genetyczne to algorytmy oparte na ewolucyjnej idei doboru naturalnego i genetyki. GA to adaptacyjne algorytmy wyszukiwania heurystycznego, tj. Algorytmy podążają za iteracyjnym wzorcem, który zmienia się w czasie. Jest to rodzaj uczenia się przez wzmacnianie, w którym konieczna jest informacja zwrotna bez wskazywania właściwej ścieżki. Informacja zwrotna może być pozytywna lub negatywna.
=> Przeczytaj całą serię szkoleń z zakresu uczenia maszynowego
Czego się nauczysz:
- Dlaczego warto korzystać z algorytmów genetycznych
- Co to są algorytmy genetyczne
- Zalety i wady algorytmu genetycznego
- Zastosowania algorytmów genetycznych
- Wniosek
Dlaczego warto korzystać z algorytmów genetycznych
GA to bardziej niezawodne algorytmy, których można używać do różnych problemów optymalizacyjnych. W przeciwieństwie do innych algorytmów sztucznej inteligencji, algorytmy te nie odchylają się łatwo w obecności szumu. GA mogą być wykorzystywane do poszukiwania dużej przestrzeni lub przestrzeni multimodalnej.
Biologiczne podłoże algorytmów genetycznych
Genetyka wywodzi się od greckiego słowa „geneza”, które oznacza rosnąć. Genetyka decyduje o czynnikach dziedziczności, podobieństwach i różnicach między potomstwem w procesie ewolucji. Algorytmy genetyczne również wywodzą się z naturalnej ewolucji.
Niektóre terminologie w chromosomie biologicznym
- Chromosomy: Wszystkie informacje genetyczne gatunku są przechowywane w chromosomach.
- Geny: Chromosomy są podzielone na kilka części zwanych genami.
- Allele: Geny określają cechy charakterystyczne jednostki. Możliwość połączenia genów w celu utworzenia właściwości nazywa się allelami. Gen może mieć różne allele.
- Pula genowa: Wszystkie możliwe kombinacje genów, które są allelami w puli populacji, nazywane są pulą genów.
- Genom: Zestaw genów gatunku nazywany jest genomem.
- Umiejscowienie: Każdy gen ma pozycję w genomie nazywaną locus.
- Genotyp: Pełna kombinacja genów osobnika nazywana jest genotypem.
- Fenotyp: Zbiór genotypów w zdekodowanej formie nazywany jest fenotypem.
Co to są algorytmy genetyczne
Algorytmy genetyczne stymulują proces ewolucji, podobnie jak w naturalnych systemach. Charles Darwin przedstawił teorię ewolucji, zgodnie z którą w naturalnej ewolucji istoty biologiczne ewoluują zgodnie z zasadą „przetrwania najlepiej przystosowanych”. Poszukiwanie AH ma na celu zachęcenie do teorii „przetrwania najlepiej przystosowanych”.
GA przeprowadzają losowe wyszukiwanie w celu rozwiązania problemów optymalizacji. GA używa technik, które wykorzystują poprzednie informacje historyczne, aby skierować swoje poszukiwania w kierunku optymalizacji w nowej przestrzeni poszukiwań.
Korelacja chromosomu z GA
Ciało ludzkie ma chromosomy zbudowane z genów. Zbiór wszystkich genów określonego gatunku nazywany jest genomem. U istot żywych genomy są przechowywane w różnych chromosomach, podczas gdy w GA wszystkie geny są przechowywane na tym samym chromosomie.
Porównanie między naturalną ewolucją a terminologią algorytmu genetycznego
Naturalna ewolucja | Algorytm genetyczny |
---|---|
Chromosom | Strunowy |
Gen | Funkcja |
Allel | Wartość funkcji |
Genotyp | Zakodowany ciąg |
Fenotyp | Struktura dekodowana |
Ważna terminologia w AH
- Populacja: To grupa jednostek. Populacja obejmuje liczbę badanych osobników, informacje o przestrzeni poszukiwań i parametry fenotypu. Ogólnie populacja jest inicjowana losowo.
- Osoby: Osoby są pojedynczym rozwiązaniem w populacji. Osoba ma zestaw parametrów zwanych genami. Geny połączone w celu utworzenia chromosomów.
- Geny: Geny są elementami składowymi algorytmów genetycznych. Chromosom składa się z genów. Geny mogą determinować rozwiązanie problemu. Są reprezentowane przez ciąg bitów (0 lub 1) o losowej długości.
- Zdatność: Dopasowanie mówi o wartości fenotypu problemu. Funkcja sprawności mówi, jak blisko rozwiązania jest rozwiązanie optymalne. Funkcja sprawności jest określana na wiele sposobów, takich jak suma wszystkich parametrów związanych z problemem - odległość euklidesowa itp. Nie ma reguły, aby oceniać funkcję sprawności.
Prosty algorytm genetyczny
Prosty GA ma populację pojedynczych chromosomów. Te chromosomy stanowią możliwe rozwiązania. Operatory reprodukcji są stosowane na tych zestawach chromosomów w celu przeprowadzenia mutacji i rekombinacji. Dlatego ważne jest, aby znaleźć odpowiednie operatory reprodukcji, ponieważ od tego zależy zachowanie AH.
Prosty algorytm genetyczny wygląda następująco:
# 1) Zacznij od losowo utworzonej populacji.
#dwa) Oblicz funkcję przystosowania każdego chromosomu.
# 3) Powtarzaj kroki, aż powstanie n potomstwa. Potomstwo jest tworzone, jak pokazano poniżej.
- Wybierz parę chromosomów z populacji.
- Krzyżuj parę z prawdopodobieństwem pdoaby tworzyć potomstwo.
- Zmutuj zwrotnicę z prawdopodobieństwem sm.
# 4) Zastąp pierwotną populację nową populacją i przejdź do kroku 2.
Zobaczmy, jakie kroki należy wykonać w tym procesie iteracji. Generowana jest początkowa populacja chromosomów. Populacja początkowa powinna zawierać wystarczającą liczbę genów, aby można było wygenerować dowolne rozwiązanie. Pierwsza pula populacji jest generowana losowo.
- Wybór: Najlepszy zestaw genów dobierany jest w zależności od funkcji sprawności. Wybrano sznurek o najlepszej funkcji fitness.
- Reprodukcja: Nowe potomstwo jest generowane przez rekombinację i mutację.
- Ocena: Nowe wygenerowane chromosomy są oceniane pod kątem ich sprawności.
- Zastąpienie: Na tym etapie stara populacja jest zastępowana nowo wygenerowaną populacją.
Metoda wyboru koła ruletki
Wybór koła ruletki to metoda selekcji, która jest szeroko stosowana.
Proces selekcji jest krótki, jak pokazano poniżej:
W tej metodzie przeszukiwanie liniowe odbywa się za pomocą koła ruletki. Szczeliny w kole są ważone zgodnie z indywidualną wartością sprawności. Wartość docelowa jest ustalana losowo zgodnie z proporcją sumy sprawności w populacji.
Populacja jest następnie przeszukiwana, aż do osiągnięcia wartości docelowej. Ta metoda nie gwarantuje najsilniejszego z osobników, ale ma prawdopodobieństwo, że będzie najsilniejsza.
Zobaczmy, jakie kroki należy wykonać przy wyborze koła ruletki.
Oczekiwana wartość osoby = Indywidualna sprawność / sprawność populacji. Miejsca na koła są przypisane do osób na podstawie ich sprawności. Koło jest obracane N razy, gdzie N jest całkowitą liczbą osobników w populacji. Po zakończeniu jednej rotacji wybrana osoba trafia do puli rodziców.
- Niech łączna oczekiwana wartość liczby osobników w populacji będzie równa S.
- Powtórz kroki 3-5 n razy.
- Wybierz liczbę całkowitą z zakresu od 0 do S.
- Przechodź w pętli przez osoby w populacji, sumuj oczekiwane wartości, aż suma będzie większa niż s.
- Zostaje wybrana osoba, której oczekiwana wartość przekracza sumę limitu s.
Wady wyboru koła ruletki:
- Jeśli sprawność bardzo się różni, wówczas obwód koła ruletki zostanie maksymalnie wykorzystany przez chromosom o najwyższej funkcji sprawności, więc pozostali mają bardzo małe szanse na wybranie.
- To jest głośne.
- Ewolucja zależy od wariancji w przystosowaniu populacji.
Inne metody selekcji
Istnieje wiele innych metod selekcji używanych w 'Wybór' krok algorytmu genetycznego.
Omówimy 2 inne szeroko stosowane metody:
# 1) Wybór rangi: W tej metodzie każdemu chromosomowi przypisywana jest wartość dopasowania z rankingu. Najgorsza kondycja to 1, a najlepsza to N. Jest to metoda powolnej konwergencji. W tej metodzie zachowuje się różnorodność, co prowadzi do pomyślnego wyszukiwania.
Potencjalni rodzice są wybierani, a następnie odbywa się turniej, aby zdecydować, która z osób zostanie rodzicem.
# 2) Wybór turnieju: W tej metodzie na populację stosuje się strategię presji selektywnej. Najlepsza osoba to ta o najwyższej sprawności. Ta osoba jest zwycięzcą zawodów turniejowych wśród osobników Nu w populacji.
Populacja turniejowa wraz ze zwycięzcą jest ponownie dodawana do puli, aby wygenerować nowe potomstwo. Różnica w sprawności zwycięzcy i osobników w puli godowej zapewnia selektywną presję dla optymalnych wyników.
Krzyżowanie
Jest to proces polegający na odebraniu 2 osobników i zrobieniu z nich dziecka. Proces rozmnażania po selekcji tworzy klony dobrych użądleń. Operator krzyżowania jest nakładany na struny, aby uzyskać lepsze potomstwo.
Implementacja operatora crossover jest następująca:
- Z populacji wybiera się losowo dwa osobniki, które mają mieć potomstwo.
- Witryna krzyżowa jest wybierana losowo wzdłuż długości łańcucha.
- Wartości w witrynie zostaną zamienione.
Wykonywany crossover może być jednopunktowy, dwupunktowy, wielopunktowy, itp. Jednopunktowy crossover ma jedno miejsce skrzyżowania, podczas gdy dwupunktowy crossover ma 2 lokalizacje, w których następuje zamiana wartości.
Widzimy to na poniższym przykładzie:
Pojedynczy punkt zwrotnicy
Dwupunktowa zwrotnica
Prawdopodobieństwo krzyżowania
P.do, prawdopodobieństwo krzyżowania to termin opisujący, jak często będzie wykonywane krzyżowanie. Prawdopodobieństwo 0% oznacza, że nowe chromosomy będą dokładną kopią starych chromosomów, podczas gdy prawdopodobieństwo 100% oznacza, że wszystkie nowe chromosomy są tworzone przez krzyżowanie.
Mutacja
Mutacja następuje po Crossover. Podczas gdy crossover skupia się tylko na obecnym rozwiązaniu, operacja mutacji przeszukuje całą przestrzeń poszukiwań. Ta metoda polega na odzyskaniu utraconej informacji genetycznej i rozpowszechnieniu informacji genetycznej.
Ten operator pomaga zachować różnorodność genetyczną populacji. Pomaga zapobiegać lokalnym minimom i zapobiega generowaniu bezużytecznych rozwiązań z jakiejkolwiek populacji.
Mutację przeprowadza się na wiele sposobów, takich jak odwracanie wartości każdego genu z niewielkim prawdopodobieństwem lub wykonanie mutacji tylko wtedy, gdy poprawia to jakość roztworu.
Oto niektóre sposoby mutacji:
- Przerzucanie: Zmiana z 0 na 1 lub 1 na 0.
- Zamiana: Wybrano dwie losowe pozycje, a wartości są zamieniane.
- Cofanie: Wybierana jest losowa pozycja, a bity obok niej są odwracane.
Zobaczmy kilka przykładów każdego z nich:
Przerzucanie
Zamiana
Cofanie
Prawdopodobieństwo mutacji
P.mprawdopodobieństwo mutacji to termin, który decyduje o tym, jak często chromosomy będą mutowane. Jeśli prawdopodobieństwo mutacji wynosi 100%, oznacza to, że zmienia się cały chromosom. Jeśli mutacja nie zostanie przeprowadzona, nowe potomstwo jest generowane bezpośrednio po krzyżowaniu.
Przykład ogólnego algorytmu genetycznego Prawdopodobieństwo mutacji: P.mprawdopodobieństwo mutacji to termin, który decyduje o tym, jak często chromosomy będą mutowane. Jeśli prawdopodobieństwo mutacji wynosi 100%, oznacza to, że zmienia się cały chromosom.
Jeśli mutacja nie zostanie przeprowadzona, to nowe potomstwo jest generowane bezpośrednio po krzyżowaniu. Początkową populację chromosomów podano jako A, B, C, D. Wielkość populacji wynosi 4.
Funkcja fitness jest traktowana jako liczba 1 w ciągu.
Chromosom | Zdatność |
---|---|
Do: 00000110 | dwa |
B: 11101110 | 6 |
C: 00100000 | 1 |
D: 00110100 | 3 |
Suma sprawności wynosi 12, co oznacza, że średnia funkcja sprawności wynosiłaby ~ 12/4 = 3
Prawdopodobieństwo skrzyżowania = 0,7
Prawdopodobieństwo mutacji = 0,001
# 1) Jeśli wybrane są B i C, krzyżowanie nie jest wykonywane, ponieważ wartość sprawności C jest poniżej średniej sprawności.
#dwa) B jest zmutowane => B: 11101110 -> B': 01101110 w celu zachowania różnorodności populacji
# 3) Wybrano B i D, wykonywana jest zwrotnica.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110
# 4) Jeśli E jest zmutowany, to
E: 10110100 -> E': 10110000
Odpowiednie chromosomy przedstawiono w poniższej tabeli. Kolejność jest losowana.
Chromosom | Zdatność |
---|---|
Odp .: 01101110 | 5 |
B: 00100000 | 1 |
C: 10110000 | 3 |
D: 01101110 | 5 |
Chociaż utracono najsprawniejszą osobę o sprawności 6, ogólna średnia sprawność fizyczna populacji wzrasta i wynosiłaby: 14/4 = 3,5
Kiedy zatrzymać algorytm genetyczny
Algorytm genetyczny jest zatrzymywany, gdy spełnione są następujące warunki:
1) Najlepsza konwergencja indywidualna: Kiedy minimalny poziom sprawności spadnie poniżej wartości zbieżności, algorytm jest zatrzymywany. Prowadzi do szybszej konwergencji.
# 2) Najgorsza konwergencja indywidualna: Gdy najmniej sprawne osobniki w populacji osiągną minimalną wartość sprawności poniżej konwergencji, algorytm jest zatrzymywany. W tej metodzie minimalny standard sprawności jest utrzymywany w populacji. Oznacza to, że najlepsza osoba nie jest gwarantowana, ale będą obecne osoby o minimalnej sprawności.
# 3) Suma sprawności: W tej metodzie, jeśli suma dopasowania jest mniejsza lub równa wartości zbieżności, to wyszukiwanie zostaje zatrzymane. Gwarantuje, że cała populacja mieści się w zakresie sprawności.
# 4) Mediana sprawności: W tej metodzie co najmniej połowa osobników w populacji będzie lepsza lub równa wartości konwergencji.
Niektóre kryterium zbieżności lub warunek zatrzymania mogą być:
- Kiedy ewoluuje określona liczba pokoleń.
- Po upływie określonego czasu do uruchomienia algorytmu.
- Kiedy wartość przystosowania populacji nie zmienia się dalej wraz z iteracjami.
Zalety i wady algorytmu genetycznego
Zalety algorytmu genetycznego to:
- Ma szerszą przestrzeń na rozwiązania.
- Łatwiej jest odkryć optimum globalne.
- Równoległość: Wiele GA może działać razem przy użyciu tego samego procesora bez zakłócania się nawzajem. Działają równolegle w izolacji.
Ograniczenia GA:
- Ograniczeniem jest identyfikacja funkcji sprawności.
- Zbieżność algorytmów może być zbyt szybka lub zbyt wolna.
- Istnieje ograniczenie w wyborze parametrów, takich jak crossover, prawdopodobieństwo mutacji, wielkość populacji itp.
Zastosowania algorytmów genetycznych
GA skutecznie rozwiązuje problemy o dużych wymiarach. GA jest efektywnie wykorzystywana, gdy przestrzeń poszukiwań jest bardzo duża, nie ma dostępnych matematycznych technik rozwiązywania problemów, a inne tradycyjne algorytmy wyszukiwania nie działają.
Niektóre aplikacje, w których używany jest GA:
- Problem z optymalizacją: Jednym z najlepszych przykładów problemów optymalizacyjnych jest problem komiwojażera, który używa GA. Inne problemy optymalizacyjne, takie jak planowanie zadań, optymalizacja jakości dźwięku, są szeroko stosowane.
- Model układu odpornościowego: GA są wykorzystywane do modelowania różnych aspektów układu odpornościowego dla poszczególnych rodzin genów i wielogenowych w czasie ewolucji.
- Nauczanie maszynowe: Zastosowano GA do rozwiązywania problemów związanych z klasyfikacją, prognozowaniem, tworzeniem reguł uczenia się i klasyfikacji .
Wniosek
Algorytmy genetyczne oparte są na metodzie naturalnej ewolucji. Algorytmy te różnią się od innych algorytmów klasyfikacji, ponieważ wykorzystują zakodowane parametry (0 lub 1), istnieje wiele liczb osobników w populacji i używają probabilistycznej metody zbieżności.
Wraz z procesem krzyżowania się i mutacji, GA zbiegają się w kolejnych pokoleniach. Wykonanie algorytmu GA nie zawsze gwarantuje pomyślne rozwiązanie. Algorytmy genetyczne są bardzo wydajne w optymalizacji - problemy z harmonogramowaniem zadań.
Mam nadzieję, że ten samouczek wzbogaciłby twoją wiedzę na temat koncepcji algorytmów genetycznych !!
=> Odwiedź tutaj, aby zapoznać się z ekskluzywną serią uczenia maszynowego
rekomendowane lektury
- Testowanie oparte na modelu z wykorzystaniem algorytmu genetycznego
- Wydobywanie danych kontra uczenie maszynowe, sztuczna inteligencja kontra uczenie głębokie
- Samouczek uczenia maszynowego: wprowadzenie do ML i jej aplikacji
- Rodzaje uczenia maszynowego: uczenie nadzorowane i nienadzorowane
- Kompletny przewodnik po sztucznej sieci neuronowej w uczeniu maszynowym
- 11 najpopularniejszych narzędzi oprogramowania do uczenia maszynowego w 2021 r
- 13 najlepszych firm zajmujących się uczeniem maszynowym (zaktualizowana lista w 2021 r.)
- Co to jest maszyna wektorów wsparcia (SVM) w uczeniu maszynowym