logo

Genetski algoritem v strojnem učenju

Genetski algoritem je prilagodljiv hevristični iskalni algoritem, ki ga je navdihnila Darwinova teorija evolucije v naravi .' Uporablja se za reševanje problemov optimizacije pri strojnem učenju. Je eden izmed pomembnih algoritmov, saj pomaga pri reševanju zapletenih problemov, katerih rešitev bi trajala dolgo.

Genetski algoritem v strojnem učenju

Genetski algoritmi se pogosto uporabljajo v različnih aplikacijah v realnem svetu, npr. Oblikovanje elektronskih vezij, razbijanje kod, obdelava slik in umetna ustvarjalnost.

V tej temi bomo podrobno razložili genetski algoritem, vključno z osnovno terminologijo, ki se uporablja v genetskem algoritmu, kako deluje, prednosti in omejitve genetskega algoritma itd.

pande ustvarjajo podatkovni okvir

Kaj je genetski algoritem?

Preden razumemo genetski algoritem, najprej razumemo osnovno terminologijo, da bi bolje razumeli ta algoritem:

    Prebivalstvo:Populacija je podmnožica vseh možnih ali verjetnih rešitev, ki lahko rešijo dani problem.kromosomi:Kromosom je ena od rešitev v populaciji za dani problem, zbirka genov pa ustvari kromosom.gen:Kromosom je razdeljen na drug gen ali pa je element kromosoma.Aleli:Alel je vrednost, ki jo ima gen znotraj določenega kromosoma.Fitnes funkcija:Funkcija telesne pripravljenosti se uporablja za določanje ravni telesne pripravljenosti posameznika v populaciji. Pomeni sposobnost posameznika, da tekmuje z drugimi posamezniki. V vsaki ponovitvi so posamezniki ocenjeni na podlagi njihove funkcije telesne pripravljenosti.Genetski operaterji:V genetskem algoritmu se najboljši posameznik pari za regeneracijo potomcev bolje kot starši. Tukaj imajo genetski operaterji vlogo pri spreminjanju genetske sestave naslednje generacije.Izbira

Po izračunu primernosti vsakega prisotnega v populaciji se s selekcijskim postopkom določi, kateri posamezniki v populaciji se bodo lahko razmnoževali in proizvedli seme, ki bo tvorilo prihajajočo generacijo.

Razpoložljive vrste izbirnih slogov

    Izbira kolesa rulete Izbor dogodka Izbor na podlagi ranga

Torej, zdaj lahko definiramo genetski algoritem kot algoritem hevrističnega iskanja za reševanje problemov optimizacije. Je podmnožica evolucijskih algoritmov, ki se uporablja v računalništvu. Genetski algoritem uporablja koncepte genetske in naravne selekcije za reševanje problemov optimizacije.

Kako deluje genetski algoritem?

Genetski algoritem deluje na evolucijskem generacijskem ciklu za ustvarjanje visokokakovostnih rešitev. Ti algoritmi uporabljajo različne operacije, ki izboljšajo ali nadomestijo populacijo, da zagotovijo izboljšano rešitev za prileganje.

V bistvu vključuje pet faz za reševanje kompleksnih optimizacijskih problemov, ki so podani spodaj:

    Inicializacija Fitnes naloga Izbira Razmnoževanje Prekinitev

1. Inicializacija

Proces genetskega algoritma se začne z generiranjem nabora posameznikov, ki se imenuje populacija. Tu je vsak posameznik rešitev za dano težavo. Posameznik vsebuje ali je značilen nabor parametrov, imenovanih Geni. Geni so združeni v niz in ustvarijo kromosome, kar je rešitev problema. Ena najbolj priljubljenih tehnik inicializacije je uporaba naključnih binarnih nizov.

primerljiv seznam
Genetski algoritem v strojnem učenju

2. Naloga za fitnes

Funkcija fitnesa se uporablja za ugotavljanje, kako fit je posameznik? Pomeni sposobnost posameznika, da tekmuje z drugimi posamezniki. V vsaki ponovitvi so posamezniki ocenjeni na podlagi njihove funkcije telesne pripravljenosti. Funkcija telesne pripravljenosti zagotavlja oceno telesne pripravljenosti za vsakega posameznika. Ta rezultat nadalje določa verjetnost, da bo izbran za razmnoževanje. Višja kot je ocena telesne pripravljenosti, večja je možnost, da bo izbran za razmnoževanje.

3. Izbira

Izbirna faza vključuje izbiro osebkov za razmnoževanje potomcev. Vsi izbrani posamezniki so nato razporejeni v par po dva, da se poveča razmnoževanje. Nato ti posamezniki prenesejo svoje gene na naslednjo generacijo.

