logo

Algoritmo genético en aprendizaje automático

Un algoritmo genético es un algoritmo de búsqueda heurística adaptativa inspirado en la teoría de la evolución de Darwin en la naturaleza. .' Se utiliza para resolver problemas de optimización en el aprendizaje automático. Es uno de los algoritmos importantes ya que ayuda a resolver problemas complejos que llevarían mucho tiempo resolver.

Algoritmo genético en aprendizaje automático

Los algoritmos genéticos se están utilizando ampliamente en diferentes aplicaciones del mundo real, por ejemplo, Diseño de circuitos electrónicos, descifrado de códigos, procesamiento de imágenes y creatividad artificial.

En este tema, explicaremos el algoritmo genético en detalle, incluida la terminología básica utilizada en el algoritmo genético, cómo funciona, las ventajas y limitaciones del algoritmo genético, etc.

pitón de cadena f

¿Qué es un algoritmo genético?

Antes de comprender el algoritmo genético, primero comprendamos la terminología básica para comprender mejor este algoritmo:

    Población:La población es el subconjunto de todas las soluciones posibles o probables que pueden resolver el problema dado.Cromosomas:Un cromosoma es una de las soluciones en la población para el problema dado, y la colección de genes genera un cromosoma.Gene:Un cromosoma se divide en un gen diferente o es un elemento del cromosoma.Alelos:El alelo es el valor proporcionado al gen dentro de un cromosoma en particular.Función de fitness:La función de aptitud se utiliza para determinar el nivel de aptitud del individuo en la población. Significa la capacidad de un individuo para competir con otros individuos. En cada iteración, los individuos son evaluados en función de su función de aptitud.Operadores genéticos:En un algoritmo genético, la mejor pareja individual regenera la descendencia mejor que los padres. Aquí los operadores genéticos desempeñan un papel en el cambio de la composición genética de la próxima generación.Selección

Después de calcular la aptitud de cada uno de los existentes en la población, se utiliza un proceso de selección para determinar cuál de las individualidades de la población llegará a reproducirse y producir la semilla que formará la próxima generación.

Tipos de estilos de selección disponibles

    Selección de rueda de ruleta Selección de eventos Selección basada en rangos

Entonces, ahora podemos definir un algoritmo genético como un algoritmo de búsqueda heurística para resolver problemas de optimización. Es un subconjunto de algoritmos evolutivos, que se utiliza en informática. Un algoritmo genético utiliza conceptos genéticos y de selección natural para resolver problemas de optimización.

¿Cómo funciona el algoritmo genético?

El algoritmo genético trabaja en el ciclo generacional evolutivo para generar soluciones de alta calidad. Estos algoritmos utilizan diferentes operaciones que mejoran o reemplazan la población para brindar una solución de ajuste mejorada.

Básicamente, consta de cinco fases para resolver los complejos problemas de optimización, que se detallan a continuación:

    Inicialización Tarea de acondicionamiento físico Selección Reproducción Terminación

1. Inicialización

El proceso de un algoritmo genético comienza generando el conjunto de individuos, al que se le llama población. Aquí cada individuo es la solución al problema dado. Un individuo contiene o se caracteriza por un conjunto de parámetros llamados genes. Los genes se combinan en una cadena y generan cromosomas, que es la solución al problema. Una de las técnicas de inicialización más populares es el uso de cadenas binarias aleatorias.

cómo convertir una cadena a un int
Algoritmo genético en aprendizaje automático

2. Tarea de acondicionamiento físico

¿La función de aptitud se utiliza para determinar qué tan en forma está un individuo? Significa la capacidad de un individuo para competir con otros individuos. En cada iteración, los individuos son evaluados en función de su función de aptitud. La función de fitness proporciona una puntuación de fitness a cada individuo. Esta puntuación determina además la probabilidad de ser seleccionado para la reproducción. Cuanto más alta sea la puntuación de aptitud física, mayores serán las posibilidades de ser seleccionado para la reproducción.

3. Selección

La fase de selección implica la selección de individuos para la reproducción de descendencia. Luego, todos los individuos seleccionados se organizan en parejas de dos para aumentar la reproducción. Luego, estos individuos transfieren sus genes a la siguiente generación.

