Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 1 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL, APRENDIZAJE Y MINERÍA DE DATOS Antonio José Gómez Flechoso (http://www.gsi.dit.upm.es/~anto) Madrid, Junio 1998 Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 2 Junio 1998 Antonio J. Gómez Flechoso ÍNDICE Inteligencia Artificial: definición, evolución histórica (resolución problemas, SBC, aprendizaje, ...) Aprendizaje: definición, interés, tipos, métodos, ... • Redes neuronales • Algoritmos genéticos • Aprendizaje simbólico: árboles de decisión, inducción de reglas Descubrimiento en bases de datos (KDD) y minería de datos • FZFOIL • Ejemplo de aplicación Resumen y conclusiones Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 3 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL Definición ¿Qué es IA? ♦ IA / aplicaciones: Manera de hacer que las máquinas ejecuten tareas inteligentes ♦ IA / ciencia (investigación psicológica): Estudio de la naturaleza de la inteligencia mediante el uso de modelos computacionales ♦ IA / negocio !!! ¿Qué es inteligencia? calculadoras mecánicas → lenguajes simbólicos → sistemas expertos → aprendizaje automático → ? Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 4 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL Perspectiva histórica V a.C (griegos): sueño de mecanizar procesos del pensamiento 1950: ¿pueden pensar las máquinas? → Test de Turing (1951: UNIVAC I, primer ordenador comercial, 159000 $) 1956: conferencia de Dartmouth, “nacimiento” de la IA años 60: • sistemas simbólicos en dominios de conocimiento concretos • Solucionador General de Problemas (GPS) de Newell, Shaw y Simon (1959) descripción dominio problema concreto GPS solución final años 70: • importancia del conocimiento frente a mecanismos generales de inferencia • Sistemas Basados en Conocimiento (SBC) y Sistemas Expertos (SE) problema concreto SE, SBC (conocimiento dominio) solución + explicación + justificación años 80 - actualidad: • renacimiento de computación neuronal • consolidación de técnicas anteriores • importancia creciente de aprendizaje simbólico y conexionista ingenieros conocimiento HERRAMIENTAS expertos Aplicación: - prototipo - sistema - sistema integrado Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 6 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL Resolución de problemas Problema = = Espacio del problema (estados y operadores cambio estado) + Estado inicial (EI) + Estados finales (EF) Resolución de problemas = búsqueda soluciones • búsqueda en espacio del problema • búsqueda de conocimiento Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 7 Junio 1998 Antonio J. Gómez Flechoso Resolución de problemas Mucho conocimiento del dominio Poco conocimiento del dominio Espacio problema Espacio problema EI EI EF EF búsqueda ciega búsqueda heurística Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 8 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL Búsqueda heurística HEURÍSTICO: ♦ Diccionario: Que sirve para inventar ♦ En IA: • Como adjetivo: por contraste a “algorítmico” en determinados teoremas Enfoque algorítmico: ir sacando todo lo posible hasta, eventualmente, obtener una solución (búsqueda exhaustiva o “a ciegas”). Enfoque heurístico: “imaginar” una posible solución y tratar de demostrarla. • Como sustantivo: “truco” o regla empírica que ayuda a encontrar la solución de un problema. Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 9 Junio 1998 Antonio J. Gómez Flechoso La búsqueda heurística permite abordar problemas NP-completos: • Ajedrez: árbol de búsqueda = 10120 nodos máquina a 3 nodos/ns ⇒ 1021 años para generar todo el árbol • Damas: 1040 nodos • Viajante de comercio: n! posibilidades (para n ciudades) • 8-puzzle: 9! = 362880, (“16-puzzle”: 16!) Tipos de búsqueda heurística: ♦ Exploración de alternativas (método del gradiente, primero el mejor, algoritmo A*). ♦ Búsqueda con adversarios (búsqueda MINIMAX). ♦ Análisis de medios-fines (definido en el GPS). Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 10 Junio 1998 Antonio J. Gómez Flechoso Búsqueda heurística: exploración de alternativas (funcíón evaluación) f(estadoj) = nj f suele ser una medida de la distancia al objetivo, ejemplo (8-puzzle): fev1 = nº piezas situadas correctamente fev2 = distancia de Manhattan 2 3 1 8 4 7 6 5 1 7 2 3 1 8 4 8 6 5 7 2 3 4 6 5 fev1(Ei) = 6 fev1 = 7 fev1(Ef) = 8 fev2(Ei) = 2 fev2 = 1 fev2(Ef) = 0 Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 11 Junio 1998 Antonio J. Gómez Flechoso Búsqueda heurística: exploración de alternativas (estrategias de búsqueda) ♦ Método del gradiente: maximizar/minimizar fev desde estado inicial (aplicable en 8-puzzle, finales de ajedrez, búsqueda de mínimos locales, etc) ♦ Búsqueda primero-el-mejor: gradiente + backtracking (permite superar mínimos locales; pero no considera camino recorrido) ♦ Algoritmo A*: consideración camino recorrido + primero-el-mejor f(n) = g(n) + h(n) g(n) = coste real del camino hasta nodo n h(n) = coste estimado del camino óptimo desde n hasta meta (h = 0 ⇒ búsqueda en extensión; g = 0 ⇒ búsqueda “primero-el-mejor”) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 12 Junio 1998 Antonio J. Gómez Flechoso Búsqueda heurística: búsqueda con adversarios ♦ Representación mediante árboles Y-O: • enlaces O: movimientos realizables en un momento • enlaces Y: movimientos del adversario • nodos hojas: ganar (+1), perder (-1) o empatar (0). ♦ Estrategia MINIMAX: • cada vez que juega MAX, elegir rama en que todas las jugadas de MIN dan la victoria a MAX A = MAX B = MIN f(n) -1 +1 +1 0 +1 -1 Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 13 Junio 1998 Antonio J. Gómez Flechoso Búsqueda heurística: análisis de medios-fines • Estrategia más general, basada en psicología cognitiva. Definida inicialmente en el contexto del GPS (1957). • Distingue los medios u operadores y los fines o meta. • Proceso: 1 - analizar continuamente diferencias entre estado inicial y meta 2 - ordenar diferencias de mayor a menor importancia 3 - consultar tabla con operadores para reducir cada diferencia: 3.a) operador aplicable ⇒ aplicarlo e iterar en 3 (mientras haya diferencias) 3.b) operador no aplicable ⇒ submeta = “alcanzar estado para aplicar operador” Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 14 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL Sistemas Basados en Conocimiento (SBC) Años 70: Surge paradigma de sistema experto (sistemas que emulen a expertos humanos, en actividades muy concretas y restringidas) y paradigma del conocimiento (lo que caracteriza a un experto es su conocimiento del problema, no su capacidad general de resolver problemas). Ejemplos: • MYCIN (1974): diagnóstico y tratamiento de algunas enfermedades infecciosas • PROSPECTOR (1978): descubrimiento de yacimientos de minerales • XCON (1980): configuración de sistemas informáticos VAX y PDP. Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 15 Junio 1998 Antonio J. Gómez Flechoso Sistemas expertos Definición: “Un sistema experto es un programa inteligente, que usa procedimientos de conocimiento e inferencia para solucionar problemas que son suficientemente difíciles como para requerir experiencia humana en su solución. El conocimiento necesario para operar en tal nivel, añadido a los procedimientos de inferencia utilizados, puede ser considerado como un modelo de la experiencia de los mejores operadores en dicho campo”. Módulo de aprendizaje Ingeniero de Conocimiento Base de Conocimiento Motor de Inferencia Base de Hechos Subsistema de explicación Interfaz datos externos Experto Interfaz usuario final Usuario Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 16 Junio 1998 Antonio J. Gómez Flechoso MYCIN (ejemplo de S.E.) Ejemplo de reglas: SI: 1. la infección es bacteremia primaria y 2. la toma de material de cultivo es una toma estéril y 3. la puerta de entrada del organismo es tracto gastrointestinal ENTONCES: hay bastante evidencia (0.7) de que la identidad del organismo sea Bacteriodes Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 17 Junio 1998 Antonio J. Gómez Flechoso MYCIN (ejemplo de S.E.) Fragmento de consulta: • M: ¿Nombre del paciente? • U: Pedro Alonso • M: ¿Edad? • ... • M: ¿Qué organismo es el causante de la infección? • U: No sé • M: ¿Crece el organismo en medio aerobio? • U: Sí • M: ¿Cuál se supone que ha sido la puerta de entrada? • ... Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 18 Junio 1998 Antonio J. Gómez Flechoso MYCIN (ejemplo de S.E.) Fragmento de diálogo: • M: ¿La meningitis se ha contraído en un hospital? • U: ¿Por qué? • M: Ello me ayudaría a determinar los organismos, ya que he concluido que: 1. la infección es meningitis 2. el tipo de infección es bacteriana 3. En la historia del paciente no hubo neurocirugía 4. La edad del paciente es superior a 10 días Por tanto, si 5. El paciente contrajo la infección en un hospital, entonces (regla 545) los organismos causantes podrían ser: E.Coli(0.75), Estafilococo coagulante (0.3) o Pseudomonas aeruginosa (0.3) • U: ¿Cómo 2? • M: Por las reglas: regla 500 (0.51), regla 526(0.98), regla 501 (0.59), regla 504 (0.97). Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 19 Junio 1998 Antonio J. Gómez Flechoso Adquisición de conocimiento en S.E. Diálogo con experto humano: • Se precisa ingeniero de conocimiento • Proceso lento y laborioso • Dificultad de los expertos para explicar sus mecanismos inductivos/deductivos/abductivos Inducción automática: • El experto interactúa con procedimientos de inducción • El experto refina reglas y su propio conocimiento • Facilidad de los expertos para enseñar a través de ejemplos Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 20 Junio 1998 Antonio J. Gómez Flechoso INTELIGENCIA ARTIFICIAL: APRENDIZAJE Perspectiva histórica Años 50: interés por aprendizaje de las máquinas (codificaciones numéricas y ajustes de parámetros) relacionado con reconocimiento de patrones. Años 60: aprendizaje de conceptos y adquisición de lenguajes Final años 70: formación de clasificaciones, aprendizaje por descubrimiento, razonamiento basado en casos, etc. Los S.E. permiten probar métodos existentes y provocan nuevas necesidades (“cuello de botella” de Feigenbaum y ampliación del alcance de los S.E.) Últimos años: inducción automática de conocimiento en Bases de Datos (minería de datos). Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 21 Junio 1998 Antonio J. Gómez Flechoso APRENDIZAJE Definición Definiciones conductistas Aprendizaje: capacidad de experimentar cambios adaptativos para mejorar rendimiento Sistema aprendiz rendimiento Crítico o maestro t Definiciones cognoscitivas o simbólicas Aprendizaje: construcción/modificación de conceptos o de representación conocimiento Sistema aprendiz Crítico o maestro Base Conocimiento Órganos ejecución Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 22 Junio 1998 Antonio J. Gómez Flechoso Interés del aprendizaje en ordenadores Científico: • no hay inteligencia sin aprendizaje • teorías del aprendizaje natural Ingenieril: • adquisición de conocimiento para SBC • inducción de conocimiento en grandes BD (data mining) • visión artificial, reconocimiento lenguaje natural, enseñanza inteligente asistida por ordenador, ... Dificultad del aprendizaje en ordenadores: • Falta de paradigmas constructivos (al menos para enfoques simbólicos) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 23 Junio 1998 Antonio J. Gómez Flechoso Métodos de aprendizaje [Michalski, 87] 1.- Implantación directa (“rote learning”): - programación - memorización 2.- Instrucción 3.- Deducción 4.- Analogía 5.- Inducción: - con ejemplos - por observación y descubrimiento Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 24 Junio 1998 Antonio J. Gómez Flechoso Sistemas con aprendizaje inductivo Sistemas conexionistas: redes neuronales Sistemas evolucionistas: algoritmos genéticos Sistemas simbólicos: aprendizaje de conceptos Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 25 Junio 1998 Antonio J. Gómez Flechoso Sistemas Conexionistas: Redes Neuronales Neurona formal (McCulloch y Pitts, 43) a1 W1 n a2 an W2 ∑ ... i=1 s= 0 si Σai wi < θ 1 si Σai wi ≥ θ Wn Aprendizaje por “correlación” (Hebb, 49) • el cerebro aprende modificando las conexiones entre neuronas • las neuronas están conectadas por sinapsis que se pueden adaptar/modificar • cuando una neurona funciona bien se refuerza • cuando dos neuronas se activan a la vez, se refuerza la conexión entre ellas Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 26 Junio 1998 Antonio J. Gómez Flechoso Redes neuronales Algoritmo de aprendizaje para el perceptrón (Rossenblatt, 58): entrenamiento incremental-proporcional Algoritmo de descenso de gradiente (LMS) y estructura ADALINE (Widrow y Hoff, 60) Condiciones de convergencia del perceptrón (Minsky y Papert, 69): • redes monocapa (ej. perceptrón) sólo pueden aprender conceptos con separabilidad lineal (función OR, AND, ...), • pero no puede aprender el XOR por ejemplo, • se puede añadir una segunda capa (capa AND) y una tercera (capa OR) para conseguirlo, pero NO SE SABE CÓMO ENTRENAR REDES MULTICAPA Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 27 Junio 1998 Antonio J. Gómez Flechoso Redes neuronales: separabilidad ESTRUCTURA TIPO REGIÓN DE DECISIÓN PROBLEMA OR EXCLUSIVO REGIONES GENERALES PROBLEMA GENERAL monocapa Partición de espacio por hiperplano A B B B A A dos capas A B Regiones convexas (abiertas o cerradas) B B A A tres capas A B Arbitraria B B A A Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 28 Junio 1998 Antonio J. Gómez Flechoso Redes Neuronales: red de Hopfield (1982) O1 O2 O3 Feed back (flujo realimentado) w11 w21 w31 w12 w22 w32 x1 w13 w23 w33 x2 capacidad = 0.15 * N x3 Funcionamiento: - se programan los pesos wij (no se entrena) - se mete una entrada (x1 x2 ... xn) y se deja que la red evolucione - la red converge hacia un invariante (O1 O2 ... On) Aplicaciones: memorias asociativas, memorias direccionables por contenido Ejemplo: reconocimiento de personas a partir de fotos distorsionadas Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 29 Junio 1998 Antonio J. Gómez Flechoso Redes Neuronales: redes multicapa (PMC) ¡Universalidad! entradas capa entrada salidas capa oculta capa salida flujo de información (feed forward) Retropropagación (Backpropagation): basade en descenso de gradiente 1. Inicializar pesos y umbrales (valores aleatorios) 2. Presentar entradas (e1 e2 ... en) y salidas deseadas (d1 d2 ... dm) 3. Calcular salida (s1 s2 ... sm) 4. Adaptar pesos y umbrales y volver a paso 2 wij(t+1) = wij(t) + η δj x’i Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 30 Junio 1998 Antonio J. Gómez Flechoso Redes Neuronales: aspectos prácticos preprocesado (ej. reescalado) codificación datos salida: que valores de salida no alcancen límites de función no lineal: -0.9 (en vez de -1); 0.9 (en vez de 1); 0.1 (en vez de 0) nº capas: 3 (con tres se tiene universalidad) nº nodos en capa oculta: ensayo y error (datos entrenamiento, validación y test) si demasiadas neuronas ⇒ memorización si nº adecuado: ⇒ generalización correcta si pocas neuronas: ⇒ no converge mínimos locales: pueden evitarse con conjuntos aleatorios de pesos iniciales Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 31 Junio 1998 Antonio J. Gómez Flechoso Sistemas Evolucionistas: Algoritmos Genéticos Se basan en ideas sobre la evolución de las especies (selección natural, herencia, mutaciones, etc.) aplicadas sobre una población artificial de individuos, para conseguir su adaptación al entorno. ♦ Tipo de individuos de la población depende del problema. ♦ Cada individuo tendrá un valor (fuerza), para medir su adaptación al entorno. ♦ Evolución = búsqueda en paralelo de individuos bien adaptados • Operadores genéticos (selección, entrecruzamiento y mutación) • Criterios para variar la fuerza de cada individuo Aplicaciones: • Optimización: maximización/minimización de funciones • Aprendizaje inductivo: clasificadores, reglas de producción Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 32 Junio 1998 Antonio J. Gómez Flechoso Algoritmos genéticos Operadores: • Entrecruzamiento: A∧B∧C→D A∧B∧Y→Z X∧Y→Z X∧C→D • Inversión: A∧B∧C→D A∧C∧B→D • Mutación: A∧B∧C→D • ... A∧C∧M→D Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 33 Junio 1998 Antonio J. Gómez Flechoso Sistemas Simbólicos: aprendizaje de conceptos Representación del conocimiento fácil de entender: representaciones estructuradas, ejemplos, lógica (de proposiciones, de primer orden, borrosa, ...) Aprendizaje = aprendizaje de conceptos Concepto = clase de entidades con algún principio común (y con descripción simple) ♦ Adquisición de conceptos: - árboles de decisión (ID3) - búsqueda de descripciones (AQ11, INDUCE, FOIL) ♦ Formación de conceptos (inducción a partir de la observación) - agrupamiento conceptual (CLUSTER) - descubrimiento cuantitativo (BACON, RX) - descubrimiento cualitativo (AM, EURISKO) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 34 Junio 1998 Antonio J. Gómez Flechoso Árboles de decisión: ID3 (Quinlan, 79) Problema: • dado E = {ei} con ei = {v(a1), v(a2) ... cj} • generar árbol de decisión mínimo en el que los nodos son atributos y los arcos valores de atributos Ejemplo: ALTURA bajo alto alto bajo alto alto alto bajo PELO OJOS rubio verdes rubio oscuros castaño verde negro verde negro verde rubio verde negro oscuro rubio oscuro CLASE + + + - PELO negro − rubio castaño + OJOS verdes + oscuros − Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 35 Junio 1998 Antonio J. Gómez Flechoso ID3: definición de entropía Entropía (H) = información necesaria para describir un conjunto Por ejemplo: clase C1 con n1 ejemplos Entropía = - (p1 log2 p1 + p2 log2 p2) clase C2 con n2 ejemplos siendo: p1 = n1 / (n1 + n2 ) p2 = n2 / (n1 + n2 ) Entropía 1 p1 = n1 / (n1 + n2 ) 0 0.5 1 Ejemplo: n+ = 3 n- = 5 H = - ( 3/8 log2 (3/8) + 5/8 log2 (5/8) ) = 0.954 bits Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 36 Junio 1998 Antonio J. Gómez Flechoso ID3: Ejemplo H = 0.954 H = 0.954 PELO ALTURA alto negro bajo n+ = 2 n- = 3 n+ = 1 n- = 2 n+ = 0 n- = 3 H=0 H = 0.971 H = 0.918 G = 0.954 - 5/8 · 0.971 - 3/8 · 0.918 = 0.003 bits castaño rubio n+ = 2 n- = 2 n+ = 1 n- = 0 H=0 H=1 G = 0.954 - 4/8 ·1 = 0.5 bits OJOS verdes oscuros ... G = 0.347 bits Mejor atributo: PELO Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 37 Junio 1998 Antonio J. Gómez Flechoso Definiciones lógicas: FOIL FOIL: First Order Inductive Learner ([Quinlan, 90]) ♦ Búsqueda por especialización en grafos refinados ♦ Aplicable sobre BD relacionales ♦ Definición lógica de relación objetivo, formada por cláusulas de Horn p(V1, ..., Vk) :- L1, L2, ..., Ln Algunas definiciones preliminares ♦ Satisfacción de L = q(V1, ..., Vn): |=t (L) ⇔ <t(V1), ... t(Vn)> ∈ Q ♦ Conjunto cubierto por C = [L0 :- L1, ... Ln]: Tc(C) = {t | |=t(L1∧...∧Ln)} ♦ Consistencia: C consistente ⇔ (∀t ∈ T−) (¬ |=t(L1∧...∧Ln)) ♦ Completitud: C completa ⇔ (∀t ∈ T+) (|=t(L1∧...∧Ln)) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 38 Junio 1998 Antonio J. Gómez Flechoso FOIL: Ejemplo Ejemplo de los grafos orientados: 0 7 1 3 2 4 6 5 • A partir de: conectado(X,Y) = {(0,1),(0,3), (1,2), ...} alcanzable(X, Y) = {(0,1), (0,2), ...} • FOIL induce: alcanzable(X,Y) :- conectado(X,Y) alcanzable(X,Y) :- conectado(X,Z), alcanzable(Z,Y) 8 Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 39 Junio 1998 Antonio J. Gómez Flechoso FOIL: planteamiento Dados: ♦ Q = {qi(V1, ..., Vri)} (predicados definidos extensionalmente) ♦ p(X1, ..., Xk) ∈ Q (predicado “p” a definir intensionalmente) ♦ T = {T+, T -} = {t}, t = <a1... ak> (definición extensional de “p”) Problema: Encontrar una o varias cláusulas de Horn: p(X1, ..., Xk) :- L1, ..., Ln con Li de alguna de las formas: Xj = Vm, Xj ≠ Vm, tales que definan intensionalmente T q(V1,..., Vr), ¬q(V1,..., Vr) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 40 Junio 1998 Antonio J. Gómez Flechoso FOIL: algoritmo Definicion& FOIL (T+,T-, p, q1, q2...); Clausula& construyeC(TR,T-,p, ...); D0:= FALSE; C:= p; TC0 = ∅; repetir repetir Li = buscaAntecedente(); Clausula C = construyeC(); Di = Di-1 ∨ C; /* nueva cláusula */ TCi = TCi-1 ∪ TC(C) hasta completa(Di); Ci =Ci-1 ∨ ¬Li; /*nuevo antec*/ Ti+1 = actualizarT(Ti, Li); hasta consistente(Ci); return Ci; return Di; Bucle externo: definición completa Bucle interno: cláusula consistente Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 41 Junio 1998 Antonio J. Gómez Flechoso FOIL: heurísticos FOIL: Heurísticos ♦ Para evaluar literales: Ganancia(Li) = Ni++ ⋅ (Info(Ti) - Info(Ti+1)) siendo: Info(Ti) = −log2(Ni+/(Ni+ + Ni-)) ♦ Para buscar literales: • Li debe tener al menos una variable existente (en la cláusula en construcción) • Restricción de argumentos de Li en definiciones recursivas • Uso de “literales determinados” • Poda alpha-beta para simplificar la búsqueda • Definiciones inconsistentes y/o incompletas (principio de Rissanen: LDI < LDE) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 42 Junio 1998 Antonio J. Gómez Flechoso DESCUBRIMIENTO DE CONOCIMIENTO EN BD (KDD) Procesos de KDD Interpretación/ Evaluación Minería de datos Conocimiento Transformación Patrones Preprocesado Datos transformados Selección Datos preprocesados Datos objetivo Base de Datos Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 43 Junio 1998 Antonio J. Gómez Flechoso DESCUBRIMIENTO DE CONOCIMIENTO EN BD (KDD) Factores para análisis automático de datos Incremento de la potencia de los ordenadores: • Potencia de cálculo • Capacidad de almacenamiento de datos Incremento del ritmo de adquisición de datos: • Abaratamiento de discos y sistemas de almacenamiento masivo • Automatización en adquisición de datos (¡información se duplica cada 20 meses!) Nuevos métodos de aprendizaje y representación del conocimiento Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 44 Junio 1998 Antonio J. Gómez Flechoso DESCUBRIMIENTO DE CONOCIMIENTO EN BD (KDD) Limitaciones del aprendizaje sobre BD Datos dinámicos → funcionamiento incremental Datos incompletos → capacidad de manejar datos incompletos Ruido e incertidumbre → robustez ante el ruido → manejo de incertidumbre Tamaño de las BD → eficiencia algorítmica → conocimiento previo Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 45 Junio 1998 Antonio J. Gómez Flechoso FZFOIL (FUZZY FOIL) ♦ Mejoras en heurísticos de evaluación • Nuevos heurísticos de evaluación (función Interés) • Proyección de conjuntos de entrenamiento ♦ Introducción de conocimiento de base (relaciones intensionales) ♦ Extensión hacia la lógica borrosa: • Aplicable sobre BD relacionales borrosas • Induce conocimiento con incertidumbre Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 46 Junio 1998 Antonio J. Gómez Flechoso FZFOIL: EVALUACIÓN DE LITERALES Medida de interés (RI) (Piatetsky-Shapiro,89) Sea A → B una regla lógica Entonces N ≡ tamaño conjunto entrenamiento (nº tuplas) NA, NB ≡ nº tuplas satisfacen condición A, B NA∧Β ≡ nº tuplas satisfacen condición A∧B Requisitos de RI: • A y B independientes ⇒ RI = 0 • NA, NB ↓ ⇒ RI ↑ • NA∧B ↑ ⇒ RI ↑ RI 1 = N A ∧ B – ( N A ⋅ N B ) ⁄ N N A ∧ B – (N A ⋅ N B) ⁄ N RI 2 = ---------------------------------------------------------------------------------------------N A ⋅ N B ⋅ (1 – N A ⁄ N ) ⋅ (1 – N B ⁄ N ) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 47 Junio 1998 Antonio J. Gómez Flechoso FZFOIL: EVALUACIÓN DE LITERALES (2) Interés* = Interés + conjuntos proyectados T1[i] = TC(Ci-1) ⊆ T1 Ni+ = Ti+ T1 Ni− = Ti− T1[i] T1[i+1] Ni[i+1]+ = Ti[i+1]+ Ni[i+1]− = Ti[i+1]− Ti+1 Ti Li Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 48 Junio 1998 Antonio J. Gómez Flechoso FZFOIL: ejemplo Relación “jefe_de” Relación “padre_de” a1 a2 a3 a4 a1 a2 a3 a4 b1 b2 b3 b4 b1 b2 b3 b4 c5 c1 d4 d1 c1 d1 c4 c3 c2 d2 d3 c4 c3 c2 d2 d3 Relaciones: enfermo = <b3>, <b4>, <c3>, <c4>, <c5>, <d2>, <d3>, <d4> padre_de = <a1,b1>, <a1,b2>, <a2,b1>, <a2,b2>, <b1,c1>, <b1, c2>, ... jefe_de = <a1,b1>, <b1,c1>, <c1,d1>, <c2,d1>, <a2,b2>, <a3,b2>, <a4,b3>, ... fumador = <b3>, <b4>, <d2> barbudo = <a3>, <b3>, <b4>, <c1>, <c2>, <c4>, <d1>, <d2> c5 d4 Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 49 Junio 1998 Antonio J. Gómez Flechoso FZFOIL: resultados del ejemplo ♦ Regla inducida por FOIL: enfermo(A):- jefe_de(B,A), enfermo(B), ¬fumador(B) enfermo(A):- fumador(A) enfermo(A):- jefe_de(B,A), enfermo(B), padre_de(B,A) (consistente pero incompleta: no cubre 2 tuplas ⊕) ♦ Regla inducida modificando FOIL con función Interés: enfermo(A):- padre_de(B,A), barbudo(B), fumador(A) enfermo(A):- padre_de(B,A), enfermo(B) (consistente y completa, pero compleja) ♦ Regla inducida modificando FOIL con función Interés*: enfermo(A):- padre_de(B,A), enfermo(B) enfermo(A):- fumador(A) (consistente, completa y sencilla) Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 50 Junio 1998 Antonio J. Gómez Flechoso LÓGICA BORROSA Y MUNDO REAL Complejidad del mundo real = volumen + incertidumbre ⇒ Compromiso información / incertidumbre ♦ Conceptos humanos ≈ conjuntos borrosos [Zadeh,65] ♦ Lenguaje humano impreciso (incompatibilidad precisión / significación) Lógica borrosa [Zadeh,75] (isomorfa con conjuntos borrosos) ♦ Necesaria para inferencias imprecisas ♦ Método natural de representar el mundo real Sistemas expertos borrosos, BD relacionales borrosas, etc Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 51 Junio 1998 Antonio J. Gómez Flechoso FZFOIL: Ejemplo borroso *padre_de (persona,persona) enfermo (persona) *jefe_de (persona,persona) a1,b1 a2,b2 a2,b3 a3,b2 a3,b3 a4,b3 b1,c1 b2,c2 b3 : 0.9 b4 : 0.72 c3 :0.9 c4 :0.8 c5 :0.88 d2 :0.9 d3 :0.85 b2,c3 b2,c4 b3,c2 b3,c3 b3,c4 b4,c4 b4,c5 c1,d1 c2,d1 c3,d2 c3,d3 c3,d4 c4,d2 c4,d3 c4,d4 c5,d4 a1,b1 b3,c3 a2,b1 b4,c4 a1,b2 b4,c5 *I_nieto_de(persona, persona) a2,b2 c1,d1 nieto_de(A,B):- a3,b3 c2,d1 a3,b4 c2,d2 a4,b3 c2,d3 a4,b4 c4,d2 b1,c1 c4,d3 b1,c2 c5,d4 padre_de(C,A), padre_de(B,C) d4 : 0.75 [D1] {8.951 bits} TC: [6.58/7.04]; TR: [0.12] *barbudo (persona) [C1] {7.953 bits} [6.70/19.00]-> [5.04/5.37] a3 :0.4 enfermo (A) :- a4 :0.7 b4 :0.88 c1 :0.9 c2 :0.5 c4 :0.95 *fumador (persona) b3 :0.95 padre_de (B A), d1 :0.6 d2 :1 b2,c3 ALGO_enfermo (B). [C2] {3.584 bits} [1.62/13.00]-> [1.54/1.67] enfermo (A) :MUY_fumador (A). b4 :0.8 d4 :0.75 d2 :0.4 c1 :0.2 a2 :0.3 RESULTADOS: PROYECTO SEIC (1) SEIC (Servicio de Información Ciudadana) “PASO, PC-183” Problema “Usos y Demandas”: Análisis inteligente de consultas de usuarios Datos de entrada: 40000 consultas, con 14 atributos: • Ubicación de PIC (Alonso Martínez, Atocha Renfe, Callao, Av. América, etc) • Mes: “Julio”, “Agosto”, “Septiembre”, “Octubre”, “Noviembre” • Día del mes: [1 ... 31] • Día de semana: “Lunes”, ..., “Domingo” • Origen/destino: “Aquí”, “Calle”, “Cruce”, “Estación metro” • Modo transporte: “Cualquiera”, “sólo bus”, “sólo metro” • Criterio de camino: “Óptimo”, “mín. transbordos”, “mín. tiempo”, • etc. Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 53 Junio 1998 Antonio J. Gómez Flechoso RESULTADOS: PROYECTO SEIC (2) Selección y preprocesado: muestreo y 10 atributos ordinarios (2 borrosos) Transformación de los datos: • 8 relaciones ordinarias: destino, origen, fecha, rest_tte, rest_optim, etc. • 6 relaciones borrosas: cuando_mañana, cuando_tarde, duración_larga, duración_corta, duración_media cuando_noche, µ 1 0 Noche 2 4 Mañana 6 8 Tarde Noche 10 12 14 16 18 20 22 24 Hora_día Relaciones intensionales: bus_mintransbordos(X):rest_tte(X,Y), Y=”solo_bus”, rest_optim(X,Z), Z=”min_transbordos” Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 54 Junio 1998 Antonio J. Gómez Flechoso RESULTADOS: PROYECTO SEIC (3) Algunas definiciones borrosas: [C1] {17.062 bits} [694.00/1694.00]→ [346.28/772.71] min_tiempo ( A ) :cuando_tarde ( A B C ), ¬ =_const ( C Viernes )... [C1] {5.392 bits} [232.00/1232.00]→ [232.00/232.00] bus_mintransbordos ( A ) :sólo_bus ( A ). Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 55 Junio 1998 Antonio J. Gómez Flechoso RESULTADOS: PROYECTO SEIC (4) ♦ A igualdad de longitud de las definiciones, las definiciones borrosas son más completas y, en ocasiones, más consistentes que las definiciones ordinarias. ♦ Las definiciones borrosas generalizan mejor y, en ocasiones, también son más precisas. ♦ Las definiciones borrosas son más fáciles de interpretar desde el punto de vista humano. ♦ El coste computacional asociado a la evaluación de relaciones borrosas no tiene por qué ser superior. Inteligencia Artificial, Aprendizaje y Minería de Datos. Pág. 56 Junio 1998 Antonio J. Gómez Flechoso RESUMEN Y CONCLUSIONES ♦ KDD se perfila como la aplicación dominante de la IA en poco tiempo ♦ Dentro de KDD, la minería de datos es una parte fundamental ♦ La minería de datos se basa en métodos de aprendizaje tradicionales, especialmente sistemas simbólicos (programación lógica inductiva). ♦ Las bases de datos, y el mundo real en general, presentan nuevos retos para los sistemas de aprendizaje. ♦ La lógica borrosa (y otras teorías sobre incertidumbre) ofrece mecanismos para modelar la complejidad del mundo real