Na voljo so tri vrste izbirnih metod, ki so:

  • Izbira kolesa rulete
  • Izbor turnirja
  • Izbor na podlagi ranga

4. Razmnoževanje

Po postopku izbire pride do ustvarjanja otroka v koraku reprodukcije. V tem koraku genetski algoritem uporablja dva variacijska operaterja, ki se uporabita za starševsko populacijo. Dva operaterja, vključena v fazo reprodukcije, sta navedena spodaj:

    Crossover:Križanje igra najpomembnejšo vlogo v fazi reprodukcije genetskega algoritma. V tem procesu je točka križanja izbrana naključno znotraj genov. Nato operater križanja zamenja genetske informacije dveh staršev iz trenutne generacije, da proizvede novega posameznika, ki predstavlja potomce.
    Genetski algoritem v strojnem učenju
    Geni staršev se izmenjujejo med seboj, dokler ni dosežena točka križanja. Ti na novo ustvarjeni potomci se dodajo populaciji. Ta proces se imenuje tudi križanje. Vrste navzkrižnih slogov, ki so na voljo:
    • Crossover za eno točko
    • Dvotočkovno križišče
    • Križanec v livreji
    • Crossover dednih algoritmov
    Mutacija
    Operater mutacije vstavi naključne gene v potomce (novega otroka), da ohrani raznolikost v populaciji. To lahko storite tako, da obrnete nekaj bitov v kromosomih.
    Mutacija pomaga pri reševanju vprašanja prezgodnje konvergence in povečuje diverzifikacijo. Spodnja slika prikazuje postopek mutacije:
    Razpoložljive vrste stilov mutacije,

    arašidi proti arašidom
      Flip bitna mutacija Gaussova mutacija Menjava/zamenjava mutacije

    Genetski algoritem v strojnem učenju

5. Odpoved

Po fazi razmnoževanja se kot osnova za prekinitev uporabi merilo za ustavitev. Algoritem se zaključi, ko je dosežena rešitev primernosti praga. Končno rešitev bo identificiral kot najboljšo rešitev v populaciji.

Splošni potek dela preprostega genetskega algoritma

Genetski algoritem v strojnem učenju

Prednosti genetskega algoritma

  • Vzporedne zmožnosti genetskih algoritmov so najboljše.
  • Pomaga pri optimizaciji različnih problemov, kot so diskretne funkcije, problemi z več cilji in zvezne funkcije.
  • Zagotavlja rešitev za težavo, ki se sčasoma izboljša.
  • Genetski algoritem ne potrebuje izvedenih informacij.

Omejitve genetskih algoritmov

  • Genetski algoritmi niso učinkoviti algoritmi za reševanje preprostih problemov.
  • Ne zagotavlja kakovosti končne rešitve problema.
  • Ponavljajoče se izračunavanje vrednosti primernosti lahko povzroči nekaj računskih izzivov.

Razlika med genetskimi algoritmi in tradicionalnimi algoritmi

  • Iskalni prostor je skupek vseh možnih rešitev problema. V tradicionalnem algoritmu se ohrani le en niz rešitev, medtem ko je v genetskem algoritmu mogoče uporabiti več nizov rešitev v iskalnem prostoru.
  • Tradicionalni algoritmi potrebujejo več informacij za izvedbo iskanja, medtem ko genetski algoritmi potrebujejo samo eno objektivno funkcijo za izračun sposobnosti posameznika.
  • Tradicionalni algoritmi ne morejo delovati vzporedno, medtem ko lahko genetski algoritmi delujejo vzporedno (izračuni primernosti individualnosti so neodvisni).
  • Ena velika razlika v genetskih algoritmih je ta, da dedni algoritmi delujejo namesto neposredno na rezultatih iskanja na podlagi svojih predstavitev (ali upodabljanja), ki jih pogosto imenujemo kromosomi.
  • Ena od velikih razlik med tradicionalnim algoritmom in genetskim algoritmom je, da ne deluje neposredno na možnih rešitvah.
  • Tradicionalni algoritmi lahko na koncu ustvarijo samo en rezultat, medtem ko lahko genetski algoritmi ustvarijo več optimalnih rezultatov iz različnih generacij.
  • Tradicionalni algoritem verjetno ne bo ustvaril optimalnih rezultatov, medtem ko genetski algoritmi ne zagotavljajo ustvarjanja optimalnih globalnih rezultatov, vendar obstaja tudi velika možnost, da dobite optimalen rezultat za problem, saj uporablja genetske operaterje, kot sta Crossover in Mutation.
  • Tradicionalni algoritmi so po naravi deterministični, medtem ko so genetski algoritmi po naravi verjetnostni in stohastični.