Hay tres tipos de métodos de selección disponibles, que son:

  • Selección de rueda de ruleta
  • Selección de torneo
  • Selección basada en rangos

4. Reproducción

Después del proceso de selección, la creación de un niño ocurre en la etapa de reproducción. En este paso, el algoritmo genético utiliza dos operadores de variación que se aplican a la población original. Los dos operadores involucrados en la fase de reproducción se detallan a continuación:

    Transversal:El cruce juega un papel muy importante en la fase de reproducción del algoritmo genético. En este proceso, se selecciona aleatoriamente un punto de cruce dentro de los genes. Luego, el operador de cruce intercambia información genética de dos padres de la generación actual para producir un nuevo individuo que represente a la descendencia.
    Algoritmo genético en aprendizaje automático
    Los genes de los padres se intercambian entre ellos hasta que se alcanza el punto de cruce. Estos descendientes recién generados se agregan a la población. Este proceso también se llama cruce. Tipos de estilos cruzados disponibles:
    • Cruce de un punto
    • Cruce de dos puntos
    • Cruce de librea
    • Cruce de algoritmos heredables
    Mutación
    El operador de mutación inserta genes aleatorios en la descendencia (nuevo hijo) para mantener la diversidad en la población. Se puede hacer invirtiendo algunos bits de los cromosomas.
    La mutación ayuda a resolver el problema de la convergencia prematura y mejora la diversificación. La siguiente imagen muestra el proceso de mutación:
    Tipos de estilos de mutación disponibles,

    alfabeto a numero
      Mutación de bit invertido mutación gaussiana Mutación de intercambio/intercambio

    Algoritmo genético en aprendizaje automático

5. Terminación

Después de la fase de reproducción, se aplica un criterio de detención como base para la terminación. El algoritmo finaliza una vez que se alcanza el umbral de aptitud de la solución. Identificará la solución final como la mejor solución en la población.

Flujo de trabajo general de un algoritmo genético simple

Algoritmo genético en aprendizaje automático

Ventajas del algoritmo genético

  • Las capacidades paralelas de los algoritmos genéticos son las mejores.
  • Ayuda a optimizar diversos problemas, como funciones discretas, problemas multiobjetivo y funciones continuas.
  • Proporciona una solución a un problema que mejora con el tiempo.
  • Un algoritmo genético no necesita información derivada.

Limitaciones de los algoritmos genéticos

  • Los algoritmos genéticos no son algoritmos eficientes para resolver problemas simples.
  • No garantiza la calidad de la solución final a un problema.
  • El cálculo repetitivo de los valores de aptitud puede generar algunos desafíos computacionales.

Diferencia entre algoritmos genéticos y algoritmos tradicionales

  • Un espacio de búsqueda es el conjunto de todas las posibles soluciones al problema. En el algoritmo tradicional sólo se mantiene un conjunto de soluciones, mientras que en un algoritmo genético se pueden utilizar varios conjuntos de soluciones en el espacio de búsqueda.
  • Los algoritmos tradicionales necesitan más información para realizar una búsqueda, mientras que los algoritmos genéticos solo necesitan una función objetivo para calcular la aptitud de un individuo.
  • Los algoritmos tradicionales no pueden funcionar en paralelo, mientras que los algoritmos genéticos pueden funcionar en paralelo (el cálculo de la aptitud de las individualidades es independiente).
  • Una gran diferencia entre los algoritmos genéticos es que, en lugar de operar directamente sobre los resultados del buscador, los algoritmos heredables operan sobre sus representaciones (o renderizaciones), frecuentemente denominadas cromosomas.
  • Una de las grandes diferencias entre el algoritmo tradicional y el algoritmo genético es que no opera directamente sobre soluciones candidatas.
  • Los algoritmos tradicionales solo pueden generar un resultado al final, mientras que los algoritmos genéticos pueden generar múltiples resultados óptimos de diferentes generaciones.
  • No es más probable que el algoritmo tradicional genere resultados óptimos, mientras que los algoritmos genéticos no garantizan generar resultados globales óptimos, pero también existe una gran posibilidad de obtener el resultado óptimo para un problema, ya que utiliza operadores genéticos como cruce y mutación.
  • Los algoritmos tradicionales son de naturaleza determinista, mientras que los algoritmos genéticos son de naturaleza probabilística y estocástica.