Post on 21-Apr-2015
Taller:Inteligencia Computacional
MC. LETICIA FLORES PULIDO
2
CONTENIDOTEMA1: INTRODUCCIÓN
TEMA2: APRENDIZAJE MÁQUINA
TEMA3: REDES NEURONALES MULTICAPA
TEMA4: PROGRAMACIÓN EVOLUTIVA
3
TEMA 2 : APRENDIZAJE MÁQUINAPROBLEMAS BIEN CONDICIONADOS
DISEÑO DE SISTEMAS DE APRENDIZAJE
ENTRENAMIENTO
FUNCION DESEADA
REPRESENTACION DE LA FUNCIÓN DESEADA
DISEÑO FINAL
PERSPECTIVAS
4
IntroducciónEl campo del aprendizaje máquina se refiere a la pregunta
acerca de cómo construir programas de computadora que automáticamente mejoren su experiencia.
En años recientes muchas aplicaciones de aprendizaje máquina se han desarrollado los cuales van desde minería de datos de programas que aprenden a detectar fraudes de transacciones bancarias hasta sistemas que filtran información de sus usuarios para aprender acerca de sus preferencias o perfiles.
5
IntroducciónOtras de las aplicaciones son las de producir
autos autónomos con aprendizaje constante en el proceso de manejo dentro de las autopistas
Al mismo tiempo, se están dando avances importantes en los algoritmos utilizados bajo este enfoque y para dichas aplicaciones.
El objetivo de este tema es presentar algoritmos clave los cuales forman el corazón del aprendizaje máquina.
6
IntroducciónEl aprendizaje máquina implica conceptos de
muchos campos, los cuales incluyen: Estadística Inteligencia artificial Filosofía Teoría de la información Biología Ciencia cognitiva, complejidad computacional y
teoría de control
7
Introducción Imaginemos computadoras que aprenden a
partir de registros médicos cuyos tratamientos son mas
efectivos para nuevas enfermedades Casas que aprenden a partir de la experiencia a
optimizar costos de energía basándose en los patrones de uso particular de sus ocupantes.
En personal de asistencia de software que evolucione de acuerdo a los intereses del cliente
8
IntroducciónUn entendimiento detallado de algoritmos de
procesamiento de información para aprendizaje máquina, nos puede guiar a un mejor entendimiento de las habilidades de aprendizaje del ser humano
9
Estado del Arte en Aprendizaje MáquinaProgramas que aprenden a reconocer palabras
habladas (Waibel 1989, Lee 1989), Dragon Naturally Speaking 5 descarga y video de instrucciones
10
Estado del Arte en Aprendizaje MáquinaPredecir neumonía en pacientes (Cooper et al.
1997)
11
Estado del Arte en Aprendizaje Máquina
Detectar fraudes de tarjetas de crédito
automóviles autónomos (Pomerleau, 1989)
12
Estado del Arte en Aprendizaje Máquina Jugar
backgammon a niveles cercanos a profesionales (Tesauro 1992, 1995) Backgammon
13
Problemas bien definidosEl estudio del aprendizaje máquina consiste en
considerar ciertas tareas.
De inicio consideraremos que el aprendizaje se define de manera mas amplia si consideramos cualquier programa de computadora que mejore su desempeñen alguna tarea a través de la experiencia.
14
Problemas bien definidosDEFINICION:
Se dice que un programa de computadora aprende por medio de la experiencia E con respecto a alguna clase de tareas T y medida de desempeño P, si su desempeño en las tareas denominadas como T, medidas por P, mejoran por medio de la experiencia E.
15
Problemas bien definidosEJEMPLO:
Programa que aprende a jugar ajedrez
Tarea: Jugar ajedrez (T)
Desempeño: Ganar la mayoría de partidas, (P)
Experiencia: se obtiene por medio de los juegos que puede jugar contra si mismo
16
Problemas bien definidosEJEMPLO:
Programa que aprende a reconocer manuscrita
Tarea: reconocer y clasificar palabras manuscritas dentro de imágenes
Desempeño: Porcentaje de palabras correctamente clasificadas
Experiencia: un diccionario de palabras manuscritas con clasificaciones previamente asignadas.
17
Diseño del Sistema de AprendizajePara ilustrar algunos de los elementos básicos y enfoques en
aprendizaje máquina, consideraremos el ejemplo de un programa que juega ajedrez con el objetivo de entrar a un torneo.
Se adopta entonces el desempeño clásico medición: el porcentaje de juegos a ganar dentro de este torneo.
Debemos entonces: ELEGIR LA EXPERIENCIA DE ENTRENAMIENTO ELEGIR LA FUNCIÓN OBJETIVO Y SU REPRESENTACION ELEGIR UN ALGORITMO DE APROXIMACIÓN PARA LA FUNCION OBJ.
18
Diseño del Sistema de Aprendizaje
Para tener un diseño del sistema del aprendizaje, debemos elegir:
1. El tipo exacto de conocimiento a ser aprendido
2. Una representación para este tipo de conocimiento
3. Un mecanismo de aprendizaje
19
Diseño del Sistema de Aprendizaje
Podemos definir la función objetivo como V(b) para cualquier estado b dentro de B, como sigue:
1. IF b es un estado final de ganar THEN es V(b)=100
2. IF b es un estado final de perder THEN es V(b)=-100
3. IF b es un estado intermedio THEN es V(b)=0
20
Diseño del Sistema de Aprendizaje
Para seleccionar la función objetivo, podemos decir lo siguiente:
1. X1: número de piezas negras sobre el tablero
2. X2: número de piezas blancas sobre el tablero
3. X3: número de coronaciones negras sobre el tablero
4. X4: número de coronaciones blancas sobre el tablero
5. X5: número de piezas blancas amenazadas sobre el tablero
6. X6: número de piezas negras amenazadas sobre el tablero
21
Diseño del Sistema de Aprendizaje
De este modo nuestro aprendizaje será representado por V(b) por medio de una función lineal que será:
V(b)=w0 + w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6
Donde w0 a w6 son coeficientes numéricos, o pesos a ser elegidos por el algoritmo de aprendizaje
22
Diseño del Sistema de AprendizajeDiseño parcial de un programa que aprende a
jugar ajedrez: Tarea T: jugar ajedrez Desempeño P: porcentaje de juegos ganados
dentro del torneo Experiencia E: juegos jugados contra sí mismo Función Deseada V: Tablero R Representación de la función Deseada: V(b)=V(b)=w0 + w1x1 + w2x2 + w3x3 + w4x4 + w5x5 +
w6x6
23
Elección del algoritmo de aproximaciónRequerimos un conjunto de entrenamiento
Cada uno describe un estado específico dentro del tablero
Cada ejemplo de entrenamiento es un par ordenado de valores
El siguiente ejemplo describe un estado del tablero donde las fichas negras ha gando el juego (observe que x2=0 indica que ya no hay piezas blancas)
24
Elección del algoritmo de aproximaciónLa función objetivo es entonces +100:
<<x1=3,x2=0,x3=1,x4=4,x5=0,x6=0>,+100>
Ahora hay que describir el procedimiento de entrenamiento a partir de la experiencia indirecta de aprendizaje,
Entonces debemos ajustar los pesos wi al mas adecuado para que coincida con los ejemplos de entrenamiento.
25
Estimando los valores de entrenamientoLa única información disponible para el
entrenamiento del programa, es saber si el partido se ganó o se perdió
Pero se requiere también de posiciones de tableros que arrojen ciertas puntuaciones
Para estados finales de tablero se pueden asignar valores fácilmente pero para estados en los que el tablero tiene estados intermedios, antes de que el juego termine
26
Estimando los valores de entrenamientoPodemos entonces asignar una regla de la
siguiente manera:
REGLA PARA ESTIMAR LOS VALORES DE ENTRENAMIENTO:
VTRAIN(b)=V(Siguiente(b))
27
Ajustando los pesosHay que especificar el algoritmo de aprendizaje para elegir los
pesos wi para adecuarlos lo mejor posible al conjunto de ejemplos de entrenamiento
Debemos entonces definir un enfoque común que se refleja en la mejor hipótesis, o en un conjunto de pesos los cuales minimizan el error cuadrático entre los ejemplos de entrenamiento y los valores calculados por la hipótesis:
E=Σ(TRAINING SAMPLES)(VTRAIN(b)-V(b))2
28
El diseño finalEl diseño final de nuestro sistema de
aprendizaje de ajedrez se puede describir naturalmente por cuatro módulos distintos de programación que representan los componentes centrales de muchos sistemas de aprendizaje
Estos módulos son: EL SISTEMA DE DESEMPEÑO LA CRÍTICA EL GENERALIZADOR EL GENERADOR EXPERIMENTAL
29
El Diseño FinalGeneralizador Experimental
Critica
Desempeño del Sistema
Generalizador
30El Diseño Final
DESEMPEÑO DEL SISTEMA
Éste módulo debe resolver la tarea desempeñada, toma las instancias de los nuevos problemas como entrada y produce una solución (teoría de juegos)
CRÍTICA Toma como entrada el historial de las jugadas que se producen en el
juego
GENERALIZADOR Toma como entrada los ejemplos de entrenamiento y genera como
salida una solución para ganar el juego
GENERADOR EXPERIMENTAL Toma como entrada la hipótesis actual y genera un conjunto de
estados iniciales.
31
Opciones de Diseño FinalDeterminar el tipo de
experiencia de entrenamiento
Determinar la función objetivo
Determinar la representación de la función aprendida
Determinar la función objetivo
Diseño Completo
Juegoscontra expertos
Juegoscontra si mismo
Tabla de movimientos
correctos
movimientos tablero
Valor del movimiento
polinomial
Funciónlineal
Redes neuronales artificiales
Gradiente descendente Programación
Lineal
32
EjercicioProporcione tres aplicaciones de computadora
para las cuales el aprendizaje máquina parece ser apropiado y tres para las cuales no parezca ser apropiado.
Elija aplicaciones diferentes a las mencionadas en estas parte del taller e incluya un párrafo que las justifique