Neuroevolution är en form av maskininlärning som använder evolutionära algoritmer för att träna ett neuralt nätverk . Detta tillvägagångssätt används i branscher som spel och robotstyrning . I dessa fall räcker det med att helt enkelt mäta prestandan hos ett neuralt nätverk, medan det är mycket svårt eller nästan omöjligt att implementera övervakat lärande. Denna inlärningsmetod tillhör kategorin förstärkningsinlärningsmetoder .
Det finns ett stort antal neuroevolutionära algoritmer, som är indelade i två grupper. Den första gruppen inkluderar algoritmer som producerar utvecklingen av vikter för en given nätverkstopologi , den andra inkluderar algoritmer som, förutom utvecklingen av vikter, också producerar utvecklingen av nätverkstopologin. Även om det inte finns några allmänt accepterade villkor för att göra distinktioner, är det accepterat att tillägg eller borttagning av länkar i nätverket under utveckling kallas komplikation respektive förenkling. Nätverk som utvecklar både anslutningar och topologi kallas TWEANNs (Topology & Weight Evolving Artificial Neural Networks).
Evolutionära algoritmer manipulerar flera genotyper. I neuroevolution är en genotyp en representation av ett neuralt nätverk. I ett direkt kodningsschema är genotypen ekvivalent med fenotypen , neuroner och anslutningar är direkt specificerade i genotypen. Tvärtom, i schemat med indirekt kodning i genotypen, anges reglerna och strukturerna för att skapa ett neuralt nätverk.
Indirekt kodning används för att uppnå följande mål:
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|