Aprendizaje Automatizado Clasificadores y construcción de conceptos usando aprendizaje automatizado Aprendizaje con Version Spaces Clasificador (Classifier) Brindan modelos para capturar la formación de conceptos. Manera típica de formar conceptos Partir de un conjunto (base de datos) ) de entrenamiento (training set). Aplicar algún algoritmo de aprendizaje automatizado para obtener modelo Verificar el comportamiento del modelo obtenido a partir de datos de prueba (test set) 2 Atributos. Clases. Conceptos Los datos de entrenamiento se suelen definir a partir de un conjunto de tuplas, identificando atributos. Edad Diagnóst. hipermétr ope Astigmat? Lágrimas? rmal rmal rmal Lentes recetados Duras Training set Casos nuevos (por clasificar) Edad Diagnóst. hipermétr ope Astigmat? Lágrimas? rmal rmal rmal rmal ninguna Clase Lentes recetados Duras???? 3 4 Training set Hay diversas técnicas, caracterizadas por algoritmos Define el concepto CLASE usando los atributos de los datos de entrenamiento Edad Diagnóst. hipermétr ope Astigmat? Lágrimas? rmal rmal rmal Clase Lentes recetados Duras Técnica de aprendizaje automatizado Modelo (Clasificador) Casos nuevos (por clasificar) Define el concepto CLASE usando los atributos Casos nuevos clasificados Modelo para el concepto CLASE (Clasificador) rmal ninguna rmal ninguna???? Aquí se define el concepto de Lente de Contacto a recetar Duras 5 6 1
Datos de lentes de contacto Dos descripciones estructurales: reglas y árbol de decisión 7 8 Learning Set (Training Set) Técnica de aprendizaje Datos disponibles (atributos y clases son cocidas) Test Set (HoldOut Set) Clasificador inducido Podemos medir exactitud usando como referencia el test set? Introducción: Muchos acercamientos a ML: Acercamientos simbólicos Acercamientos simbólicos: version spaces árboles de decisión programación en lógica inductiva Etc. 9 10 Version Spaces Version Spaces Una técnica de concept learning basada en la refinación de modelos del mundo. Tom Mitchell (Carnegie Mellon University, USA) Desarrolló Version Spaces como parte de su Tesis de doctorado Autor de u de los libros más difundidos sobre aprendizaje automatizado 2
Aprendizaje de conceptos Ej: un estudiante tiene las siguientes observaciones en relación a una reacción alérgica después de comer en distintas cantinas universitarias: Lugar Sábado Concepto a aprender: : bajo que circunstancias tengo una reacción alérgica despues de comer?? Reacc. 13 En general Existe un cjto.. de todos los eventos posibles: Ejemplo: Cantina 3 3 7 2 = 126 Existe una fc. booleana definida (implícitamente)) a partir de este cjto. Ejemplo: Reacción: Cantina > Bool Tenemos el valor de esta función solo para ALGUNOS ejemplos,, todos. Encontrar una idea inductiva inductiva del concepto que cubra todos los ejemplos! 14 Gráficamente: Cjto.. de todos los Dados los ejemplos: eventos posibles Encontrar un concepto que cubra todos los ejemplos positivos y ningu de los negativos 15 determinismo Hay muchas formas de resolver esto! Cómo elegir...? Cjto.. de todos los eventos posibles 16 Una elección obvia, pero mala: Cantina Sábado El concepto lo definimos como: and and and OR and and Sábado and Reacc. Gráficamente: Pero los únicos ejemplos positivos son los positivos! Cjto.. de todos los eventos posibles Pero esto NO generaliza ningún ejemplo!! 17 18 3
Cantina Igualmente malo sería: Dia Sábado El concepto es todo ECEPTO: and and and AND and and and AND and and and Reacc. 19 Gráficamente: Todo (excepto los ejemplos negativos) es positivo: Cjto.. de todos los eventos posibles 20 Solución: fijar un lenguaje de hipótesis: Introduciremos un lenguaje fijo para descripción de conceptos. =espacio de hipót. El concepto sólo puede identificarse como una de las hipótesis en este lenguaje evita el problema de tener conclusiones inútiles fuerza alguna generalización/inducción para cubrir más que sólo los ejemplos dados. Cantina Reacción Ejemplo: Almuerzo Sábado Cada hipótesis es una 4tupla: Reacc. hipótesis más general: [?,?,?,?] maximam. específica: ej.: [,, lunes,] combinaciones de? y valores son válidas: ej.: [,?,?, ] o bien [?,,,?,?] Una hipótesis más: (bottom = hay ejemplos) 21 22 Las Hipótesis se asocian a cjtos.. de eventos posibles Eventos x2 x1 Hipótesis General h3 h1 h2 Específico Poder expresivo de este lenguaje de hipótesis Conjunciones de propiedades individuales, explícitas Ejemplos: [?, almu., Lunes,,?] : = almu. día = Lunes [?, almu,,?, ] : = almu = [?, almu,,?,?] : = almu. x1 = <,, lunes, > x2 = <,, domingo, > h1 = [?, almu.., lunes,,?] h2 = [?, almu.,?, ] h3 = [?, almu.,?,?] Además añadimosadimos 2 hipótesis especiales: [?,?,?,?] :todo : nada 23 24 4
Se permiten también otros lenguajes de hipótesis... Ejemplo: identificar el color de una secuencia dada de objetos coloreados. Ejemplos: rojo : violeta : azul : Un lenguaje de hipótesis útil Importante en lenguajes de hipótesis Deben tener un orden específico<> > general. En correspondencia con la inclusión de cjtos.. de los eventos que son cubiertos. cualq_color mo_color poli_color rojo azul verde naranja violeta 25 26 Definición de Concept Learning Dado: Un cjto. de eventos posibles: Ej.: Eventocomida: <Cantina,< Cantina,, Dia, > Una target function (descocida( descocida) c: > > {,{, } Ej.: Reacc.: Eventocomida > > {,, } Un lenguaje de hipótesis H Ej.: conjunciones: : [?, almu., lunes,,?] Un cjto.. de ejemplos de entrenamiento D,, con su valor bajo c Ej.: (<,,viernes,>,), Encontrar: Una hipótesis h en H tal que para todo x en D: x es cubierto por h c(x) ) = La hipótesis de aprendizaje inductivo Si una hipótesis se aproxima bien a la target function con un nro. suficientemente grande de ejemplos ent. la hipótesis también se aproximará bien a la target function para otros ejemplos observados 27 28 FindS: Un algoritmo naïve Inicializar: h := Para cada ejemplo de entrenam. positivo x en D Hacer: Si h cubre x: Reemplazar h por una generalizac.. minimal de h que cubra x Retornar h 29 Cantina Ejemplo 1: Ejemplo: hay más ejem. positivos: retornar h Ejemplo 2: h = [,?,?,] Generalizac.. = reemplazar algo por? Inicialm.: h = Sabado Reacc. h = [,,viernes,] generalizac. minimales = eventos individuales 30 5
H Propiedades de FindS determinista determinista: Dependiendo de H, puede haber varias generalizaciones mínimas: Hacker Científico Futbolista Alex Propiedades de FindS S (2) Puede asumir las hipótesis incorrectas (con respecto a los ejemplos negativos): D : Alex H Hacker Científico Futbolista Alex puede generalizarse mínimamente en 2 formas para incluir un nuevo ejemplo (). 31 Solución equivocada 32 Propiedades de FindS S (3) Lo bue de FindS: puede detectar inconsistencia en los datos de entrenamiento: D : tiene que recordar ejemplos previos! Si el h previo ya cubría todos los ejemplos previos, entonces una generalización minimal h también lo hará! H Ni la incapacidad del lenguaje H para aprender el concepto: H D : Alex Científico Alex 33 h h Si h ya cubría los primeros 20 ejemplos, ent. h también lo hará 34 Ejemplo Reacción: Inicializar: h := [?,?,..,?] Dual FindS: Cantina Sábado Inicialm: h = [?,?,?,?] Reacción Para cada ejemplo de entrenamiento negativo x en D Hacer: Si h cubre x: Reemplazar h por una especialización minimal de h que cubra x Retornar h Ejemplo 1: Ejemplo 2: h= [?,,,?,?] h= [,,,?,?] 35 Ejemplo 3: h= [,,,?, ] 36 6
Version Spaces: la idea: Realizar ambos, FindS S y Dual FindS: FindS para los ejemplos positivos Dual FindS para los ejemplos negativos PERO: NO seleccionar 1 generalización minimal o especialización en cada paso, si mantener la traza de TODAS las generalizaciones o especializaciones minimales Version spaces: inicialización G = { [?,?,,?] } S = {{ } Los version spaces G y S se inicializan sólo como las hipótesis más grandes y más pequeñas, respectivamente. 37 38 Ejemplos negativos: G = { [?,?,,?] } G = {h1, h2,, hn} S = {{ } Reemplazar la hipótesis top por TODAS las especializaciones minimales que NO cubren el ejemplo negativo Invariante: : solo las hipótesis más específicas que las que están en G son aún posibles: ellas cubren el ejemplo negativo Ejemplos positivos: G = {h1, h2,, hn} h1,, h2,,hm } S = {{ } Reemplazar la hipótesis bottom por TODAS las generalizaciones minimales que CUBREN al ejemplo positivo. Invariante: sólo las hipótesis más generales que las que están en S son aún posibles: ellas cubren el ejemplo positivo 39 40 Luego: ejemplos negativos Luego: ejemplos positivos G = {h1, h2,, hn} G = {h1, h21, h22,, hn} G = {h1, h21, h22,, hn} S = {h11{ h11,, h12,, h13,, h2,,hm } h1,, h2,,hm } h1,, h2,,hm } Reemplazar toda hipótesis en G que cubra al próximo ejemplo negativo por TODAS las especializaciones minimales que NO cubren el ejemplo negativo Reemplazar todas las hipotesis en S que cubren el próximo ejemplo positivo por TODAS las generalizaciones minimales que SI lo cubren. Invariante: sólo las hipótesis más específicas que las que están en G aún son posibles: ellas cubren el ejemplo negativo 41 Invariante: sólo las hipótesis más generales que las que están en S son aún posibles: ellas cubren el ejemplo positivo 42 7
Optimización: negativa: G = {h1, h21,, hn} Optimización: positiva: G = {h1, h21, h22,, hn} son más generales que... h1,, h2,,hm } son más especificos que... S = {h13{ h13,, h2,,hm } Solo considerar especializaciones de elementos en G que son aún más generales que alguna hipótesis específica (en S) Solo considerar generalizaciones de elementos en S que son aún más específicos que alguna hipótesis general (en G) 43 44 Poda: ejemplos negativos G = {h1, h21,, hn} Poda: ejemplos positivos G = {h1, h21,, hn} NO cubre el último ejemplo positivo Cubre el último ejemplo negativo! h1,, h3,,hm } h1,, h3,,hm } El nuevo ejemplo negativo puede usarse para podar todas las Shipotesis que cubren al ejemplo negativo. El nuevo ejemplo positivo puede tambien ser usado para podar todas las G hipotesis que cubren al ejemplo positivo 45 46 Eliminar hipótesis redundantes Obviam. también para S! G = {h1, h21,, hn} Convergencia: G = {h1, h21, h22,, hn} Más especifica que otra hipótesis general h1,, h3,,hm } S = {h13{ h13,, h2,,hm } Si una hipótesis de G es más específica que otra hipótesis de G: : la eliminamos! Razón: Ola de choque: todo por encima de G es permitido. Los elementos más generales de G definen la frontera real 47 A la larga, si G y S PUDIERAN tener un elemento común: Version Spaces converge a una solución. Los demás ejemplos necesitan ser verificados con respecto a la solución. 48 8
Ejemplo: reacción alérgica Inicialización:,,, : : Ejemplo positivo: generalización mínima de [?,?,?,?] Más general [?,?,?,?] Más especifico [,, viernes, ] 49 50,, viernes, : Ejemplo negativo: especializac.. minimal de [?,?,?,?] 15 especializaciones posibles!! [,,?,?,?] [,,?,?,?] Conicide con el ejemplo negativo [,,?,?,?] generaliza el modelo especifico [?,,,?,?] [?, almu.,,?,?] [?, cena,,?,?] [?,?, Lunes,,?] [?,?, Martes,,?] restan! [?,?, Miercoles,,?] [?,?, Jueves,,?] [?,?,,,?] Modelo específico: [?,?, Sabado,,?] [,,viernes,] [?,?,,,?] [?,?,?, ] [?,?,?, ] 51 Resultado tras ejemplo 2: [?,?,?,?] [,,?,?,?] [?,,,?,?] [?,?,?, ] [,,, ] 52, almu., Sábado, : : Ejemplo positivo: mínima generalizac.. de [,,, ],,,, : Ejemplo negativo: espec.. minimal de los modelos generales: [,,?,?,?] [?,,,?,?] [?,?,?, ] [,,?,?,?] [?,?,?, ] concuerda con el nuevo ejemplo [,,?,?, ] [,,?,?, ] [, desay., viernes,] La única especialización que se introduce es podada, pues es más específica que otra hipótesis más general [,,?,?, ] 53 54 9
,,, : Ejemplos negativos: espec. mínima de [,,?,?,?] Version Space Algoritmo: Inicialmente: G := {la hipótesis que cubre todo} S := {}{ [,,?,?,?] La comida barata de produce la alergia! [,,?,?, ] Igual hipótesis!!! [,,?,?, ] Para cada nuevo ejemplo positivo: Generalizar todas las hipótesis en S que áun cubren el ejemplo, pero asegurar lo siguiente: Sólo introducir cambios minimales en las hipótesis Cada nueva hipót. específica es una especializacion de alguna hipótesis general Ninguna nueva hipot. específica es una generalizac. de algun otra hipot. específica Podar toda hipótesis en G que cubra el ejemplo 55 56 Version Space Algoritmo (2)... Para cada nuevo ejem. negativo: Especializar toda hipot.. en G que cubra el ejemplo, pero asegurar lo sgte: Solo introducir cambios minimales en hipotesis Cada nueva hipot.. general es una generalizacion de alguna hipot. específica fica. Ninguna nueva hipot.. general es una especializac.de alguna otra hipot.. general Podar toda hipot en S que cubra el ejemplo Hasta que hay más ejemplos: reportar S y G O bien S o bien G se vacían an: reportar falla Propiedades de VS: Simetría: ejemplos positivos y negativos se tratan de manera completamente dual. necesita recordar ejemplos previos. Ruido: VS puede manejar bien el ruido! Si se da un ejemplo positivo como negativo, entonces.. VS elimina la hipótesis deseada del Version Space G! 57 58 Terminación: Si termina porque hay más ejemplos : Ejemplo (espacios de terminación): [,,?,?,?] [?,?, Lunes,?] Terminación (2): Si termina porque S o G son vacíos: Entonces : Los datos de prueba son inconsistentes (ruido?) El concepto meta puede ser representado en el lenguaje de hipótesis H. [,,?,?, ] [,,?,Lunes Lunes,,?] [?,?,Lunes, Lunes,] [,,?,Lunes, Lunes,] Entonces todas estas hipótesis,, y todas las hipótesis intermedias son descripciones aún correctas, que cubren los datos dados VS hace elecciones innecesarias! 59 Ejemplo: el concepto meta es: [,,,?, ] [, almu,,?, ] dados ejemplos como: <, cena, domingo, > <,, domingo, > <, almu., domingo, > esto puede ser aprendido en nuestro lenguaje H. 60 10
VersionSpaces en Prolog Existe una implementación del algoritmo VersionSpaces en lenguaje SWI Prolog ( AI techniques in Prolog, Y.Shoham). Relaciones entre conceptos: se definen con un predicado dgeneralizes(,y) Ejemplos: dgeneralize(cjto_2_36_214,pares). dgeneralize(nro_150, pares). dgeneralize(nro_150, enteros_meres_que_200). _200). dgeneralize(primos_impares,primos). dgeneralize(primos_impares,impares). VersionSpaces en Prolog Idea: Luego pueden hacerse consultas como la siguiente: version_space([ ([set_2_36_214, primes, odds], U,L) En U se obtiene el UpperBound,, y en L el LowerBound. pares enteros_meres _que_200 _200 primos impares Cjto_2_36_214 nro_150 primos_impares 61 62 FIN 63 11