Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
RECONOCIMIENTO DE PATRONES
DRA. LETICIA FLORES PULIDO
CONTENIDO TEMA1: INTRODUCCIÓN
TEMA2: APRENDIZAJE MÁQUINA
TEMA3: RECONOCIMIENTO DE PATRONES
TEMA4: PROGRAMACIÓN EVOLUTIVA
2
TEMA 4 : PROGRAMACIÓN EVOLUTIVA
INTRODUCCIÓN
ALGORITMOS GENÉTICOS
EJEMPLO
HIPÓTESIS Y ESPACIO DE BÚSQUEDA
PROGRAMACIÓN GENÉTICA
MODELOS DE EVOLUCIÓN Y APRENDIZAJE
PARALELIZANDO ALGORITMOS GENÉTICOS
3
Introducción Los algoritmos genéticos proporcionan un
método de aprendizaje que es basado en evolución simulada
Las hipótesis que forman las muestras de entrenamiento son por lo regular en forma de bits
La búsqueda de una hipótesis apropiada comienza con una población, una colección o una hipótesis inicial
4
Introducción Los miembros de la población actual dan lugar a
una nueva generación de la población por medio de operaciones como mutación y cruza
En cada paso, la hipótesis o fórmula que nos lleva a modelar un problema, proporciona una medida de aptitud y esto nos lleva a la hipótesis mas cercana a la respuesta correcta probabilisticamente
Una vez seleccionada dicha hipótesis, se originan las semillas para la nueva generación
5
Introducción Los algoritmos genéticos han sido aplicados
exitosamente a aprender:
colecciones de reglas para control de robots,
para optimizar la topología de parámetros de aprendizaje para redes neuronales artificiales.
6
Motivación Los algoritmos genéticos proveen un método de
aprendizaje motivado por la analogía a la evolución biológica
Los algoritmos genéticos realizan una búsqueda de hipótesis repetitiva mutando y recombinando sus partes a partir de la hipótesis de solución más reciente
A cada paso, una colección de hipótesis llamada la actual población se actualiza al reemplazar alguna fracción de la misma población por la nueva descendencia de la hipótesis más actual
7
Motivación Dicho proceso forma una búsqueda de hipótesis donde es
posible realizar un recorrido a través de un conjunto de soluciones mas apropiadas
La popularidad de los Algoritmos Genéticos es motivada por un número de factores incluyendo: Que la evolución es un método robusto para la adaptación desde
el punto de vista biológico
Los AG pueden buscar espacios de búsqueda de hipótesis que contienen mezclas de códigos que pueden ser difíciles de modelar
Los AG pueden paralelizarse fácilmente y pueden tomar ventaja de los bajos costos de hardware computacional poderoso
8
Algoritmos Genéticos El problema que solucionan los algoritmos
genéticos es el de buscar un espacio de hipótesis candidato para identificar la mejor hipótesis
En AG, la mejor hipótesis se define a aquella que optimiza una medida numérica predefinida para el problema, llamada la hipótesis de adaptación.
En el ejemplo del ajedrez podemos decir que la hipótesis de adaptación es igual a el número de juegos ganados contra otros jugadores dentro de un torneo.
9
Algoritmos Genéticos ESTRUCTURA:
1. El algoritmo opera por iteración actualizando una cantidad de hipótesis llamada población
2. En cada iteración, todos los miembros de la población son evaluados de acuerdo a la función de adaptabilidad
3. Una nueva población es generada entonces al seleccionar probabilísticamente los individuos más aptos de la población actual
4. Algunos de estos individuos se conservan en la población actual y se conservan intactos con la generación de la nueva población
10
Algoritmos Genéticos ESTRUCTURA (SIGUE) Otros individuos son utilizados como base para crear
nueva descendencia al aplicar operaciones genéticas tales como cruza y mutación
11
Algoritmos Genéticos 12
Algoritmos Genéticos Las entradas al AG incluyen: la función de aptitud y
un umbral que define el nivel aceptable de adaptatividad
El tamaño de la población a conservar
Los parámetros que definen como se generarán los sucesores de las poblaciones
La fracción de la población que será reemplazada en cada generación y
la taza de mutación
13
Representación de Hipótesis La representación de la información en AG es
por cadenas, de modo que pueda ser fácilmente manipulada por los operadores genéticos de mutación o cruza
Las hipótesis representadas por estas cadenas de bits puede ser tan compleja como se requiera: Pueden representarse conjuntos de reglas if-then
(Holland 1986)
14
Representación de Hipótesis Un ejemplo de representación en cadenas es considerando
por ejemplo:
La palabra Pronóstico la cual puede tomar cualquiera de los tres valores siguientes: Soleado
Nublado
Lluvioso
Una forma obvia de representar estos estados, es tomar una cadena de bits con tres valores, donde cada valor indique cada una de las variables posibles del pronóstico
15
Representación de Hipótesis 010 indica Pronóstico= Nublado
011 indica Pronóstico= Nublado ∨ lluvioso
011 indicará que no importa que valor tome dicha variable
Dada la anterior representación, podemos entonces describir reglas fácilmente con conjunciones de condiciones que corresponden a cadenas de bits
16
Representación de Hipótesis Consideremos otro atributo llamado Viento:
Una regla de condición para este estado sería:
(Pronóstico=Nublado ∨ Lluvioso) ∧ (Viento=Fuerte)
Que puede ser representada por la siguiente cadena de bits de longitud cinco:
17
PRONÓSTICO 011
VIENTO 10
Representación de Hipótesis Entonces una regla postcondicionada como:
JugarTenis=Si, puede ser representada de forma similar
Entonces una regla completa puede describirse al concatenar las cadenas de bits de las condiciones de la parte del IF que queremos escribir y concatenar la cadena de bits de la regla THEN de la postcondicion
18
Representación de Hipótesis Por ejemplo, la regla:
IF viento=fuerte THEN JugarTenis=si
Puede ser representada por la cadena:
Donde los primeros 3 bits indican la condición no importa el clima, los siguientes dos describen la constante del viento y los dos últimos asumen los valores de la regla postcondicion, donde suponemos que JugarTenis puede tomar los valores de SI=10 o NO=01
19
Pronóstico 111
Viento 10
JugarTenis 10
Representación de Hipótesis
Observemos que la cadena que utilizamos para representar esta hipótesis se forma de subcadenas de atributos aun cuando los atributos no son considerados dentro de la precondición
20
Operadores Genéticos La generación de nueva descendencia o de los sucesores
(recordemos el juego del ajedrez, conocido como la siguiente jugada), es determinada por las operaciones de mutación o cruza
Dichas operaciones representan al caso idealizado de su analogía biológica
Los dos operadores mas comunes son: LA MUTACION Y
LA CRUZA
21
Operadores Genéticos 22
Operadores Genéticos EJEMPLOS:
23
TIPO DE
CRUZA
CADENA INICIAL
MASCARA DE
CRUZA
DESCENDENCIA
Cruza en un punto simple
1000 1100 0110 1101
11110000 1000 1100 0110 1101
Cruza en dos puntos
1000 1100 0110 1101
00011110 1000 1101 0110 1101
Cruza uniforme 1000 1100 0110 1101
1001 1011 1110 1100 0000 1101
Mutación en un punto
1000 1100
-------- 1000 1110
Programación Genética La programación genética es una forma de
cómputo evolutivo en la cual los individuos que se encuentran dentro de la población a evolucionar son programas de computadora
Dichos programas son manipulados y representados como cadenas de caracteres (Koza, 1992).
24
Programación Genética
REPRESENTACIÓN DE PROGRAMAS
Los programas son representados por árboles
Cada llamada a una función, se representa por un nodo del árbol
Los argumentos de la función entonces son dados por sus descendientes
25
Programación Genética Para la
representación de la función
sin(x)+√(x2+y)
26
+
sen
x
√
+
∧
x
y
2
Programación Genética 27
¿¿¿Preguntas???
28