La neuroevolución es una forma de aprendizaje automático que utiliza algoritmos evolutivos para entrenar una red neuronal . Este enfoque se utiliza en industrias tales como juegos y control de unidades robóticas . En estos casos, basta simplemente con medir el rendimiento de una red neuronal, mientras que es muy difícil o casi imposible implementar el aprendizaje supervisado. Este método de aprendizaje pertenece a la categoría de métodos de aprendizaje por refuerzo .
Existe un gran número de algoritmos neuroevolutivos, que se dividen en dos grupos. El primer grupo incluye algoritmos que producen la evolución de pesos para una topología de red dada , el otro incluye algoritmos que, además de la evolución de pesos, también producen la evolución de la topología de red. Aunque no existen condiciones generalmente aceptadas para hacer distinciones, se acepta que la adición o eliminación de enlaces en la red durante la evolución se denomina complicación o simplificación, respectivamente. Las redes que evolucionan tanto en las conexiones como en la topología se denominan TWEANN (Redes neuronales artificiales con evolución de topología y peso).
Los algoritmos evolutivos manipulan múltiples genotipos. En neuroevolución , un genotipo es una representación de una red neuronal. En un esquema de codificación directa, el genotipo es equivalente al fenotipo , las neuronas y las conexiones se especifican directamente en el genotipo. Por el contrario, en el esquema con codificación indirecta en el genotipo, se indican las reglas y estructuras para crear una red neuronal.
La codificación indirecta se utiliza para lograr los siguientes objetivos:
Aprendizaje automático y minería de datos | |
---|---|
Tareas | |
Aprendiendo con un maestro | |
análisis de conglomerados | |
Reducción de dimensionalidad | |
Pronóstico estructural | |
Detección de anomalías | |
Graficar modelos probabilísticos | |
Redes neuronales | |
Aprendizaje reforzado |
|
Teoría | |
revistas y congresos |
|