La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a Soft Computing

Presentaciones similares


Presentación del tema: "Introducción a Soft Computing"— Transcripción de la presentación:

1 Introducción a Soft Computing
Tomás Arredondo Vidal 4/05/09

2 Introducción a Soft Computing
Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos o KBS (Knowledge Based Systems) Introducción a soft computing

3 Introducción a los sistemas inteligentes
Dado que una simple definición de inteligencia no esta disponible… Los sistemas inteligentes generalmente tienen la capacidad de adquirir información, aplicar y utilizar conocimientos en la manera que demuestra capacidades inteligentes para generar su output (idea de M. Minsky) Algunas capacidades inteligentes incluyen por ejemplo: aprender de sus experiencias previas, utilización de memoria, inferir y razonar en situaciones inesperadas o nuevas basándose en información incompleta Reconocimiento de patrones y clasificación son parte importante del procesamiento inteligente de la información

4 Introducción a los sistemas inteligentes
Ejemplos de tareas típicas: Diagnosis medico Aplicaciones de tarjetas de crédito o transacciones / detectar fraude en e-commerce Detectar spam, viruses y troyanos en Personalizar noticias o sistemas web o educación Recomendar inversiones financieras Reconocer palabras habladas Discriminar huellas digitales Catalogar imágenes astronómicas Resolver problemas de calculo Jugar damas, ajedrez Péndulo invertido Manejar un vehículo Volar un avión o un cohete Controlar un ascensor o un sistema de frenos u otro sistema Controlar un agente inteligente en un juego o una aplicación Controlar un robot

5 Introducción a los sistemas inteligentes
Reconocimientos de palabras habladas SPHINX (Lee 1989) Aprender a manejar un vehículo autónomo ALVINN (Pomerleau 1989) Aprender a clasificar objetos celestiales (Fayyad et al 1995) Aprender a jugar backgammon a nivel internacional TD-GAMMON (Tesauro 1992) Diseno automatizado de ”organismos” electro-mechanicos GOLEM (Lipton, Pollock 2000) Ver otras en:

6 Maneja automáticamente a 70 mph en una carretera pública
ALVINN Maneja automáticamente a 70 mph en una carretera pública Imagen de cámara 30 outputs para manejar 4 unidades escondidas 30x32 pixels de input

7 GOLEM: Artificial Life
GOLEM Project (Nature: Lipson, Pollack 2000) Se evolucionan maquinas electromechanicas simples desde bloques básicos (barras, actuadores, neuronas artificiales) en una simulación del mundo real (con gravedad, fricción etc) Los mejores individuos son fabricados usando prototipos rápidos

8 GOLEM: Evolvable Robot

9 Evolved creatures: Sims (1994)
Creación evolutiva de criaturas que pueden nadar, saltar, seguir, competir etc

10 Introducción a los sistemas inteligentes
Un sistema o maquina inteligente puede tener un significado mas amplio que una computadora inteligente Sensores, actuadores y controladores son componentes integrales de este tipo de proceso y trabajan cooperativamente en lograr que tenga “inteligencia” La percepción sensorial con entendimiento es muy importante para el comportamiento inteligente Los humanos usamos visión, olfato, escuchar, tocar y sentir para facilitar nuestro comportamiento inteligente También se necesita una mente o “machine intelligence” Asimo Mars rover: Spirit

11 Introducción a los sistemas inteligentes
Modelo de Máquina inteligente

12 Introducción a los sistemas inteligentes
Actualmente existen Muchos algoritmos efectivos y eficientes disponible Gran cantidad de datos y recursos computacionales disponible en línea Disciplinas relacionadas Inteligencia artificial Minería de datos Probabilidad y estadística Teoría de la información Optimización numérica Teoría de complejidad computacional Teoría de control adaptativo Psicología (cognitiva y de desarrollo) Neurobiología Lingüística Filosofía

13 Clasificación Dado: Determinar:
Una descripción de una instancia (datos), xX, en el cual X es el lenguaje de instancia o espacio de instancia. Un conjunto fijo de categorías: C={c1, c2,…cn} Determinar: La categoría de x: c(x)C, en el cual c(x) es una funcion de categorizacion en el cual el dominio es X y el rango es C. Si c(x) es una función binaria C = {0,1} ({true,false}, {positive, negative}) entonces se llama un concepto.

14 Aprender para la Clasificación
Un ejemplo de entrenamiento es una instancia xX, apareada con su categoría correcta c(x): <x, c(x)> para una función de categorización, c. Dado un conjunto de ejemplos de entrenamiento, D. Encontrar una función de categorización (hipótesis), h(x), la cual: Consistencia

