logo

Genetikai algoritmus a gépi tanulásban

A genetikai algoritmus egy adaptív heurisztikus keresési algoritmus, amelyet Darwin természeti evolúciós elmélete ihletett. .' A gépi tanulás optimalizálási problémáinak megoldására szolgál. Ez az egyik fontos algoritmus, mivel segít megoldani az összetett problémákat, amelyek megoldása hosszú időt vesz igénybe.

Genetikai algoritmus a gépi tanulásban

A genetikai algoritmusokat széles körben használják különféle valós alkalmazásokban, pl. Elektronikus áramkörök tervezése, kódtörés, képfeldolgozás és mesterséges kreativitás.

Ebben a témában részletesen elmagyarázzuk a genetikai algoritmust, beleértve a genetikai algoritmusban használt alapvető terminológiákat, működését, a genetikai algoritmus előnyeit és korlátait stb.

java regex for

Mi az a genetikai algoritmus?

A genetikai algoritmus megértése előtt először ismerjük meg az alapvető terminológiákat, hogy jobban megértsük ezt az algoritmust:

    Népesség:A populáció az összes lehetséges vagy valószínű megoldás részhalmaza, amely képes megoldani az adott problémát.Kromoszómák:A kromoszóma az egyik megoldás a populációban az adott problémára, és a géngyűjtemény kromoszómát generál.Gén:Egy kromoszóma egy másik génre oszlik, vagy a kromoszóma egyik eleme.Allélek:Az allél az az érték, amelyet a gén egy adott kromoszómán belül biztosít.Fitness funkció:A fitneszfüggvény az egyén edzettségi szintjének meghatározására szolgál a populációban. Ez azt jelenti, hogy az egyén képes versenyezni más egyénekkel. Minden iterációban az egyéneket fitneszfunkciójuk alapján értékelik.Genetikai operátorok:Egy genetikai algoritmus szerint a legjobb egyedpár az utódokat jobban regenerálja, mint a szülők. Itt a genetikai operátorok szerepet játszanak a következő generáció genetikai összetételének megváltoztatásában.Kiválasztás

A populáció minden létezőjének alkalmasságának kiszámítása után szelekciós eljárással határozzák meg, hogy a populáció egyéniségei közül melyik fog szaporodni és megtermelni a következő nemzedéket alkotó magot.

A választható stílusok típusai állnak rendelkezésre

ml oz
    Rulettkerék kiválasztása Esemény kiválasztása Rangponton alapuló kiválasztás

Tehát most egy genetikai algoritmust definiálhatunk heurisztikus keresési algoritmusként az optimalizálási problémák megoldására. Ez az evolúciós algoritmusok egy részhalmaza, amelyet a számítástechnikában használnak. Egy genetikai algoritmus genetikai és természetes szelekciós koncepciókat használ az optimalizálási problémák megoldására.

Hogyan működik a genetikai algoritmus?

A genetikai algoritmus az evolúciós generációs cikluson dolgozik, hogy kiváló minőségű megoldásokat hozzon létre. Ezek az algoritmusok különböző műveleteket használnak, amelyek vagy javítják vagy helyettesítik a populációt, hogy javított illeszkedési megoldást kapjanak.

Alapvetően öt fázisból áll a komplex optimalizálási problémák megoldására, amelyeket az alábbiak szerint adunk meg:

    Inicializálás Fitness Feladat Kiválasztás Reprodukció Felmondás

1. Inicializálás

A genetikai algoritmus folyamata az egyedek halmazának generálásával kezdődik, amelyet populációnak nevezünk. Itt minden egyén megoldást jelent az adott problémára. Az egyén Géneknek nevezett paraméterek halmazát tartalmazza, vagy jellemzi. A gének egy karakterláncba egyesülnek, és kromoszómákat generálnak, ami a probléma megoldása. Az inicializálás egyik legnépszerűbb technikája a véletlenszerű bináris karakterláncok használata.

Genetikai algoritmus a gépi tanulásban

2. Fitness Feladat

A Fitness függvényt arra használják, hogy meghatározzák, mennyire fitt az egyén? Ez azt jelenti, hogy az egyén képes versenyezni más egyénekkel. Minden iterációban az egyéneket fitneszfunkciójuk alapján értékelik. A fitnesz funkció minden egyes személy számára fitnesz pontszámot biztosít. Ez a pontszám tovább határozza meg a szaporodásra való kiválasztódás valószínűségét. Minél magasabb az erőnléti pontszám, annál nagyobb az esélye annak, hogy kiválasztják a szaporodást.

3. Kiválasztás

A szelekciós szakasz magában foglalja az egyedek kiválasztását az utódok szaporodásához. Ezután az összes kiválasztott egyedet egy párba rendezik a szaporodás fokozása érdekében. Ezután ezek az egyedek átadják génjeiket a következő generációnak.

arraylist java-ban

