introduction genetic algorithms machine learning
najbolji video pretvarač softver za mac
Ovaj vodič za genetski algoritam detaljno objašnjava što su genetski algoritmi i njihova uloga u strojnom učenju :
U Prethodni vodič , saznali smo o modelima umjetne neuronske mreže - višeslojnom perceptronu, povratnom razmnožavanju, radijalnom pristranosti i Kohonenovim samoorganizirajućim kartama, uključujući njihovu arhitekturu.
Usredotočit ćemo se na genetske algoritme koji su se pojavili prije nego na neuronske mreže, ali sada je GA preuzeo NN. Iako GA i dalje ima aplikacija u stvarnom životu kao što su problemi s optimizacijom poput rasporeda, igranja igara, robotike, dizajna hardvera, problema s putnicima, itd.
Genetski algoritmi algoritmi su koji se temelje na evolucijskoj ideji prirodne selekcije i genetike. GA su adaptivni heuristički algoritmi pretraživanja, tj. Algoritmi slijede iterativni obrazac koji se mijenja s vremenom. To je vrsta učenja pojačanja gdje su povratne informacije potrebne, a da se ne kaže točan put koji treba slijediti. Povratne informacije mogu biti pozitivne ili negativne.
=> Pročitajte cjelovitu seriju treninga za strojno učenje
Što ćete naučiti:
- Zašto koristiti genetske algoritme
- Koji su genetski algoritmi
- Prednosti i nedostaci genetskog algoritma
- Primjene genetičkih algoritama
- Zaključak
Zašto koristiti genetske algoritme
GA-ovi su robusniji algoritmi koji se mogu koristiti za različite probleme optimizacije. Ovi algoritmi ne odstupaju lako u prisutnosti šuma, za razliku od ostalih algoritama AI. GA se mogu koristiti u potrazi za velikim prostorom ili multimodalnim prostorom.
Biološka pozadina genetičkih algoritama
Genetika je izvedena iz grčke riječi, 'geneza', što znači rasti. Genetika odlučuje o čimbenicima nasljedstva, sličnostima i razlikama između potomaka u procesu evolucije. Genetski algoritmi također su izvedeni iz prirodne evolucije.
Neke terminologije u biološkom kromosomu
- Kromosomi: Svi genetski podaci vrste pohranjeni su kromosomi.
- Geni: Kromosomi su podijeljeni u nekoliko dijelova koji se nazivaju geni.
- Aleli: Geni identificiraju osobine pojedinca. Mogućnost kombinacije gena da tvore svojstvo naziva se Aleles. Gen može imati različite alele.
- Genetski bazen: Sve moguće kombinacije gena koji su svi aleli u populacijskom fondu nazivaju se genskim fondom.
- Genom: Skup gena neke vrste naziva se genom.
- Mjesto: Svaki gen ima položaj u genomu koji se naziva lokus.
- Genotip: Puna kombinacija gena kod pojedinca naziva se genotipom.
- Fenotip: Skup genotipova u dekodiranom obliku naziva se fenotip.
Koji su genetski algoritmi
Genetski algoritmi potiču proces kao u prirodnim evolucijskim sustavima. Charles Darwin izjavio je teoriju evolucije da se u prirodnoj evoluciji biološka bića razvijaju prema principu 'preživljavanja najsposobnijih'. Pretraživanje GA osmišljeno je kako bi potaknulo teoriju 'preživljavanja najsposobnijih'.
GA-ovi izvršavaju nasumično pretraživanje kako bi riješili probleme optimizacije. GA koristi tehnike koje koriste prethodne povijesne informacije za usmjeravanje pretraživanja prema optimizaciji u novom prostoru pretraživanja.
Korelacija kromosoma s GA
Ljudsko tijelo ima kromosome koji su napravljeni od gena. Skup svih gena određene vrste naziva se genom. U živim bićima genomi su pohranjeni u različitim kromosomima, dok su u GA svi geni pohranjeni u istom kromosomu.
Usporedba prirodne evolucije i terminologije genetskog algoritma
Prirodna evolucija | Genetski algoritam |
---|---|
Kromosom | Niz |
Gen | Značajka |
Alele | Vrijednost značajke |
Genotip | Kodirani niz |
Fenotip | Dekodirana struktura |
Važna terminologija u GA
- Populacija: To je skupina pojedinaca. Populacija uključuje broj jedinki koje se testiraju, informacije o prostoru za pretraživanje i parametre fenotipa. Općenito se populacija nasumično inicijalizira.
- Pojedinci: Pojedinci su jedno rješenje u populaciji. Pojedinac ima skup parametara koji se nazivaju geni. Geni kombinirani da tvore kromosome.
- Geni: Geni su gradivni blokovi genetskih algoritama. Kromosom se sastoji od gena. Geni mogu odrediti rješenje problema. Prikazani su bitnim (0 ili 1) nizom slučajne duljine.
- Fitness Kondicija govori o vrijednosti fenotipa problema. Fitness funkcija govori koliko je rješenje blizu optimalnom rješenju. Kondicijska funkcija određuje se na više načina, poput zbroja svih parametara povezanih s problemom - euklidska udaljenost itd. Ne postoji pravilo za procjenu funkcije kondicije.
Jednostavan genetski algoritam
Jednostavni GA ima populaciju pojedinačnih kromosoma. Ti kromosomi predstavljaju moguća rješenja. Operatori razmnožavanja primjenjuju se preko ovih setova kromosoma za izvođenje mutacija i rekombinacija. Stoga je važno pronaći odgovarajuće operatore reprodukcije jer ponašanje GA ovisi o njemu.
Jednostavan genetski algoritam je kako slijedi:
# 1) Počnite s populacijom stvorenom slučajno.
#dva) Izračunajte kondicijsku funkciju svakog kromosoma.
# 3) Ponavljajte korake dok se ne stvori n potomstava. Potomci su stvoreni kako je prikazano u nastavku.
- Odaberite par kromosoma iz populacije.
- Crossover para s vjerojatnosti pcstvarati potomke.
- Mutirajte križanje s vjerojatnošću pm.
# 4) Zamijenite izvornu populaciju novom populacijom i prijeđite na korak 2.
Pogledajmo korake koji su slijeđeni u ovom postupku ponavljanja. Generira se početna populacija kromosoma. Početna populacija trebala bi sadržavati dovoljno gena kako bi se moglo generirati bilo koje rješenje. Prvi se skup stanovništva generira slučajnim odabirom.
- Izbor: Najbolji skup gena odabire se ovisno o funkciji kondicije. Odabrana je žica s najboljom fitnes funkcijom.
- Reprodukcija: Nova potomstva nastaju rekombinacijom i mutacijom.
- Procjena: Novi generirani kromosomi procjenjuju se u skladu s njihovom kondicijom.
- Zamjena: U ovom se koraku staro stanovništvo zamjenjuje novonastalim stanovništvom.
Metoda odabira kotača ruleta
Odabir kotačića ruleta metoda je odabira koja se široko koristi.
Proces odabira je kratak kako je prikazano u nastavku:
U ovoj metodi vrši se linearno pretraživanje kroz kotačić ruleta. Prorezi na kotaču važu se prema individualnoj vrijednosti kondicije. Ciljna vrijednost postavlja se nasumično prema udjelu zbroja kondicije u populaciji.
Zatim se pretražuje populacija dok se ne postigne ciljana vrijednost. Ova metoda ne jamči najsposobnije osobe, ali vjerojatnost je da će biti najsposobniji.
Pogledajmo korake odabira kotača ruleta.
Očekivana vrijednost pojedinca = Individualna kondicija / kondicija stanovništva. Prorezi za kotače dodjeljuju se pojedincima na temelju njihove kondicije. Kotač se okreće N puta gdje je N ukupan broj jedinki u populaciji. Kad završi jedna rotacija, odabrani pojedinac stavlja se u skupinu roditelja.
- Neka ukupna očekivana vrijednost broja jedinki u populaciji bude S.
- Ponovite korake 3-5 n puta.
- Odaberite cijeli broj s između 0 i S.
- Prelistajte pojedince u populaciji, zbrajajte očekivane vrijednosti dok zbroj ne bude veći od s.
- Odabran je pojedinac čija očekivana vrijednost zbroj prelazi granicu s.
Nedostaci izbora rulet kotača:
- Ako se kondicija jako razlikuje, tada će opseg kotača ruleta biti maksimalan za kromosom s najvišom tjelesnom funkcijom, tako da ostali imaju vrlo male šanse za odabir.
- Bučno je.
- Evolucija ovisi o razlikama u kondiciji stanovništva.
Ostale metode odabira
Postoje mnoge druge metode odabira koje se koriste u 'Izbor' korak genetskog algoritma.
Razgovarat ćemo o 2 druge široko korištene metode:
# 1) Odabir ranga: U ovoj metodi svaki kromosom dobiva kondicijsku vrijednost iz rangiranja. Najgora kondicija je 1, a najbolja je N. To je metoda spore konvergencije. Ovom metodom očuva se raznolikost što dovodi do uspješnog pretraživanja.
Odabiru se potencijalni roditelji, a zatim se održava turnir na kojem se odlučuje koja će od osoba biti roditelj.
# 2) Izbor turnira: U ovoj se metodi na populaciju primjenjuje strategija selektivnog pritiska. Najbolji pojedinac je onaj s najvećom kondicijom. Ovaj je pojedinac pobjednik turnirskog natjecanja među Nu pojedincima u populaciji.
Populacija turnira zajedno s pobjednikom ponovno se dodaje u bazen kako bi se stvorilo novo potomstvo. Razlika u kondicijskim vrijednostima pobjednika i pojedinaca u bazenu za parenje pruža selektivni pritisak za optimalne rezultate.
Crossover
To je postupak uzimanja 2 osobe i rađanja djeteta od njih. Postupak razmnožavanja nakon odabira čini klonove dobrih uboda. Operator križanja primjenjuje se preko žica da bi se dobio bolji potomak.
Implementacija crossover operatora je sljedeća:
- Dvije se osobe odabiru slučajnim odabirom populacije radi stvaranja potomstva.
- Poprečno mjesto odabire se nasumično duž duljine niza.
- Vrijednosti na web mjestu zamijenjene su.
Izvedeno križanje može biti križanje s jednom točkom, križanje s dvije točke, križanje s više točaka itd. Jednotočko križanje ima jedno mjesto križanja, dok križište s dvije točke ima 2 mjesta na kojima se vrijednosti zamjenjuju.
To možemo vidjeti u primjeru ispod:
Jednotočka križanja
Crossover s dvije točke
Vjerojatnost križanja
Strc, vjerojatnost križanja je pojam koji opisuje koliko često će se križanje izvoditi. Vjerojatnost od 0% znači da će novi kromosomi biti točna kopija starih kromosoma, dok 100% vjerojatnost znači da su svi novi kromosomi nastali križanjem.
Mutacija
Mutacija se vrši nakon križanja. Dok se crossover fokusira samo na trenutno rješenje, operacija mutacije pretražuje cijeli prostor pretraživanja. Ova metoda je obnavljanje izgubljenih genetskih podataka i distribucija genetičkih informacija.
Ovaj operator pomaže u održavanju genetske raznolikosti u populaciji. Pomaže u sprečavanju lokalnih minimuma i sprječava stvaranje beskorisnih rješenja od bilo koje populacije.
Mutacija se izvodi na mnogo načina, poput obrnute vrijednosti svakog gena s malom vjerojatnosti ili mutacija samo ako poboljšava kvalitetu otopine.
Neki od načina mutacije su:
- Prelistavanje: Promjena od 0 do 1 ili 1 do 0.
- Izmjenjivanje: Odabiru se dva slučajna položaja, a vrijednosti se zamjenjuju.
- Vožnja unatrag: Bira se slučajni položaj i bitovi pored njega se obrću.
Pogledajmo nekoliko primjera svakog od njih:
Prevrtanje
Izmjenjivanje
Vožnja unatrag
Vjerojatnost mutacije
Strm, vjerojatnost mutacije pojam je koji odlučuje koliko će često kromosomi biti mutirani. Ako je vjerojatnost mutacije 100%, to znači da je promijenjen cijeli kromosom. Ako se mutacija ne izvrši, tada se novo potomstvo generira neposredno nakon križanja.
Primjer općeg genetskog algoritma Vjerojatnost mutacije: Strm, vjerojatnost mutacije pojam je koji odlučuje koliko će često kromosomi biti mutirani. Ako je vjerojatnost mutacije 100%, to znači da je promijenjen cijeli kromosom.
Ako se mutacija ne izvrši, tada se novo potomstvo generira neposredno nakon križanja. Početna populacija kromosoma dana je kao A, B, C, D. Veličina populacije je 4.
Kondicijska funkcija uzima se kao broj 1 u nizu.
Kromosom | Fitness |
---|---|
Prima: 00000110 | dva |
B: 11101110 | 6 |
C: 00100000 | 1 |
D: 00110100 | 3 |
Zbroj kondicije je 12 što znači da bi prosječna funkcija kondicije bila ~ 12/4 = 3
Vjerojatnost križanja = 0,7
Vjerojatnost mutacije = 0,001
# 1) Ako su odabrani B i C, križanje se ne izvodi jer je kondicijska vrijednost C ispod prosječne kondicije.
#dva) B je mutiran => B: 11101110 -> B': 01101110 radi očuvanja raznolikosti stanovništva
# 3) Odabrani su B i D, izvodi se križanje.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110
# 4) Ako je E mutiran, onda
E: 10110100 -> E': 10110000
Odgovarajući kromosomi prikazani su u donjoj tablici. Narudžba se stavlja nasumično.
Kromosom | Fitness |
---|---|
O: 01101110 | 5 |
B: 00100000 | 1 |
C: 10110000 | 3 |
D: 01101110 | 5 |
Iako je najsposobniji pojedinac s vrijednošću kondicije 6 izgubljen, ukupna prosječna spremnost populacije raste i iznosila bi: 14/4 = 3,5
Kada zaustaviti genetski algoritam
Genetski algoritam zaustavlja se kada su ispunjeni neki dolje navedeni uvjeti:
# 1) Najbolja pojedinačna konvergencija: Kada minimalna razina kondicije padne ispod vrijednosti konvergencije, algoritam se zaustavlja. To dovodi do brže konvergencije.
# 2) Najgora pojedinačna konvergencija: Kada najmanje sposobni pojedinci u populaciji postignu minimalnu vrijednost kondicije ispod konvergencije, tada se algoritam zaustavlja. Ovom se metodom u populaciji održava minimalni standard kondicije. To znači da najbolji pojedinac nije zajamčen, ali pojedinci s minimalnom vrijednošću kondicije bit će prisutni.
# 3) Zbroj kondicije: U ovoj metodi, ako je zbroj kondicije manji ili jednak vrijednosti konvergencije, pretraživanje se zaustavlja. Jamči da je sva populacija u rasponu kondicije.
# 4) Srednja kondicija: U ovoj će metodi barem polovica pojedinaca u populaciji biti bolja ili jednaka vrijednosti konvergencije.
Neki kriterij konvergencije ili uvjet zaustavljanja mogu biti:
- Kad je evoluirao određeni broj generacija.
- Kada se ispuni određeno vrijeme za pokretanje algoritma.
- Kada se kondicijska vrijednost populacije ne mijenja dalje s ponavljanjima.
Prednosti i nedostaci genetskog algoritma
Prednosti genetskog algoritma su:
- Ima širi prostor rješenja.
- Lakše je otkriti globalni optimum.
- Paralelizam: Više GA-ova može raditi zajedno koristeći isti CPU bez međusobnog ometanja. Paralelno teku izolirano.
Ograničenja GA:
- Identifikacija funkcije kondicije je ograničenje.
- Konvergencija algoritama može biti prebrza ili prespora.
- Postoji ograničenje odabira parametara kao što su križanje, vjerojatnost mutacije, veličina populacije itd.
Primjene genetičkih algoritama
GA je učinkovit za rješavanje problema visoke dimenzije. GA se učinkovito koristi kada je prostor za pretraživanje vrlo velik, ne postoje matematičke tehnike rješavanja problema i drugi tradicionalni algoritmi pretraživanja ne rade.
Neke aplikacije u kojima se koristi GA:
- Problem optimizacije: Jedan od najboljih primjera problema s optimizacijom je problem prodavača putovanja koji koristi GA. Ostali problemi s optimizacijom, poput raspoređivanja poslova, GA za optimizaciju kvalitete zvuka široko se koriste.
- Model imunološkog sustava: GA se koriste za modeliranje različitih aspekata imunološkog sustava za pojedine genetske i višegenezne obitelji tijekom evolucijskog vremena.
- Strojno učenje: GA se koriste za rješavanje problema povezanih s klasifikacijom, predviđanjem, stvaranjem pravila za učenje i klasifikaciju .
Zaključak
Genetski algoritmi temelje se na metodi prirodne evolucije. Ti se algoritmi razlikuju od ostalih klasifikacijskih algoritama jer koriste kodirane parametre (0 ili 1), u populaciji postoji višestruki broj pojedinaca i oni koriste vjerojatnosnu metodu za konvergenciju.
Procesom križanja i mutacije, GA konvergiraju u sljedećim generacijama. Izvršenje GA algoritma ne garantira uvijek uspješno rješenje. Genetski algoritmi vrlo su učinkoviti u optimizaciji - problemima rasporeda poslova.
Nadam se da bi vam ovaj vodič obogatio znanje o konceptu genetskih algoritama !!
=> Posjetite ovdje za ekskluzivnu seriju strojnog učenja
Preporučena literatura
- Ispitivanje temeljeno na modelu korištenjem genetskog algoritma
- Data Mining vs Machine Learning vs Artificial Intelligence vs Deep Learning
- Vodič za strojno učenje: Uvod u ML i njegove primjene
- Vrste strojnog učenja: Nadzirano protiv nenadgledanog učenja
- Cjelovit vodič za umjetnu neuronsku mrežu u strojnom učenju
- 11 Najpopularnijih softverskih alata za strojno učenje 2021. godine
- Top 13 NAJBOLJIH tvrtki za strojno učenje (Ažurirano 2021 popis)
- Što je podrška za vektorski stroj (SVM) u strojnom učenju