15 Aprender para la Clasificación
Espacio de instancia: <size, color, shape> size  {small, medium, large} color  {red, blue, green} shape  {square, circle, triangle} C = {positive, negative} D: Example Size Color Shape Category 1 small red circle positive 2 large 3 triangle negative 4 blue

16 Selección de Hipótesis
Muchas hipótesis pueden ser consistentes con los datos de entrenamiento. red & circle (small & circle) or (large & red) (small & red & circle) or (large & red & circle) not [ ( red & triangle) or (blue & circle) ] not [ ( small & red & triangle) or (large & blue & circle) ] Bias Cualquier criterio aparte de la consistencia con los datos de entrenamiento que se usan para seleccionar una hipótesis.

17 Generalización Las hipótesis deben correctamente generalizar para correctamente clasificar instancias no en los datos de entrenamiento. Simplemente memorizando datos de entrenamiento es una hipótesis consistente que no generaliza. Occam’s razor: Encontrar una hipótesis lo mas simple posible ayuda a garantizar la generalización.

18 Espacio de las Hipótesis
Se puede restringir las funciones aprendidas a un espacio de hipótesis, H, de las funciones h(x) que pueden ser consideradas como definiciones de c(x). Para aprender conceptos en instancias descritas por n características de valores discretos, considere el espacio de hipótesis conjuntivas representados por un vector de n restricciones <c1, c2, … cn> en el cual cada ci es uno de: ?, cualquier valor (wild card) indicando que no hay restricción Un valor especifico del dominio de la característica numero i Ø indicando que no hay valor aceptable Algunas hipótesis conjuntivas son: <big, red, ?> <?, ?, ?> (hipótesis más general) < Ø, Ø, Ø> (hipótesis más específica)

19 Introducción a Soft Computing
Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos (Knowledge-based systems) Introducción a soft computing

20 Sistemas basados en conocimientos
Sistemas basados en conocimientos (Knowledge based systems o KBS) han sido ampliamente usados en sistemas expertos (Expert Systems) de la Inteligencia Artificial (AI) para emular la estrategia de razonamiento de uno o mas expertos humanos Un KBS se puede definir como un programa que resuelve problemas dentro de un contexto limitado usando datos del problema, conocimientos relacionados y capacidades “inteligentes” de toma de decisiones Esto es diferente de técnicas de programación tradicional que pueden resolver problemas al ejecutar un conjunto prescrito de pasos de acuerdo a un algoritmo que da soluciones fijas (o duras) a problemas fijos (o duros)

21 Sistemas basados en conocimientos
Componentes de un sistema experto

22 Sistemas basados en conocimientos
Un KBS puede ser desarrollado y organizado de acuerdo a una o una combinación de arquitecturas de bases de conocimiento. Algunas de ellas son: Sistemas de producción (reglas) Sistemas de marcos (frames) Sistemas de pizarra (blackboard) Árboles de decisión (decision trees)

23 Sistemas basados en conocimientos
Ejemplo: Considere un sistema de producción para seleccionar una técnica de control, dada por las siguientes reglas: R1: If plant is linear and uncoupled then use Control Category A. R2: If the plant is linear and coupled then use Control Category B. R3: If the plant is nonlinear use Control Category C. R4: If Category A and a plant model is known then use Subgroup 1. R5: If Category B and a plant model is known then use Subgroup 2. R6: If Subgroup 1 and high model uncertainty then use H-control. R7:If Subgroup 1 and low model uncertainty then use LQG-control ...etc… Asumiendo que se recibe el siguiente contexto (inputs y datos actuales) : I1: Linear, uncoupled; model available, model uncertainty high Que regla se dispara usando la estrategia de forward chaining?: En este case los dos primeros ítems en el contexto van a disparar R1. Estos resultados van a generar un nuevo ítem en el contexto. Este nuevo item en conjunto con el tercer ítem en el contexto antiguo dispara R4. R4 y el ultimo input va a disparar R6 que causa la selección de H-control.

24 Sistemas basados en conocimientos
Representación de una celda de manufactura usando frames