Háromféle kiválasztási módszer áll rendelkezésre, amelyek a következők:

  • Rulettkerék kiválasztása
  • Versenyválasztás
  • Rang alapú kiválasztás

4. Szaporodás

A kiválasztási folyamat után a gyermek létrehozása a reprodukciós lépésben történik. Ebben a lépésben a genetikai algoritmus két variációs operátort használ, amelyeket a szülőpopulációra alkalmaz. A szaporodási fázisban részt vevő két kezelő az alábbiakban látható:

    Crossover:A keresztezés a genetikai algoritmus szaporodási fázisában játszik legjelentősebb szerepet. Ebben a folyamatban egy keresztezési pontot véletlenszerűen választanak ki a géneken belül. Ezután a crossover operátor felcseréli a jelenlegi generáció két szülőjének genetikai információit, hogy egy új egyedet hozzon létre, amely az utódot képviseli.
    Genetikai algoritmus a gépi tanulásban
    A szülők génjeit kicserélik egymás között, amíg el nem érik a keresztezési pontot. Ezeket az újonnan született utódokat hozzáadják a populációhoz. Ezt a folyamatot keresztezésnek is nevezik. Az elérhető crossover stílusok típusai:
    • Egy pont keresztezés
    • Kétpontos crossover
    • Színes crossover
    • Örökölhető algoritmusok keresztezése
    Mutáció
    A mutációs operátor véletlenszerű géneket inszertál az utódba (új gyermekbe), hogy fenntartsa a populáció sokféleségét. Megtehető a kromoszómák néhány bitjének átfordításával.
    A mutáció segít megoldani a korai konvergencia problémáját és fokozza a diverzifikációt. Az alábbi képen a mutáció folyamata látható:
    A rendelkezésre álló mutációs stílusok típusai,

      Flip bit mutáció Gauss mutáció Csere/Swap mutáció

    Genetikai algoritmus a gépi tanulásban

5. Felmondás

A szaporodási szakasz után a leállítási kritériumot alkalmazzák a befejezés alapjául. Az algoritmus a fitnesz küszöbértékének elérése után leáll. A végső megoldást a legjobb megoldásként fogja azonosítani a lakosság körében.

mennyit nyom a kat timpf

Egy egyszerű genetikai algoritmus általános munkafolyamata

Genetikai algoritmus a gépi tanulásban

A genetikai algoritmus előnyei

  • A genetikai algoritmusok párhuzamos képességei a legjobbak.
  • Segít optimalizálni a különféle problémákat, például a diszkrét függvényeket, a többcélú problémákat és a folyamatos funkciókat.
  • Megoldást nyújt olyan problémákra, amelyek idővel javulnak.
  • Egy genetikai algoritmusnak nincs szüksége származékos információra.

A genetikai algoritmusok korlátai

  • A genetikai algoritmusok nem hatékony algoritmusok egyszerű problémák megoldására.
  • Nem garantálja a probléma végső megoldásának minőségét.
  • A fitnesz értékek ismételt kiszámítása számítási kihívásokat okozhat.

Különbség a genetikai algoritmusok és a hagyományos algoritmusok között

  • A keresési tér a probléma összes lehetséges megoldásának összessége. A hagyományos algoritmusban csak egy megoldáskészletet tartanak fenn, míg egy genetikai algoritmusban többféle megoldáskészlet használható a keresési térben.
  • A hagyományos algoritmusoknak több információra van szükségük a keresés végrehajtásához, míg a genetikai algoritmusoknak csak egy célfüggvényre van szükségük az egyed alkalmasságának kiszámításához.
  • A hagyományos algoritmusok nem működhetnek párhuzamosan, míg a genetikai algoritmusok párhuzamosan működhetnek (az egyéniségek alkalmasságának kiszámítása független).
  • Az egyik nagy különbség a genetikai algoritmusok között az, hogy ahelyett, hogy közvetlenül a kereső eredményeken dolgoznának, az örökölhető algoritmusok a reprezentációikon (vagy renderelésükön) működnek, amelyeket gyakran kromoszómákként használnak.
  • Az egyik nagy különbség a hagyományos algoritmus és a genetikai algoritmus között az, hogy nem működik közvetlenül a jelölt megoldásokon.
  • A hagyományos algoritmusok csak egy eredményt tudnak generálni, míg a genetikus algoritmusok több optimális eredményt generálhatnak a különböző generációkból.
  • A hagyományos algoritmus nem valószínű, hogy optimális eredményeket generál, míg a genetikai algoritmusok nem garantálják az optimális globális eredményeket, de nagy lehetőség van egy probléma optimális eredményére, mivel olyan genetikai operátorokat használ, mint a Crossover és a Mutation.
  • A hagyományos algoritmusok determinisztikus jellegűek, míg a genetikai algoritmusok valószínűségi és sztochasztikus jellegűek.