¿Solución de algoritmo genético?

Los algoritmos genéticos se han aplicado en muchos campos; desde la perspectiva de la investigación de redes neuronales, el más preocupante es la aplicación de algoritmos genéticos en redes neuronales. En la aplicación de algoritmos genéticos, sus características y cuestiones clave deben aclararse primero antes de que podamos tener una comprensión profunda de este algoritmo, aplicarlo de manera flexible y realizar más investigaciones y desarrollo.

1. Características del algoritmo genético

1. El algoritmo genético parte de un conjunto de soluciones al problema en lugar de partir de una única solución.

Ésta es la gran diferencia entre los algoritmos genéticos y los algoritmos de optimización tradicionales. Los algoritmos de optimización tradicionales encuentran iterativamente la solución óptima a partir de un único valor inicial, por lo que es fácil desviarse hacia la solución óptima local. El algoritmo genético comienza a buscar desde el conjunto de cadenas y tiene un área de cobertura grande, lo que favorece la selección global.

2. El algoritmo genético utiliza muy poca información sobre un problema específico al resolverlo y es fácil formar un programa de algoritmo general.

Dado que el algoritmo genético utiliza información del valor de aptitud para la búsqueda, no requiere derivados del problema ni otra información directamente relacionada con el problema. El algoritmo genético solo necesita información general, como el valor de aptitud y la codificación de cadenas, por lo que puede manejar casi cualquier problema.

3. El algoritmo genético tiene una tolerancia a fallas extremadamente fuerte.

El conjunto de cadenas iniciales del algoritmo genético en sí contiene una gran cantidad de información que está lejos de la solución óptima a través de operaciones de selección, cruce y mutación, que se diferencian de la anterior; la solución óptima se puede eliminar rápidamente. Cadenas extremadamente grandes; este es un proceso de filtrado fuerte y es un mecanismo de filtrado paralelo; Por tanto, los algoritmos genéticos tienen una alta tolerancia a fallos.

4. La selección, el cruce y la mutación en los algoritmos genéticos son operaciones aleatorias más que reglas precisas.

Esto muestra que el algoritmo genético utiliza un método aleatorio para buscar la solución óptima. La selección refleja el acercamiento a la solución óptima, el cruce refleja la generación de la solución óptima y la mutación refleja la cobertura. de la solución óptima global.

5. Los algoritmos genéticos tienen un paralelismo implícito

La teoría básica de los algoritmos genéticos es el teorema del grafo. Su contenido relevante es el siguiente:

(1) Concepto de esquema

Una cadena de genes está representada por el conjunto de símbolos {0, 1, *} y se denomina factor; * puede ser 0 o 1. Por ejemplo: H=1x x 0 x x es un esquema.

(2) El orden y la longitud del esquema

El número de 0 y 1 en el esquema se denomina orden del esquema y está representado por 0 (H). La distancia entre el primer dígito y el último dígito del diagrama se llama longitud del diagrama y se representa por δ(H). Para el diagrama H=1x x0x x, hay 0(H)=2 y δ(H)=4.

(3)Teorema del esquema de Holland

Los esquemas de orden bajo y corta duración aumentarán exponencialmente durante el proceso genético de la población. Cuando el tamaño de la población es n, el número de patrones procesados ​​en cada generación es 0 (n3).

Esta capacidad de procesamiento de los algoritmos genéticos se denomina paralelismo implícito (Implicit Parallelism). Muestra que el algoritmo genético tiene características inherentes de procesamiento paralelo.

2. Claves de aplicación del algoritmo genético

Las cuestiones más críticas en la aplicación del algoritmo genético son las siguientes:

1. Método de codificación de cadenas

Esto es esencialmente un problema de codificación. Generalmente, varios parámetros del problema se codifican en binario para formar subcadenas; luego las subcadenas se empalman para formar una cadena de "cromosomas". La longitud de la cadena y la forma de codificación tienen un gran impacto en la convergencia del algoritmo.

2. Determinación de la función de aptitud

La función de aptitud también se denomina función de objeto, que es una función de medición de la calidad de la resolución del problema y a menudo también se denomina "entorno" del problema. Generalmente, la función modelo del problema se puede utilizar como una función de objeto, pero a veces es necesario construirla por separado.

3. Configuración de parámetros propia del algoritmo genético

