330 likes | 462 Views
Taller: Inteligencia Computacional. MC. LETICIA FLORES PULIDO. CONTENIDO. TEMA1: INTRODUCCIÓN TEMA2: APRENDIZAJE MÁQUINA TEMA3 : REDES NEURONALES MULTICAPA TEMA4: PROGRAMACIÓN EVOLUTIVA. TEMA 2 : APRENDIZAJE MÁQUINA. PROBLEMAS BIEN CONDICIONADOS DISEÑO DE SISTEMAS DE APRENDIZAJE
E N D
Taller:Inteligencia Computacional MC. LETICIA FLORES PULIDO
CONTENIDO TEMA1: INTRODUCCIÓN TEMA2: APRENDIZAJE MÁQUINA TEMA3: REDES NEURONALES MULTICAPA TEMA4: PROGRAMACIÓN EVOLUTIVA
TEMA 2 : APRENDIZAJE MÁQUINA PROBLEMAS BIEN CONDICIONADOS DISEÑO DE SISTEMAS DE APRENDIZAJE ENTRENAMIENTO FUNCION DESEADA REPRESENTACION DE LA FUNCIÓN DESEADA DISEÑO FINAL PERSPECTIVAS
Introducción El 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.
Introducción Otras 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.
Introducción • El 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
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
Introducción Un 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
Estado del Arte en Aprendizaje Máquina Programas que aprenden a reconocer palabras habladas (Waibel 1989, Lee 1989), DragonNaturallySpeaking 5 descarga y video de instrucciones
Estado del Arte en Aprendizaje Máquina Predecir neumonía en pacientes (Cooper et al. 1997)
Estado del Arte en Aprendizaje Máquina Detectar fraudes de tarjetas de crédito automóviles autónomos (Pomerleau, 1989)
Estado del Arte en Aprendizaje Máquina Jugar backgammon a niveles cercanos a profesionales (Tesauro 1992, 1995) Backgammon
Problemas bien definidos El 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.
Problemas bien definidos DEFINICION: 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.
Problemas bien definidos EJEMPLO: 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
Problemas bien definidos EJEMPLO: 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.
Diseño del Sistema de Aprendizaje • Para 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.
Diseño del Sistema de Aprendizaje Para tener un diseño del sistema del aprendizaje, debemos elegir: El tipo exacto de conocimiento a ser aprendido Una representación para este tipo de conocimiento Un mecanismo de aprendizaje
Diseño del Sistema de Aprendizaje Podemos definir la función objetivo como V(b) para cualquier estadobdentro de B, como sigue: IF b es un estado final de ganar THEN es V(b)=100 IF b es un estado final de perder THEN es V(b)=-100 IF b es un estado intermedio THEN es V(b)=0
Diseño del Sistema de Aprendizaje Para seleccionar la función objetivo, podemos decir lo siguiente: X1: número de piezas negras sobre el tablero X2: número de piezas blancas sobre el tablero X3: número de coronaciones negras sobre el tablero X4: número de coronaciones blancas sobre el tablero X5: número de piezas blancas amenazadas sobre el tablero X6: número de piezas negras amenazadas sobre el tablero
Diseño del Sistema de Aprendizaje De este modo nuestro aprendizaje será representado porV(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
Diseño del Sistema de Aprendizaje • Diseñ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
Elección del algoritmo de aproximación Requerimos 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)
Elección del algoritmo de aproximación La 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.
Estimando los valores de entrenamiento La ú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
Estimando los valores de entrenamiento Podemos entonces asignar una regla de la siguiente manera: REGLA PARA ESTIMAR LOS VALORES DE ENTRENAMIENTO: VTRAIN(b)=V(Siguiente(b))
Ajustando los pesos Hay 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
El diseño final • El 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
El Diseño Final Generalizador Experimental Desempeño del Sistema Generalizador Critica
El 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.
Opciones de Diseño Final Determinar el tipo de experiencia de entrenamiento Tabla de movimientos correctos Juegos contra si mismo Juegos contra expertos Determinar la función objetivo Valor del movimiento Determinar la representación de la función aprendida movimientos tablero Redes neuronales artificiales Función lineal polinomial Diseño Completo Determinar la función objetivo Gradiente descendente Programación Lineal
Ejercicio Proporcione 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