25 Sistemas basados en conocimientos
Una arquitectura de blackboard (pizarra) es una estructura cooperativa para resolver problemas La característica principal de estos sistemas es un área común de datos (blackboard) que es compartida y visible por el sistema completo Un sistema de tipo pizarra tiene la flexibilidad de acomodar diferentes fuentes de conocimiento (knowledge sources) Los knowledge sources cooperan como pares para la toma de decisiones Una unidad de control (scheduler) supervisa el acceso a la pizarra (e.g. cuando se actualiza un dato en la pizarra activa la fuente de conocimiento correspondiente)

26 Sistemas basados en conocimientos
Los árboles de decisión son otra base de conocimientos para poder tomar decisiones La toma de decisiones requiere aproximar funciones objetivos de valores discretos Los árboles de decisión también pueden ser representados como conjunto de reglas (if…then) para lectura mas facil Los árboles de decisión clasifican instancias ordenando desde la raíz hacia una de las hojas, cada nodo en el árbol especifica una prueba de un atributo de la instancia y cada rama es uno de los posibles valores del atributo Una instancia se clasifica al comenzar desde la raíz del árbol y avanzar nodo a nodo probando los atributos hasta llegar a una hoja terminal En general estos árboles representan una disyunción de conjunciones de constricciones en los valores de atributos de las instancia Existen varios algoritmos para generar un árbol de decisión entre los que están ID3, su sucesor C4.5 y otros

27 Árbol de Decisión para Jugar Tenis
Outlook Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes

28 Introducción a Soft Computing
Contenidos Introducción a los sistemas inteligentes Sistemas basados en conocimientos (Knowledge-based systems) Introducción a soft computing

29 From Wikipedia, the free encyclopedia:
Soft computing refers to a collection of computational techniques in computer science, machine learning and some engineering disciplines, which study, model, and analyze very complex phenomena: those for which more conventional methods have not yielded low cost, analytic, and complete solutions. Hard computing is bound by a Computer Science concept called NP-Complete, which means, in layman's terms, that there is a direct connection between the size of a problem and the amount of resources needed to solve the problem (there are problems so large that it would take the lifetime of the Universe to solve them, even at super computing speeds). Soft computing aims to surmount NP-complete problems by using inexact methods to give useful but inexact answers to intractable problems.

30 Introducción a Soft Computing
Soft computing es un área importante de estudios en lo concierne a los sistemas inteligentes y los KBS Ha efectivamente complementado la Inteligencia Artificial convencional (AI) en variadas aplicaciones Los métodos y algoritmos computacionales de soft computing están basados principalmente en conceptos biológicos como: la lógica inexacta (lógica difusa), los sistemas neuronales (redes neuronales), la computación evolutiva (algoritmos genéticos, programación genética)

31 Introducción a la Lógica Difusa
La lógica difusa es una extensión de la lógica tradicional (Booleana) que utiliza conceptos de pertenencia de sets mas parecidos a la manera de pensar humana El concepto de un subset difuso fue introducido por L.A. Zadeh en 1965 como una generalización de un subset exacto (crisp subset) tradicional Los subsets exactos usan lógica Booleana con valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus operaciones. Lotfi Zadeh

32 Introducción a la Lógica Difusa
Un set exacto (crisp set) : función característica 1 μs(x) x N μS : X -> {0,1} μS(x) = 1 si x es un miembro de S μS(x) = 0 si x no es un miembro de S

33 Introducción a la Lógica Difusa
Función de pertenencia de x al set difuso F: μF(x) Ej: μF(x) corresponde al grado de pertenecia de x a F (nivel de frío medido en la variable x) frío mas o menos frío 1 No tan frío μF(x) Definitivamente no frío x (Co)

34 Introducción a la Lógica Difusa
Reglas IF-THEN difusas: Una regla IF-THEN difusa es de la forma IF x is A THEN y is B En la cual A y B son variables lingüísticas definidas por sets difusos en los universos X e Y. La parte IF x is A es llamada el antecedente o premisa, mientras la parte THEN y is B es llamada la consecuencia o conclusión.

35 Introducción a la Lógica Difusa
Ejemplo de lógica difusa en la robótica: HEXAPOD En el robot hexapodo MKIII se utilizaron reglas fuzzy para interpretar valores de sus sensores y actuar para evitar obstáculos [7] En el caso de un hexapodo este siempre tiene estabilidad dado que siempre mantiene tres pies en el suelo en una configuración estable

36 Introducción a la Lógica Difusa
Ejemplo en la robótica: HEXAPOD (cont) Se uso un sistema de reglas de inferencia fuzzy para evitar obstáculos Variables lingüísticas (y funciones de membresía) usadas fueron: A es el set fuzzy, x es el input o output, α es el centro y σ el ancho: FIS:

37 Introducción a la Lógica Difusa
Ejemplo en la robótica: HEXAPOD (cont) Reglas fuzzy:

38 Introducción a la Lógica Difusa
Ejemplo en la robótica: HEXAPOD (cont) Resultados fueron que el robot lograra navegar sin chocar incluyendo obstáculos dinámicos Pequeños ajustes a las reglas fueron necesarios para evitar que se entrampara en mínimas locales con algunas combinaciones de inputs. Se uso fuzzificacion con singletons y defuzzificacion con promedios de centro (center average defuzzification) y’i es el centro de la función Bm (para la regla m), μAm(xi) es el grado de membresia de xi a la regla Am y M =27 es el numero de reglas.

39 Introducción a la Lógica Difusa
Ejemplo en la robótica: HEXAPOD (cont) Rutas:

40 Introducción a las Redes Neuronales
¿Que son las redes neuronales artificiales (ANNs)? Las ANNs son un paradigma para hacer cómputo y para la detección de patrones basado en la interconexión paralela de unidades denominadas neuronas La neurona artificial es un modelo basado en los complejos sistemas nerviosos de los animales y seres humanos con su gran cantidad de interconexiones y paralelismo

41 Introducción a las Redes Neuronales
Este ejemplo de un multilayer neural network es capaz de resolver el problema del XOR Los valores sobre las líneas indican pesos y los en los círculos indican umbrales (thresholds) La función no lineal es un step function con valores de 1 si el umbral el excedido y de 0 si el umbral no es excedido

42 Introducción a las Redes Neuronales
Aprendizaje de las ANNs El aprendizaje de las ANNs puede utilizar un entrenador (teacher) o puede depender de la capacidad de auto- organizarse (e.g SOM) y generalizar basado en conjuntos limitados de información

43 Introducción a los Algoritmos Genéticos
¿Que es un algoritmo genético (GA)? Los algoritmos genéticos (GA) son algoritmos de búsqueda y optimización basados en los mecanismos de selección natural y genética. Los GA usan los siguientes mecanismos: la sobrevivencia de los organismos con mejor capacidad dentro de una población uso de secuencias de caracteres (generalmente 1s y 0s) en strings como representación del ADN de estos organismos (codificación) el uso de métodos aleatorios (random) para la generación de la población y para su reproducción

44 Introducción a los Algoritmos Genéticos

45 Introducción a los Algoritmos Geneticos
Los GA utilizan lo siguiente: Esquema de codificación de la información de los miembros en strings (ADN de 1s y 0s) Evaluación de capacidad (fitness) de cada miembro Selección aleatoria de los miembros que se van a reproducir Cruce (crossover) de la información de los miembros de la población Mutación de la información de los miembros de la población

46 Introducción a los sistemas inteligentes
Ejemplos de tareas típicas: Diagnosis medico Aplicaciones de tarjetas de crédito o transacciones / detectar fraude en e-commerce Detectar spam, viruses y troyanos en Personalizar noticias o sistemas web o educación Recomendar inversiones financieras Reconocer palabras habladas Discriminar huellas digitales Catalogar imágenes astronómicas Resolver problemas de calculo Jugar damas, ajedrez Péndulo invertido Manejar un vehículo Volar un avión o un cohete Controlar un ascensor o un sistema de frenos u otro sistema Controlar un agente inteligente en un juego o una aplicación Controlar un robot

47 Introducción a Soft Computing
Referencias: [1] Yager, R., Filev, D., Essentials of Fuzzy Modeling and Control, Wiley Interscience, NY, 1994 [2] Kartalopoulos, S., Understanding Neural Networks and Fuzzy Logic, IEEE PRESS, NY, 1994 [3] [4] Mitchel, T., Machine Learning , McGraw Hill, 1997 [5] Karray, F., De Silva, C., Soft Computing and Intelligent Systems Design, Addison Wesley, 2004 [6] Jang, J., Sun, C., Mizutani, E., Neuro-Fuzzy and Soft Computing, Prentice Hall, 1997 [7] Kern, M., Woo, P., Implementation of a hexapod mobile robot with a fuzzy controller, Robotica, v23, p , 2005. [8] Arredondo, T., Freund,W., Muñoz, C., Navarro, N., and Quirós, F.: "Fuzzy Motivations for Evolutionary Behavior Learning by a Mobile Robot". LNAI, Vol Springer, Berlin (2006) p


Descargar ppt "Introducción a Soft Computing"

Presentaciones similares


Anuncios Google