El algoritmo genético tiene tres parámetros, a saber, el tamaño de la población n, la probabilidad de cruce Pc y la probabilidad de mutación Pm.

Si el tamaño del grupo n es demasiado pequeño, es difícil encontrar la solución óptima; si es demasiado grande, el tiempo de convergencia aumentará. Generalmente n=30-160. Si la probabilidad de cruce Pc es demasiado pequeña, será difícil buscar hacia adelante, y si es demasiado grande, fácilmente destruirá la estructura con un alto valor de aptitud. Generalmente se toma Pc=0,25-0,75.

Si la probabilidad de mutación Pm es demasiado pequeña, es difícil generar una nueva estructura genética, y si es demasiado grande, el algoritmo genético se convierte en una simple búsqueda aleatoria. Generalmente se toma Pm=0,01-0,2.

3. Aplicación del algoritmo genético en redes neuronales

La aplicación del algoritmo genético en redes neuronales se refleja principalmente en tres aspectos: aprendizaje de redes, diseño estructural de redes y análisis de redes.

1. Aplicación del algoritmo genético en el aprendizaje en red

En las redes neuronales, los algoritmos genéticos se pueden utilizar para el aprendizaje en red. En este momento, funciona en dos aspectos

(1) Optimización de las reglas de aprendizaje

Utilice un algoritmo genético para optimizar automáticamente las reglas de aprendizaje de la red neuronal, aumentando así la tasa de aprendizaje.

(2) Optimización de los coeficientes de peso de la red

Utilice la optimización global y las características de paralelismo implícito de los algoritmos genéticos para mejorar la velocidad de optimización del coeficiente de peso.

2. Aplicación del algoritmo genético en el diseño de redes

Para utilizar el algoritmo genético para diseñar una estructura de red neuronal excelente, primero debe resolver el problema de codificación de la estructura de la red y luego puede obtener la estructura óptima mediante selección, cruce, y operaciones de mutación. Hay tres métodos de codificación principales:

(1) Método de codificación directa

Esto consiste en representar directamente la estructura de la red neuronal como una cadena binaria en el algoritmo genético, el "cromosoma". Es esencialmente una relación de mapeo con una red neuronal. Mediante la optimización de los "cromosomas" se consigue la optimización de la red.

(2) Método de codificación paramétrica

La codificación utilizada en la codificación paramétrica es relativamente abstracta. La codificación incluye información como el número de capas de red, el número de neuronas en cada capa. y el método de interconexión de cada capa. Generalmente, se analiza el "cromosoma" optimizado después de la evolución y luego se genera la estructura de la red.

(3) Método de reproducción y crecimiento

Este método no codifica directamente la estructura de la red neuronal en el "cromosoma", pero codifica algunas reglas gramaticales de crecimiento simples en el "cromosoma". " Luego, el algoritmo genético cambia continuamente estas crecientes reglas gramaticales y finalmente genera una red neuronal adecuada para el problema que se está resolviendo. Este método es consistente con el crecimiento biológico y la evolución de la naturaleza.

3. Aplicación del algoritmo genético en el análisis de redes

El algoritmo genético se puede utilizar para analizar redes neuronales. Debido al almacenamiento distribuido y otras características de las redes neuronales, generalmente es difícil comprender directamente sus funciones a partir de su estructura topológica. Los algoritmos genéticos pueden realizar análisis funcionales, análisis de propiedades y análisis de estado en redes neuronales.

Aunque los algoritmos genéticos pueden tener aplicaciones prácticas en una variedad de campos y han demostrado su potencial y amplias perspectivas, los algoritmos genéticos todavía tienen una gran cantidad de problemas que deben estudiarse, y todavía hay varios; deficiencias en la actualidad. En primer lugar, cuando hay muchas variables y un rango de valores grande o ningún rango determinado, la velocidad de convergencia disminuye; en segundo lugar, se puede encontrar la proximidad de la solución óptima, pero finalmente no se puede determinar con precisión la posición de la solución más perturbadora; No existe un método cuantitativo para la selección de parámetros de algoritmos genéticos. Para los algoritmos genéticos, es necesario estudiar más a fondo su teoría matemática básica; también es necesario probar teóricamente sus ventajas y desventajas y otras técnicas de optimización y las razones; programación general y forma de algoritmos genéticos, etc.