Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Modelización y predicción con Tecnologías Emergentes Modelización y Predicción con Tecnologías Emergentes Teoría: Isabel Passoni lpassoni@fi.mdp.edu.ar Ana Lucia Dai Pra daipra@fi.mdp.edu.ar Práctica: Gustavo Meschino gmeschin@fi.mdp.edu.ar Método de aprendizaje Regresión multivariada y clasificación, reconocimiento de patrones. - Representación de la realidad, con la finalidad de mostrar y/o predecir comportamientos. - Método de aprendizaje. Algoritmo (generalmente implementado en software) que estima un mapeo desconocido (dependencia) entre entradas y salidas de un sistema. • Tecnologías Emergentes : Tecnologías que emergen de nuevos planteos ante la necesidad de distintos tratamientos de la información, que aún se encuentran en evolución. Nuevas Metodologías Crecimiento explosivo de información Computadoras de bajo costo (implementación de métodos). Sensores de bajo costo (obtención de datos). Tecnologías de base de datos (almacenamiento de datos). Mucha literatura de expertos (interés en problemas de aplicación). Aplicaciones móviles (transferencia de datos, soc. colaborativa). •Matemática Estadística. • Modelización : • Ciencias de la computación Inteligencia artificial Aprendizaje de la máquina (‘machine learning’) Cuando el único instrumento que usted tiene es un martillo, todo comienza a parecerse a un clavo (L. Zadeh). Big Data Metodologías tradicionales Adoptan una cuidadosa aproximación y favorecen los métodos paramétricos. Favorecen las pruebas analíticas más que los métodos prácticos de aprendizaje a partir de datos. Nuevas metodologías Cambian los límites tradicionales entre el modelador y el usuario (experto en un tema de aplicación). Técnicas sofisticadas de modelado para estimar dependencias complejas no lineales a partir de datos. Esfuerzo por presentar conclusiones a quienes no son matemáticos. 1 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Principios básicos • La ciencia y la ingeniería están basadas en la utilización de principios básicos para describir sistemas físicos, biológicos y sociales (leyes mecánicas de Newton, teorías de electromagnetismo de Maxwell, etc.). • Los datos experimentales son utilizados para verificar esos principios y estimar los parámetros que son dificultosos de medir directamente. Limitación de los Principios básicos En muchas aplicaciones no se puede establecer una dependencia de esos principios básicos. Los sistemas en estudio son tan complejos que no pueden ser descriptos matemáticamente. Ausencia de modelos bajo principios básicos. Necesidad por comprender amplios y complejos conjuntos de datos, ricos en información Aprendizaje de los Sistemas Biológicos Problemas complejos • Diagnósticos médicos. • Reconocimiento de caracteres manuscritos. Inspiración en las capacidades de aprendizaje de los sistemas biológicos, en particular de los humanos. • Estrategias comerciales. Los sistemas biológicos aprenden a arreglárselas con desconocimiento de la naturaleza matemática y de los controladores de datos. Aprenden en la interacción con el ambiente. La habilidad de extraer conocimiento escondido en los datos y actuar partiendo de ese conocimiento es fundamental en el mundo competitivo actual. Generalmente los humanos no articulan las reglas que ellos usan en el reconocimiento, (por ejemplo: distinguir un rostro en una figura compleja, reconocer un carácter manuscrito en • Predicción de fenómenos naturales. un texto). Inteligencia Artificial 2 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Algo de historia • Las primeras explicaciones teóricas sobre el cerebro y el pensamiento fuerón dadas por algunos filósofos griegos, como Platón y Aristóteles, apoyados despúes por Descartes y filósofos empiristas. Aristóteles (siglo XII): Desarrolló la noción de “consecuencia lógica”. Leibnitz (siglo XVIII): Conceptualizó la idea de “razonamiento deductivo mecanizado”. Intenta cuantificar el conocimiento y el razonamiento mediante un sistema algebraico exacto. • Conseguir, diseñar y construir máquinas capaces de realizar procesos con cierta inteligencia ha sido uno de los principales objetivos y preocupaciones de los científicos a lo largo de la historia. Alan Turing, en 1936, fue el primero en estudiar como automatizar el conocimiento, en Computing Machinery and Intelligence, (1950), Intenta ofrecer una definición operativa de lo que es la inteligencia. Capacidad de lograr eficiencia a nivel humano en todas las actividades de tipo cognitivo, suficiente para engañar a un evaluador. • El problema de fondo que limita los resultados, es que las computadoras están basadas en la filosofía de Von Neumann y se apoyan en procesos secuenciales. Inteligencia Artificial Áreas tradicionales Los primeros pasos 1943- W. McCulloch y W.Pitts – Funcionamiento de las neuronas del cerebro – Análisis formal de la lógica proposicional. 1949- D. Hebb - Modifica las intensidades de conexión entre neuronas, para simular el aprendizaje. 1950- Shannon y A. Turing. Programas de ajedrez al estilo Von Neumann. 1951- M. Minsky y D. Edmonds - Construyen primer computadora de red neuronal. 1952- A. Samuel - Escribe programas para el juego de damas. 1958- McCarthy - Define el lenguaje Lisp. Se inventa el tiempo compartido. Publica el artículo “Programas con sentido común”. 1958- Friedberg - Primeros experimentos en el campo de la evolución en computadoras (actualmente algoritmos genéticos). Inteligencia Artificial Redes neuronales Razonamiento automático • Redes neuronales. 1943. 1949. • Razonamiento automático. 1956 IA (Resolución de problemas matemáticos, Demostración de teoremas, programas de ajedrez). • Reconocimiento de patrones. 1960 (Procesamiento de imágenes, interpretación del lenguaje – habla, gramática, manuscritos -, reconocimiento de señales. Conexionismo IA tradiconal (Sistemas simbolicológico-deductivos, SE) • Sistemas basados en conocimiento. 1963 (Sist. Expertos. 1965) • Robótica. 1963 ... Inteligencia Computacional ... 3 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Inteligencia Artificial MEDIO Información MENTE/MAQ Conocimiento previo Áreas de vanguardia (híbridos) Proceso de Aprendizaje Experiencia previa Intuición Sentido común Transformación mediante modelos matemáticos y/o computacionales que permitan avalar o justificar el conocimiento Nuevo Conocimiento • Realidad virtual, movimiento en el espacio virtual. • Agentes, analiza tareas llevadas a cabo por un usuario, ayuda, sugiere y actúa. • Inteligencia computacional, cálculo, mineria de datos. Acciones Lengua natural (ambigua,subjetiva) Soft-computing Matematica • Vehículos autónomos, movimiento en el espacio físico (robótica, SE, aprendizaje y razonamiento automático). Nuevas metodologías Datos duros (hard data) Datos lingüísticos (Soft data) Modelos Matemáticos (number crunching) Sistemas inteligentes: (Interpretaciones, comprensión, explicaciones) Métodos Cuantitativos Métodos Cualitativos Razonamiento bivalente Razonamiento bivalente o multivalente “Tan cerca como se refieran las leyes matemáticas a la realidad no son ciertas, y tan lejos como sean ciertas no se refieren a la realidad” (1921) Albert Einstein • Reconocimiento de patrones: Visión artificial, procesamiento de lenguaje natural, reconocimiento del habla, sistemas biométricos para la identificación de personas. Soft-Computing Resolver problemas del mundo real que son complejos de resolver mediante técnicas convencionales (crisp computing). Representación y procesamiento del conocimiento humano y del razonamiento cualitativo aproximado. Posibilidad de definir sistemas con tolerancia a la falta de precisión, incertidumbre y verdad parcial, con soluciones robustas y económicas. Inteligencia computacional, cálculo con palabras y modelos biológicos para resolución de problemas y optimización de soluciones. 4 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Inteligencia Computacional Definición, utilizada por el capítulo de inteligencia computacional de la asociación IEEE: “La inteligencia computacional es una rama de la inteligencia artificial centrada en la teoría, el diseño y la aplicación de los modelos computacionales biológica y lingüísticamente inspirados, enfatizando las redes neuronales, los algoritmos evolutivos y bioinspirados, la lógica difusa, y los sistemas inteligentes híbridos en los cuales estos paradigmas están contenidos.” Enfatiza el procesamiento numérico frente al procesamiento simbólico que fue la base de muchos de los desarrollos clásicos en inteligencia artificial. Inteligencia Computacional Complementación de técnicas de Inteligencia computacional con técnicas tradicionales Sist. Maquina: Inteligencia expresada en proposiciones lógicas, realiza evaluaciones e inferencias. Pero el elemento humano incluye elementos ilógicos (intuición, inspiración, sentimientos, sentido común y metaconocimiento) Sist. Humano: Intenta introducir metodología científica en problemas ambigüos del hombre y la sociedad. Modelar es una aplicación abstracta de descripción o la creación de modelos puramente matemáticos basados en asunciones no naturales. Sist. Maquina-humano: Colaboran hombre y máquina para realizar trabajos que no puede hacer sólo uno de los dos. Problema principal a abordar: Simplificación del proceso de entrada, simular la creatividad y el juicio sintético del hombre 5 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Inteligencia Computacional Características de los Sistemas Difusos Idea base de Zadeh: Principio de incompatibilidad ♦ Redes neuronales artificiales – Mc Cullogh-Pitts 1943: aprendizaje Cuando la complejidad aumenta, las sentencias precisas pierden significado y las sentencias significativas pierden precisión. ♦ Sistemas difusos o borrosos (fuzzy) – Zadeh 1965: manejo de la incertidumbre (imprecisión, inexactitud, incompletitud) ♦ Algoritmos genéticos – Goldberg 1989: optimización Representación del conocimiento La comprensión está basada en la comparación relativa con conocimientos y experiencias previas. Las descripciones humanas, mediante el lenguaje, las emociones o los instintos, son fáciles de entender, pero muy difíciles de describir o representar en términos prácticos (datos, fórmulas o algoritmos). Lógicas difusas: Aplicación de la lógica a datos imprecisos, subjetivos o “difusos”. Representación mediante reglas de la forma “if-then”, cuya conclusión no será verdadero o falso, sino una gama de valores entre verdadero y falso. Lógicas difusas B. Russell: “Todo es vago a tal grado que usted no se da cuenta hasta que quiera hacerlo preciso” • Algoritmos precisos que describen relaciones entre objetos imprecisos. • En lugar de ecuaciones matemáticas complejas la lógica difusa utiliza descripciones lingüísticas para definir relaciones entre los datos de entrada y los datos de salida esperados, eliminando el exceso de precisión inherente al modelado matemático. Ej: Si la temperatura es alta entonces abrir las ventanas. 6 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Beneficios de las lógicas difusas • Simplicidad: Elimina la dificultad del modelo matemático, permite la descripción de entradas, salidas y reglas en lengua natural. • Menos código y menos memoria: Un sistema puede ser definido con unas pocas reglas. • Mejor performance: Permite cálculos rápidos sin requerir de procesadores importantes. • Fáciles y rápidos desarrollos: El usuario se puede concentrar en su objetivo más que en el conocimiento de la matemática. • Sistemas grandes confiables: Las reglas funcionan autónomamente, eliminando la disyuntiva entre robustez y sensibilidad. • Nuevas aplicaciones: Consideradas hasta ahora muy complejas. Desventajas de las lógicas difusas • Necesidad de adoptar una nueva forma de plantear los problemas • Desconocimiento inicial del comportamiento de variables de entrada-salida (técnicas de ajuste y prueba). • Carecen por sí mismas de mecanismos de optimización del modelo. (prueba-error, algoritmos genéticos, redes neuronales). • Las reglas no son siempre obvias. (clasificación difusa). Aplicaciones • • • • Sistemas expertos Procesos de toma de decisiones Análisis financiero Productos y servicios Microprocesadores. Electrodomésticos. procesadores económicos y de tamaño reducido. (Matsushita, Hitatchi) Camaras y filmadoras (Sony, Cannon, Minolta, Sanyo). Control de ascensores, líneas de trenes. (Fujitec, Hitachi, Toshiba) • Planillas de cálculo y bases de datos.(FuziCalc, FSQL) Aplicaciones • Control industrial y de producción. (Aptronix, Omron, Meiden, Sha, Micom, Mitsubishi, Nisshin-Denki, Oku-Electronics) • Seguridad de reactores nucleares. • Ahorro de combustible y controles autmáticos en automóviles (Nissan, Subaru). • Reconocimiento de caracteres manuscritos. • Procesamiento de imágenes. • Predicción de fenómenos naturales. (Inst. of Seismology Bureau of Metrology, Japan) • Diagnóstico de enfermedades. (Kawasaki Medical School) 7 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Conocimientos previos a la utilización de lógicas difusas Aprendizaje ♦ Aprendizaje / Estimación (desde ejemplos) - entrenamiento ♦ Operación / Predicción (para futuros test) - chequeo Conceptos de aprendizaje Necesidad de conocer metodologías tradicionales (práctica) Proceso experimental Tipos de variables Tareas tradicionales de aprendizaje Clasificación o “clustering” (reconocimiento de patrones) Regresión o estimación de funciones (desde ejemplos con ruidos) Estimación de densidad probabilística (desde ejemplos) Tipos de aprendizaje (a nivel problema): ♦ Supervisado: Basado en conocimiento, mapeo desde ejemplos conocidos, se conoce el resultado (salida) de los ejemplos (entrada). ♦ No supervisado: Sólo hay entradas, no hay noción de cuál será el resultado del aprendizaje, conduce a definir estructuras naturales (clusters). Pre-procesamiento Normalizar los valores de los atributos a [0,1]. u= u − umin u max − umin Estandarizar, transformar la media a cero y el desvío estándar a uno. Si los datos tienen una distribución normal con media m y desvío estándar σ. Escalar a un rango adecuado, para escalar a un rango [u1,u2] u* = u′ = u− m σ u − u1 (u − u1 ) + u1 u2 − u1 2 Verificar correlación, si dos atributos están fuertemente correlacionados puede indicar una. dependencia lineal, lo cual indicaría redundancia. 8 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Clusterización Clasificación Asignar a cada punto del espacio de trabajo a un cluster particular HDC (Hard C means) ó K-medias • Asignar C centros de cluster • Cada punto se asigna al cluster más cercano • Se recalcula un nuevo centro tomando los valores medios de los puntos asignados al mismo. Determinación de clases o categorías • Reconocimiento de caracteres • Reconocimiento de voz • Identificación de recursos naturales con imágenes satelitales • Minimizar una función objetivo c c i =1 i =1 2 J = ∑ J i = ∑ ( ∑ uk − ci ) Clusterización (HCM) k∈Ci Regresión lineal Propiedades de los clusters “duros” c UC i Abarcan todo el universo =U i =1 Ci ∩ C j = φ, i ≠ j No se solapan Si M es la matriz de pertenencia de c x K, con c nro. de clusters y K datos, cada elemento mik es 1 si k pertenece al cluster i y 0 si no pertenece. mik = ci = 1 Ci ∑u k ,uk ∈Ci k 1 0 si uk − ci 2 ≤ uk − c j en otro caso c c i =1 i =1 2 i ≠j 2 J = ∑ J i = ∑ ( ∑ uk − ci ) x y 28 45 12 23 34 28 14 16 17 24 6 5 1 4 2 6 3 2 2 3 7 6 5 4 3 2 1 0 dato Lineal (dato) 0 20 40 60 k ∈Ci 9 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Regresión lineal Regresión lineal Encontrar la función que describa lo más aproximadamente posible un conjunto de datos, de acuerdo con un cierto criterio (criterio de ajuste). yi = a + bxi n∑ xi yi − ∑ xi ∑ yi i =1 i =1 i =1 b= 2 n n 2 n∑ xi − ∑ xi i =1 i =1 n n n n ∑y n ∑x i a= i =1 n i −b i =1 n Regresión no lineal 8 7 6 5 4 3 2 1 0 dato Lineal (dato) 0 20 40 60 • Lineal y= 0.0394x + 2.2316 RMS= 1.5896 • Logarítmica y = 1.4802Ln(x) - 1.4307 RMS=1.52111 • Polinomial (grado 6) y = -2E-06x6 + 0.0003x5 - 0.0197x4 + 0.7089x3 - 13.614x2 + 132.4x -508.12 RMS=0.486022 Exponencial (dato) • Exponencial y = 1.9596e0.0143x RMS=2.07323 Polinóm ica (dato) • Polinomial (grado 4) y = -1E-05x4 + 0.0014x3 - 0.0694x2 + 1.5881x - 10.224 RMS=1.23686 4 Logarítm ica (dato) 2 Polinóm ica (dato) 0 -4 6 5 1 4 2 6 3 2 2 3 2 Lineal (dato) 6 -2 0 y 28 45 12 23 34 28 14 16 17 24 50 Regresión no lineal dato 10 x 20 40 60 10 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Estimación de densidad probabilística Dependencia estadística y causalidad La meta del aprendizaje predictivo es estimar la dependencia desconocida entre las variable de entrada x y la variable de salida y, desde un conjunto de observaciones de valores (x,y). x z f ( x) = 1 2πσ e − (x −µ )/ 2 σ 2 2 2 Incertidumbre La causalidad no puede ser inferida únicamente del análisis de los datos, debe ser asumida o demostrada por una argumentación más allá del análisis estadístico. ♦ Causalidad de la salida depende de los datos observados (entrada). ♦ Causalidad de la entrada depende de la salida (Ej. Diagnóstico médico, a partir de una enfermedad supuesta, se analizan los síntomas). ♦ La dependencia entrada-salida es causada por otros factores. ♦ La correlación entrada-salida no es causal. En todos los casos hay argumentos fuera de los datos sistema y La variable z, denota todos los otros factores que afectan la salida, pero cuyos valores no son observados o controlados. Incertidumbre Pasos del proceso experimental Plantear el problema Formular una hipotesis Diseñar el experimento / generar los datos Coleccionar los datos y efectuar pre-procesamientos • Detección / remoción (outliers) • Escalado / codificación Estimar/ validar el modelo Interpretar el modelo / sacar conclusiones 11 Modelización y Predicción con Tecnologías Emergentes. 1- Introducción Caracterización de variables según modalidad de representación Numéricas: comprenden enteros o reales. Relación de orden y relación de distancia entre valores. Vinculadas a regresiones y estimación de funciones. Simbólicas: no tienen ni relación de orden ni relación de distancia entre valores, estan vinculadas a los problemas de reconocimiento de patrones, clasificación o análisis discriminante. “Dummy”(huecas): una variable simbólica con i valores, puede ser convertida en i valores numéricos, codificaciones. Caracterización de variables Según la medición Variables cuantitativas Son las variables que se expresan mediante cantidades numéricas. Las variables pueden ser: -Variable discreta : Es la variable que presenta separaciones o interrupciones en la escala de valores que puede tomar, indicando la ausencia de valores entre los distintos valores específicos que la variable pueda asumir. -Variable continua : Es la variable que puede adquirir cualquier valor dentro de un intervalo especificado de valores, que solamente está limitado por la precisión del aparato medidor. Variables cualitativas Expresan cualidades o atributos. La medición consiste en una clasificación de los atributos. Las variables cualitativas pueden ser '''dicotómicas''' cuando sólo pueden tomar dos valores posibles como ''sí y no'', ''hombre y mujer'' o son '''politómicas''' cuando pueden adquirir tres o más valores. Dentro de ellas podemos distinguir: -Variable cualitativa ordinal' o variable cuasicuantitativa: La variable puede tomar distintos valores ordenados siguiendo una escala establecida, aunque no es necesario que el intervalo entre mediciones sea uniforme, por ejemplo: ''leve, moderado, grave''. -Variable cualitativa nominal‘ ó categórica: En esta variable los valores no pueden ser sometidos a un criterio de orden como por ejemplo los colores o el lugar de residencia. La diferencia entre pares de valores debe ser definido explicitamente. Variables cualitativas ordinales Mapean una variable numérica dentro de un pequeño conjunto de intervalos, se solapan a valores (rótulos) de otra variable ordinal Estrechamente ligadas a variables lingüísticas o difusas utilizadas naturalmente en el habla, por ej. al referirse a edad, joven, viejo. Los valores son subjetivos, están definidos en un determinado contexto. No hay un límite definido (distinción) entre dos variables contiguas. 12