introduction genetic algorithms machine learning
anime-websteder for at se anime gratis på engelsk dubbet
Denne vejledning i genetisk algoritme forklarer, hvad der er genetiske algoritmer og deres rolle i maskinindlæring i detaljer :
I Forrige vejledning , lærte vi om kunstige neurale netværksmodeller - multilayer Perceptron, Backpropagation, Radial Bias & Kohonen Self Organizing Maps inklusive deres arkitektur.
Vi vil fokusere på genetiske algoritmer, der kom før end Neural Networks, men nu er GA blevet overtaget af NN. Selvom GA stadig har applikationer i det virkelige liv såsom optimeringsproblemer som planlægning, spil, robotteknologi, hardwaredesign, rejsesælgerproblemer osv.
Genetiske algoritmer er algoritmer, der er baseret på den evolutionære idé om naturlig selektion og genetik. GA'er er adaptive heuristiske søgealgoritmer, dvs. algoritmerne følger et iterativt mønster, der ændrer sig med tiden. Det er en type forstærkningslæring, hvor feedback er nødvendig uden at fortælle den rigtige vej at følge. Feedback kan enten være positiv eller negativ.
=> Læs gennem den komplette maskinlæringstræningsserie
Hvad du lærer:
- Hvorfor bruge genetiske algoritmer
- Hvad er genetiske algoritmer
- Fordele og ulemper ved genetisk algoritme
- Anvendelser af genetiske algoritmer
- Konklusion
Hvorfor bruge genetiske algoritmer
GA'er er mere robuste algoritmer, der kan bruges til forskellige optimeringsproblemer. Disse algoritmer afviger ikke let i nærvær af støj i modsætning til andre AI-algoritmer. GA'er kan bruges til at søge efter stort eller multimodalt rum.
Biologisk baggrund af genetiske algoritmer
Genetik er afledt af det græske ord, 'genesis', der betyder at vokse. Genetikken bestemmer arvelighedsfaktorer, ligheder og forskelle mellem afkomene i udviklingsprocessen. Genetiske algoritmer er også afledt af naturlig udvikling.
Nogle terminologier i et biologisk kromosom
- Kromosomer: Al genetisk information om en art er lagrede kromosomer.
- Gener: Kromosomerne er opdelt i flere dele kaldet gener.
- Alleler: Genene identificerer karakteristikken ved et individ. Muligheden for en kombination af gener til dannelse af egenskaber kaldes Alleles. Et gen kan have forskellige alleler.
- Genpulje: Alle mulige kombinationer af gener, der er alle alleler i en population, kaldes genpool.
- Genom: Sættet med gener af en art kaldes et genom.
- Locus: Hvert gen har en position i et genom, der kaldes locus.
- Genotype: En fuld kombination af gener i et individ kaldes genotypen.
- Fænotype: Et sæt genotyper i en dekodet form kaldes fænotypen.
Hvad er genetiske algoritmer
De genetiske algoritmer stimulerer processen som i naturlige systemer til evolution. Charles Darwin udtalte evolutionsteorien om, at biologiske væsener i naturlig udvikling udvikler sig i overensstemmelse med princippet om 'de stærkeste overlevelse'. GA-søgningen er designet til at tilskynde til teorien om 'de stærkeste overlevelse'.
GA'erne udfører en tilfældig søgning for at løse optimeringsproblemer. GA bruger teknikker, der bruger de tidligere historiske oplysninger til at dirigere deres søgning mod optimering i det nye søgerum.
Korrelation af et kromosom med GA
Den menneskelige krop har kromosomer, der er lavet af gener. Et sæt af alle gener af en bestemt art kaldes genomet. Hos levende væsener opbevares genomerne i forskellige kromosomer, mens i GA er alle gener lagret i det samme kromosom.
Sammenligning mellem naturlig evolution og genetisk algoritmterminologi
Naturlig udvikling | Genetisk algoritme |
---|---|
Kromosom | Snor |
Gen | Funktion |
Allel | Funktionsværdi |
Genotype | Kodet streng |
Fænotype | Dekodet struktur |
Vigtig terminologi i GA
- Befolkning: Det er en gruppe individer. Befolkningen inkluderer antallet af individer, der testes, oplysninger om søgerum og fænotype-parametrene. Generelt initialiseres populationen tilfældigt.
- Enkeltpersoner: Enkeltpersoner er en enkelt løsning i befolkningen. En person har et sæt parametre kaldet gener. Gener kombineret for at danne kromosomer.
- Gener: Gener er byggesten af genetiske algoritmer. Et kromosom består af gener. Genene kan bestemme løsningen på problemet. De er repræsenteret af en bit (0 eller 1) streng af tilfældig længde.
- Fitness: Konditionen fortæller værdien af problemets fænotype. Fitnessfunktionen fortæller, hvor tæt løsningen er på den optimale løsning. Fitnessfunktion bestemmes på mange måder, såsom summen af alle parametre, der er relateret til problemet - euklidisk afstand osv. Der er ingen regel til at evaluere fitnessfunktion.
En simpel genetisk algoritme
En simpel GA har en population af individuelle kromosomer. Disse kromosomer repræsenterer mulige løsninger. Reproduktionsoperatorer anvendes over disse sæt kromosomer for at udføre mutationer og rekombination. Det er således vigtigt at finde passende reproduktionsoperatører, da GA's adfærd afhænger af det.
En simpel genetisk algoritme er som følger:
# 1) Start med befolkningen oprettet tilfældigt.
#to) Beregn fitnessfunktionen for hvert kromosom.
# 3) Gentag trinnene, indtil n afkom oprettes. Afkomene er skabt som vist nedenfor.
- Vælg et par kromosomer fra befolkningen.
- Kryds parret med sandsynlighed scat danne afkom.
- Muter crossover med sandsynlighed sm.
# 4) Udskift den oprindelige population med den nye befolkning og gå til trin 2.
Lad os se de trin, der følges i denne iterationsproces. Den oprindelige population af kromosomer genereres. Den oprindelige population skulle indeholde nok gener, så enhver løsning kan genereres. Den første befolkningsgruppe genereres tilfældigt.
- Udvælgelse: Det bedste sæt gener vælges afhængigt af fitnessfunktionen. Den streng med den bedste fitnessfunktion vælges.
- Reproduktion: Nye afkom genereres ved rekombination og mutation.
- Evaluering: De nye genererede kromosomer evalueres for deres egnethed.
- Udskiftning: I dette trin erstattes den gamle befolkning med den nyoprettede befolkning.
Metode til valg af roulettehjul
Roulettehjulvalg er den selektionsmetode, der bruges bredt.
Udvælgelsesprocessen er kort som vist nedenfor:
I denne metode foretages en lineær søgning gennem roulettehjulet. Slidserne i hjulet vejes i henhold til den individuelle fitnessværdi. Målværdien indstilles tilfældigt i forhold til andelen af summen af fitness i befolkningen.
Befolkningen søges derefter, indtil målværdien er nået. Denne metode garanterer ikke de bedst egnede af individerne, men har sandsynligheden for at være den bedst egnede.
Lad os se de trin, der er involveret i valg af roulettehjul.
Den forventede værdi af et individ = Befolkningens individuelle egnethed / egnethed. Hjulspalterne tildeles enkeltpersoner baseret på deres egnethed. Hjulet drejes N gange, hvor N er det samlede antal individer i befolkningen. Når en rotation er overstået, placeres den valgte person i en pulje af forældre.
- Lad den samlede forventede værdi af et antal individer i befolkningen være S.
- Gentag trin 3-5 n gange.
- Vælg et heltal s mellem 0 og S.
- Gennemgå enkeltpersoner i befolkningen, summer de forventede værdier, indtil summen er større end s.
- Den person, hvis forventede værdi placerer summen over grænsen s, vælges.
Ulemper ved valg af roulettehjul:
- Hvis fitness adskiller sig meget, vil omkredsen af roulettehjulet maksimalt blive taget af det højeste fitnessfunktionskromosom, så de andre har meget ringe chance for at blive valgt.
- Det larmer.
- Udviklingen afhænger af variationen i befolkningens egnethed.
Andre udvælgelsesmetoder
Der er mange andre markeringsmetoder, der bruges i 'Udvælgelse' trin i den genetiske algoritme.
Vi vil diskutere de 2 andre meget anvendte metoder:
# 1) Rangvalg: I denne metode får hvert kromosom en fitnessværdi fra rangordning. Den værste fitness er 1, og den bedste fitness er N. Det er en langsom konvergensmetode. I denne metode bevares mangfoldighed, hvilket fører til en vellykket søgning.
Potentielle forældre udvælges, og derefter afholdes en turnering for at afgøre, hvem af individerne der vil være forælder.
# 2) Valg af turnering: I denne metode anvendes en selektiv presstrategi på befolkningen. Den bedste person er den med den højeste fitness. Denne person er vinderen af turneringskonkurrencen blandt Nu-personer i befolkningen.
Turneringspopulationen sammen med vinderen tilføjes igen i puljen for at generere nye afkom. Forskellen i vinderens og individernes fitnessværdier i parringspoolen giver et selektivt pres for optimale resultater.
Crossover
Det er en proces med at tage 2 personer og producere et barn fra dem. Reproduktionsprocessen efter udvælgelse gør kloner af de gode sting. Crossover-operatøren påføres over strengene for at give et bedre afkom.
Implementeringen af crossover-operatøren er som følger:
- To individer vælges tilfældigt fra befolkningen til at producere afkom.
- Et tværsnit vælges tilfældigt i længden af strengen.
- Værdierne på webstedet byttes.
Den udførte crossover kan være et enkeltpunktsoverkrydsningsfelt, topunktsoverkrydsningsfelt, flerpunktsoverkrydsning osv. Enkeltpunktsoverkrydsningsfeltet har et crossover-sted, mens et to-punkts-crossover-sted har 2 steder, hvor værdierne byttes.
Vi kan se dette i eksemplet nedenfor:
Enkeltpunktsovergang
To-punkts crossover
Crossover sandsynlighed
Pc, crossover sandsynlighed er det udtryk, der beskriver, hvor ofte crossover vil blive udført. 0% sandsynlighed betyder, at de nye kromosomer vil være en nøjagtig kopi af de gamle kromosomer, mens 100% sandsynlighed betyder, at alle nye kromosomer er lavet ved crossover.
Mutation
Mutation sker efter Crossover. Mens crossover kun fokuserer på den aktuelle løsning, søger mutationsoperationen i hele søgerummet. Denne metode er at gendanne den mistede genetiske information og distribuere den genetiske information.
Denne operatør hjælper med at opretholde genetisk mangfoldighed i befolkningen. Det hjælper med at forhindre lokale minima og forhindrer generering af ubrugelige løsninger fra enhver befolkning.
Mutationen udføres på mange måder såsom at invertere værdien af hvert gen med en lille sandsynlighed eller kun udføre mutation, hvis det forbedrer kvaliteten af opløsningen.
Nogle af måderne til mutation er:
- Spejlvendt: Skifter fra 0 til 1 eller 1 til 0.
- Udveksling: Der vælges to tilfældige positioner, og værdierne udskiftes.
- Vender tilbage: Tilfældig position vælges, og bitene ved siden af det vendes.
Lad os se nogle eksempler på hver:
Vender
Udveksling
Vender tilbage
Mutationssandsynlighed
Pm, mutationssandsynlighed er et udtryk, der bestemmer, hvor ofte kromosomerne vil blive muteret. Hvis mutationssandsynligheden er 100%, betyder det, at hele kromosomet ændres. Hvis der ikke udføres en mutation, genereres nye afkom direkte efter crossover.
Et eksempel på en generel genetisk algoritme Mutationssandsynlighed: Pm, mutationssandsynlighed er et udtryk, der bestemmer, hvor ofte kromosomerne vil blive muteret. Hvis mutationssandsynligheden er 100%, betyder det, at hele kromosomet ændres.
Hvis der ikke udføres en mutation, genereres det nye afkom direkte efter crossover. Den indledende population af kromosomer er angivet som A, B, C, D. Befolkningsstørrelsen er 4.
Træningsfunktionen tages som et antal 1'er i strengen.
Kromosom | Fitness |
---|---|
Til: 00000110 | to |
B: 11101110 | 6 |
C: 00100000 | 1 |
D: 00110100 | 3 |
Summen af fitness er 12, hvilket betyder, at den gennemsnitlige fitness-funktion ville være ~ 12/4 = 3
Crossover sandsynlighed = 0,7
Mutationssandsynlighed = 0,001
# 1) Hvis B og C er valgt, udføres crossover ikke, da fitnessværdien for C er under den gennemsnitlige fitness.
#to) B er muteret => B: 11101110 -> B'': 01101110 for at bevare mangfoldigheden i befolkningen
# 3) B og D er valgt, crossover udføres.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110
# 4) Hvis E er muteret, så
E: 10110100 -> E'': 10110000
Tilsvarende kromosomer er vist i nedenstående tabel. Ordren er sat tilfældigt.
Kromosom | Fitness |
---|---|
A: 01101110 | 5 |
B: 00100000 | 1 |
C: 10110000 | 3 |
D: 01101110 | 5 |
Selvom den stærkeste person med fitnessværdi på 6 er tabt, stiger befolkningens samlede gennemsnitlige fitness og ville være: 14/4 = 3,5
Hvornår skal man stoppe genetisk algoritme
En genetisk algoritme stoppes, når nogle af nedenstående betingelser er opfyldt:
# 1) Bedste individuelle konvergens: Når minimumsniveauet falder til under konvergensværdien, stoppes algoritmen. Det fører til hurtigere konvergens.
# 2) Værste individuelle konvergens: Når de mindst egnede individer i befolkningen når en minimums fitnessværdi under konvergensen, stoppes algoritmen. I denne metode opretholdes den mindste fitnessstandard i befolkningen. Det betyder, at den bedste person ikke er garanteret, men enkeltpersoners mindste fitnessværdi vil være til stede.
# 3) Summen af fitness: Hvis summen af egnethed er mindre end eller lig konvergensværdien i denne metode, stoppes søgningen. Det garanterer, at hele befolkningen er inden for fitnessområdet.
# 4) Median Fitness: I denne metode vil mindst halvdelen af individerne i befolkningen være bedre end eller lig med konvergensværdien.
Nogle konvergenskriterier eller standsningstilstande kan være:
- Når et bestemt antal generationer har udviklet sig.
- Når den angivne tid til at køre algoritmen er opfyldt.
- Når egnethedsværdien af befolkningen ikke ændres yderligere med iterationer.
Fordele og ulemper ved genetisk algoritme
Fordele ved en genetisk algoritme er:
- Det har et bredere løsningsrum.
- Det er lettere at finde det globale optimale.
- Parallelisme: Flere GA'er kan køre sammen ved hjælp af den samme CPU uden at forstyrre hinanden. De løber parallelt isoleret.
Begrænsninger i GA:
- Træningsfunktionsidentifikationen er en begrænsning.
- Konvergensen af algoritmerne kan være for hurtig eller for langsom.
- Der er en begrænsning af valg af parametre som crossover, mutationssandsynlighed, størrelse på befolkningen osv.
Anvendelser af genetiske algoritmer
GA er effektiv til at løse højdimensionelle problemer. En GA bruges effektivt, når søgerummet er meget stort, der ikke er nogen matematiske problemløsningsteknikker til rådighed, og andre traditionelle søgealgoritmer fungerer ikke.
Nogle applikationer, hvor GA bruges:
- Optimeringsproblem: Et af de bedste eksempler på optimeringsproblemerne er rejsesælgerproblemet, der bruger GA. Andre optimeringsproblemer såsom jobplanlægning, optimering af lydkvalitets-GA'er bruges i vid udstrækning.
- Immunsystemmodel: GA'er bruges til at modellere forskellige aspekter af immunsystemet for individuelle gen- og multi-genfamilier under evolutionær tid.
- Maskinelæring: GA'er er blevet brugt til at løse problemrelateret til klassificering, forudsigelse, skabe regler for læring og klassificering .
Konklusion
Genetiske algoritmer er baseret på metoden til naturlig udvikling. Disse algoritmer er forskellige fra de andre klassificeringsalgoritmer, da de bruger kodede parametre (0 eller 1), der er flere antal individer i en population, og de bruger den sandsynlige metode til konvergens.
Med crossover- og mutationsprocessen konvergerer GA'erne efter hinanden. Udførelsen af en GA-algoritme garanterer ikke altid en vellykket løsning. De genetiske algoritmer er meget effektive til optimering - jobplanlægningsproblemer.
Håber, at denne vejledning ville have beriget din viden om begrebet genetiske algoritmer !!
=> Besøg her for den eksklusive maskinlæringsserie
Anbefalet læsning
- Modelbaseret test ved hjælp af genetisk algoritme
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Machine Learning Tutorial: Introduktion til ML og dens applikationer
- Typer af maskinindlæring: Overvåget vs Uovervåget læring
- En komplet guide til kunstigt neuralt netværk inden for maskinlæring
- 11 mest populære maskinlæringssoftwareværktøjer i 2021
- Top 13 BEDSTE maskinlæringsfirmaer (Opdateret 2021-liste)
- Hvad er SVM (Support Vector Machine) i maskinindlæring