Neuroevolution on koneoppimisen muoto , joka käyttää evoluutioalgoritmeja neuroverkon kouluttamiseen . Tätä lähestymistapaa käytetään sellaisilla aloilla kuin pelaaminen ja robottiohjaukset . Näissä tapauksissa riittää pelkkä neuroverkon suorituskyvyn mittaaminen, kun taas ohjattua oppimista on erittäin vaikeaa tai lähes mahdotonta toteuttaa. Tämä oppimismenetelmä kuuluu vahvistusoppimismenetelmien luokkaan .
On olemassa suuri määrä neuroevolutionaarisia algoritmeja, jotka on jaettu kahteen ryhmään. Ensimmäiseen ryhmään kuuluvat algoritmit, jotka tuottavat painoarvojen kehityksen tietylle verkkotopologialle , toiseen kuuluvat algoritmit, jotka painojen kehityksen lisäksi tuottavat myös verkkotopologian kehityksen. Vaikka erottelulle ei ole olemassa yleisesti hyväksyttyjä ehtoja, hyväksytään, että linkkien lisäämistä tai poistamista verkkoon evoluution aikana kutsutaan komplikaatioksi tai yksinkertaistamiseksi. Verkkoja, jotka kehittävät sekä yhteyksiä että topologiaa, kutsutaan TWEANNiksi (Topology & Weight Evolving Artificial Neural Networks).
Evoluutioalgoritmit manipuloivat useita genotyyppejä. Neuroevoluutiossa genotyyppi on esitys hermoverkosta. Suorassa koodauskaaviossa genotyyppi vastaa fenotyyppiä , neuronit ja yhteydet määritetään suoraan genotyypissä. Päinvastoin, järjestelmässä, jossa on epäsuora koodaus genotyypissä, on osoitettu säännöt ja rakenteet hermoverkon luomiseksi.
Epäsuoraa koodausta käytetään seuraavien tavoitteiden saavuttamiseen:
Koneoppiminen ja tiedon louhinta | |
---|---|
Tehtävät | |
Opettajan kanssa oppimista | |
ryhmäanalyysi | |
Mittasuhteiden vähentäminen | |
Rakenteellinen ennustaminen | |
Anomalian havaitseminen | |
Piirrä todennäköisyysmallit | |
Neuroverkot | |
Vahvistusoppiminen |
|
Teoria | |
Lehdet ja konferenssit |
|