Aprendizaje inductivo: árboles y reglas de decisión

Anuncio
Aprendizaje inductivo: árboles y reglas de decisión
M. A. Gutiérrez Naranjo
F. J. Martı́n Mateos
J. L. Ruiz Reina
Dpto. Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Contenido
Introducción
Árboles de decisión:
El algoritmo ID3
Entropı́a e información
Búsqueda y sesgo inductivo
Sobreajuste y ruido
Poda y otras cuestiones
Reglas:
Reglas proposicionales
Algoritmo de cobertura para aprendizaje de reglas
proposicionales
Reglas de primer orden: programación lógica inductiva
El algoritmo FOIL
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendizaje
Definiciones de aprendizaje:
Cualquier cambio en un sistema que le permita realizar la
misma tarea de manera más eficiente la próxima vez (H.
Simon)
Modificar la representación del mundo que se está percibiendo
(R. Michalski)
Realizar cambios útiles en nuestras mentes (M. Minsky)
Aprendizaje automático: construir programas que mejoran
automáticamente con la experiencia
Ejemplos de tareas:
Construcción de bases de conocimiento a partir de la
experiencia
Clasificación y diagnóstico
Minerı́a de datos, descubrir estructuras desconocidas en
grandes grupos de datos
Resolución de problemas, planificación y acción
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Tipos de aprendizaje y paradigmas
Tipos de aprendizaje
Supervisado
No supervisado
Con refuerzo
Paradigmas
Aprendizaje por memorización
Clasificación (Clustering)
Aprendizaje inductivo
Aprendizaje por analogı́a
Descubrimiento
Algoritmos genéticos, redes neuronales
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendizaje supervisado (ejemplo)
Conjunto de entrenamiento
Ejemplos: dı́as en los que es recomendable (o no) jugar al tenis
Representación como una lista de pares atributo–valor
Ej.
D1
D2
D3
D4
...
Cielo
Soleado
Soleado
Nublado
Lluvia
Temperatura
Alta
Alta
Alta
Suave
Humedad
Alta
Alta
Alta
Alta
Viento
Débil
Fuerte
Débil
Débil
JugarTenis
+
+
Objetivo: Dado el conjunto de entrenamiento, aprender el
concepto “Dı́as en los que se juega al tenis”
Problema: ¿Cómo expresar lo aprendido?
En este tema, veremos algoritmos para aprender árboles de
decisión y para aprender reglas
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Árboles de decisión
Ejemplos de árboles de decisión
Cielo
Soleado
Nublado
+
Humedad
Alta
−
Lluvia
Normal
+
Inteligencia Artificial II 2012–2013
Viento
Fuerte
Debil
−
+
Aprendizaje inductivo: árboles y reglas de decisión
Árboles de decisión
Ejemplos de árboles de decisión
Color
Rojo
Verde
−
Tamaño
Grande
+
Azul
Pequeño
Forma
Redondo
−
Cuadrado
+
Tamaño
Grande
+
Inteligencia Artificial II 2012–2013
Pequeño
−
Aprendizaje inductivo: árboles y reglas de decisión
Árboles de decisión
Árboles de decisión
Nodos interiores: atributos
Arcos: posibles valores del nodo origen
Hojas: valor de clasificación (usualmente + ó −, aunque
podrı́a ser cualquier conjunto de valores, no necesariamente
binario)
Representación de una función objetivo
Disyunción de reglas proposicionales:
∨
∨
∨
∨
(Cielo=Soleado ∧ Humedad=Alta → JugarTenis= −)
(Cielo=Soleado ∧ Humedad=Normal → JugarTenis= +)
(Cielo=Nublado → JugarTenis= +)
(Cielo=Lluvioso ∧ Viento=Fuerte → JugarTenis= −)
(Cielo=Lluvioso ∧ Viento=Debil → JugarTenis= +)
Capaz de representar cualquier subconjunto de instancias
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendizaje de árboles de decisión
Objetivo: aprender un árbol de decisión consistente con los
ejemplos, para posteriormente clasificar ejemplos nuevos
Ejemplo de conjunto de entrenamiento:
Ej.
D1
D2
D3
D4
...
Cielo
Soleado
Soleado
Nublado
Lluvia
Temperatura
Alta
Alta
Alta
Suave
Inteligencia Artificial II 2012–2013
Humedad
Alta
Alta
Alta
Alta
Viento
Débil
Fuerte
Débil
Débil
JugarTenis
+
+
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3
Algoritmo ID3
ID3(Ejemplos, Atributo-objetivo, Atributos)
1. Si todos los Ejemplos son positivos, devolver un nodo
etiquetado con +
2. Si todos los Ejemplos son negativos, devolver un nodo
etiquetado con 3. Si Atributos está vacı́o, devolver un nodo etiquetado con el valor
más frecuente de Atributo-objetivo en Ejemplos.
4. En otro caso:
4.1. Sea A el atributo de Atributos que MEJOR clasifica Ejemplos
4.2. Crear Árbol, con un nodo etiquetado con A.
4.3. Para cada posible valor v de A, hacer:
* Añadir un arco a Árbol, etiquetado con v.
* Sea Ejemplos(v) el subconjunto de Ejemplos con valor del
atributo A igual a v.
* Si Ejemplos(v) es vacı́o:
- Entonces colocar debajo del arco anterior un nodo etiquetado
con el valor más frecuente de Atributo-objetivo en Ejemplos.
- Si no, colocar debajo del arco anterior el subárbol
ID3(Ejemplos(v), Atributo-objetivo, Atributos-{A}).
4.4 Devolver Árbol
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
¿Cómo saber qué atributo clasifica mejor?
Entropı́a de un conjunto de ejemplos D (resp. de una
clasificación):
|P|
|N|
|P|
· log2 |D|
− |D|
· log2 |N|
Ent(D) = − |D|
|D|
donde P y N son, respectivamente, los subconjuntos de
ejemplos positivos y negativos de D
Notación: Ent([p+ , n− ]), donde p = |P| y n = |N|
Intuición:
Mide la ausencia de “homegeneidad” de la clasificación
Teorı́a de la Información: cantidad media de información (en
bits) necesaria para codificar la clasificación de un ejemplo
Ejemplos:
9
9
5
5
Ent([9+ , 5− ]) = − 14
· log2 14
− 14
· log2 14
= 0,94
+
−
Ent([k , k ]) = 1 (ausencia total de homogeneidad)
Ent([p+ , 0− ]) = Ent([0+ , n− ]) = 0 (homogeneidad total)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ganancia de información
Preferimos nodos con menos entropı́a (árboles pequeños)
Entropı́a esperada después de usar un atributo A en el árbol:
P
|Dv |
v∈Valores(A) |D| · Ent(Dv )
donde Dv es el subconjunto de ejemplos de D con valor del
atributo A igual a v
Ganancia de información esperada después de usar un
atributo A:
P
v|
Ganancia(D, A) = Ent(D) − v∈Valores(A) |D
· Ent(Dv )
|D|
En el algoritmo ID3, en cada nodo usamos el atributo con
mayor ganancia de información (considerando los ejemplos
correspondientes al nodo)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Conjunto de entrenamiento:
Ej.
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
Cielo
Soleado
Soleado
Nublado
Lluvia
Lluvia
Lluvia
Nublado
Soleado
Soleado
Lluvia
Soleado
Nublado
Nublado
Lluvia
Temperatura
Alta
Alta
Alta
Suave
Baja
Baja
Baja
Suave
Baja
Suave
Suave
Suave
Alta
Suave
Inteligencia Artificial II 2012–2013
Humedad
Alta
Alta
Alta
Alta
Normal
Normal
Normal
Alta
Normal
Normal
Normal
Alta
Normal
Alta
Viento
Débil
Fuerte
Débil
Débil
Débil
Fuerte
Fuerte
Débil
Débil
Débil
Fuerte
Fuerte
Débil
Fuerte
JugarTenis
+
+
+
+
+
+
+
+
+
-
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Humedad
Alta
Viento
Normal
[3+ , 4− ]
[6+ , 1− ]
Fuerte
Debil
[6+ , 2− ]
Cielo
[3+ , 3− ]
Temperatura
Soleado
Nublado
Lluvia
[2+ , 3− ]
[4+ , 0− ]
[3+ , 2− ]
Inteligencia Artificial II 2012–2013
Alta
[2+ , 2− ]
Suave
[4+ , 2− ]
Baja
[3+ , 1− ]
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Entropı́a inicial: Ent([9+ , 5− ]) = 0,94
Selección del atributo para el nodo raı́z:
Ganancia(D,Humedad) =
7
7
· Ent([3+ , 4− ]) − 14
· Ent([6+ , 1− ]) = 0,151
0,94 − 14
Ganancia(D,Viento) =
6
8
· Ent([6+ , 2− ]) − 14
· Ent([3+ , 3− ]) = 0,048
0,94 − 14
Ganancia(D,Cielo) =
5
4
0,94 − 14
· Ent([2+ , 3− ]) − 14
· Ent([4+ , 0− ])
5
+
−
− 14 · Ent([3 , 2 ]) = 0,246 (mejor atributo)
Ganancia(D,Temperatura) =
4
6
0,94 − 14
· Ent([2+ , 2− ]) − 14
· Ent([4+ , 2− ])
4
· Ent([3+ , 1− ]) = 0,02
− 14
El atributo seleccionado es Cielo
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Árbol parcialmente construido:
Cielo
Soleado
?
Inteligencia Artificial II 2012–2013
Nublado
+
Lluvia
?
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Selección del atributo para el nodo Cielo=Soleado
DSoleado = {D1 , D2 , D8 , D9 , D11 } con entropı́a
Ent([2+ , 3− ]) = 0,971
Ganancia(DSoleado ,Humedad) =
0,971 − 35 · 0 − 25 · 0 = 0,971 (mejor atributo)
Ganancia(DSoleado ,Temperatura) =
0,971 − 25 · 0 − 25 · 1 − 15 · 0 = 0,570
Ganancia(DSoleado ,Viento) =
0,971 − 25 · 1 − 35 · 0,918 = 0,019
El atributo seleccionado es Humedad
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Selección del atributo para el nodo Cielo=Lluvia:
DLluvia = {D4 , D5 , D6 , D10 , D14 } con entropı́a
Ent([3+ , 2− ]) = 0,971
Ganancia(DLluvia ,Humedad) =
0,971 − 25 · 1 − 35 · 0,918 = 0,820
Ganancia(DLluvia ,Temperatura) =
0,971 − 53 · 0,918 − 25 · 1 = 0,820
Ganancia(DLluvia ,Viento) =
0,971 − 53 · 0 − 25 · 0 = 0,971 (mejor atributo)
El atributo seleccionado es Viento
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 1)
Árbol finalmente aprendido:
Cielo
Soleado
Nublado
+
Humedad
Alta
−
Lluvia
Normal
+
Inteligencia Artificial II 2012–2013
Viento
Fuerte
Debil
−
+
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 2)
Conjunto de entrenamiento:
Ej.
O1
O2
O3
O4
O5
O6
Color
Rojo
Azul
Rojo
Verde
Rojo
Verde
Forma
Cuadrado
Cuadrado
Redondo
Cuadrado
Redondo
Cuadrado
Tamaño
Grande
Grande
Pequeño
Pequeño
Grande
Grande
Inteligencia Artificial II 2012–2013
Clase
+
+
+
-
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 2)
Entropı́a inicial en el ejemplo de los objetos,
Ent([3+ , 3− ]) = 1
Selección del atributo para el nodo raı́z:
Ganancia(D,Color) =
1− 36 ·Ent([2+ , 1− ])− 16 ·Ent([1+ , 0− ])− 62 ·Ent([0+ , 2− ]) =
0,543
Ganancia(D,Forma) =
1 − 46 · Ent([2+ , 2− ]) − 62 · Ent([1+ , 1− ]) = 0
Ganancia(D,Tamaño) =
1 − 46 · Ent([3+ , 1− ]) − 62 · Ent([0+ , 2− ]) = 0,459
El atributo seleccionado es Color
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 2)
Árbol parcialmente construido:
Color
Rojo
?
Inteligencia Artificial II 2012–2013
Verde
−
Azul
+
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 2)
Selección del atributo para el nodo Color=Rojo:
DRojo = {O1 , O3 , O5 } con entropı́a Ent([2+ , 1− ]) = 0,914
Ganancia(DRojo ,Forma) =
0,914 − 31 · Ent([1+ , 0− ]) −
Ganancia(DRojo ,Tamaño) =
0,914 − 23 · Ent([2+ , 0− ]) −
2
3
· Ent([1+ , 1− ]) = 0,247
1
3
· Ent([0+ , 1− ]) = 0,914
El atributo seleccionado es Tamaño
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo ID3 (ejemplo 2)
Árbol finalmente aprendido:
Color
Rojo
Verde
−
Tamaño
Grande
+
Inteligencia Artificial II 2012–2013
Azul
+
Pequeño
−
Aprendizaje inductivo: árboles y reglas de decisión
Búsqueda y sesgo inductivo
Búsqueda en un espacio de hipótesis
Espacio de todos los árboles de decisión
Un único árbol candidato en cada paso
Sin retroceso (peligro de óptimos locales), búsqueda en
escalada
Decisiones tomadas a partir de conjuntos de ejemplos
Sesgo inductivo
Se prefieren árboles más cortos sobre los más largos
Sesgo preferencial, implı́cito en la búsqueda
Principio de la navaja de Occam
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Medida del rendimiento del aprendizaje
Conjunto de entrenamiento y conjunto de prueba
Aprender con el conjunto de entrenamiento
Medida del rendimiento: proporción de ejemplos bien
clasificados en el conjunto de prueba
Repetición de este proceso
Curva de aprendizaje
Estratificación: cada clase correctamente representada en el
entrenamiento y en la prueba
Validación cruzada
Dividir en k partes, y hace k aprendizajes, cada uno de ellos
tomando como prueba una de las partes y entrenamiento el
resto. Finalmente hacer la media de los rendimientos.
En la práctica: validación cruzada, con k = 10 y estratificación
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Sobreajuste y ruido
Una hipótesis h ∈ H sobreajusta los ejemplos de
entrenamiento si existe h′ ∈ H que se ajusta peor que h a los
ejemplos pero actúa mejor sobre la distribución completa de
instancias.
Ruido: ejemplos incorrectamente clasificados. Causa
sobreajuste
Ejemplo: supongamos que por error, se incluye el ejemplo
<Azul,Redondo,Pequeno> como ejemplo negativo
El árbol aprendido en este caso serı́a (sobrejustado a los
datos):
Color
Color
Rojo
Tamaño
Grande
+
Verde
Azul
−
+
Pequeño
−
Inteligencia Artificial II 2012–2013
Rojo
Grande
+
Verde
Azul
−
Tamaño
Forma
Pequeño
Redondo
−
−
Cuadrado
+
Aprendizaje inductivo: árboles y reglas de decisión
Sobreajuste y ruido
Otras causas de sobreajuste:
Atributos que en los ejemplos presentan una aparente
regularidad pero que no son relevantes en realidad
Conjuntos de entrenamiento pequeños
Maneras de evitar el sobreajuste:
Parar el desarrollo del árbol antes de que se ajuste
perfectamente a todos los datos
Podar el árbol a posteriori
Poda a posteriori, dos aproximaciones:
Transformación a reglas, podado de las condiciones de las
reglas
Realizar podas directamente en el árbol
Las podas se producen siempre que reduzcan el error sobre un
conjunto de prueba
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Podado de árboles
Algoritmo de poda para reducir el error
1.
2.
3.
4.
*
*
*
*
*
5.
Dividir el conjunto de ejemplos en Entrenamiento y Prueba
Árbol=árbol obtenido por ID3 usando Entrenamiento
Continuar=True
Mientras Continuar:
Medida = proporción de ejemplos en Prueba correctamente
clasificados por Árbol
Por cada nodo interior N de Árbol:
- Podar temporalmente Árbol en el nodo N y sustituirlo por una
hoja etiquetada con la clasificación mayoritaria en ese nodo
- Medir la proporción de ejemplos correctamente clasificados en
el conjunto de prueba.
Sea K el nodo cuya poda produce mejor rendimiento
Si este rendimiento es mejor que Medida, entonces
Árbol = resultado de podar permanentemente Árbol en K
Si no, Continuar=Falso
Devolver Árbol
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Otras cuestiones prácticas del algoritmo ID3
Extensiones del algoritmo:
Atributos con valores contı́nuos
Otras medidas para seleccionar atributos
Otras estimaciones de error
Atributos sin valores
Atributos con coste
Algoritmos C4.5 y C5.0 (Quinlan)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Cambiando la salida: reglas proposicionales
Reglas de clasificación:
R1: Si Cielo=Soleado ∧ Humedad=Alta
Entonces JugarTenis= −
R2: Si Astigmatismo= + ∧ Lagrima=Normal
Entonces Lente=Rigida
Ventaja de usar el formalismo de reglas
Claridad
Modularidad
Expresividad: pueden representar cualquier conjunto de
instancias
Métodos generalizables a primer orden de manera natural
Formalismo usado en sistemas basados en el conocimiento
Reglas y árboles de decisión
Fácil traducción de árbol a reglas, pero no a la inversa
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendizaje de reglas
Objetivo: aprender un conjunto de reglas consistente con los
ejemplos
Una regla cubre un ejemplo si el ejemplo satisface las
condiciones
Lo cubre correctamente si además el valor del atributo en la
conclusión de la regla coincide con el valor que el ejemplo
toma en ese atributo
Una medida del ajuste de una regla R a un conjunto de
ejemplos D:
Frecuencia relativa: p/t (donde t = ejemplos cubiertos por R
en D, p = ejemplos correctamente cubiertos). Notación:
FR(R, D)
Algoritmos de aprendizaje de reglas:
ID3 + traducción a reglas
Cobertura
Algoritmos genéticos
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Un conjunto de entrenamiento
Ej.
E1
E2
E3
E4
E5
E6
E7
E8
E9
E10
E11
E12
E13
E14
E15
E16
Edad
Joven
Joven
Joven
Joven
Joven
Joven
Joven
Joven
PrePresbicia
PrePresbicia
PrePresbicia
PrePresbicia
PrePresbicia
PrePresbicia
PrePresbicia
PrePresbicia
Dignostico
Miope
Miope
Miope
Miope
Hipermétrope
Hipermétrope
Hipermétrope
Hipermétrope
Miope
Miope
Miope
Miope
Hipermétrope
Hipermétrope
Hipermétrope
Hipermétrope
Inteligencia Artificial II 2012–2013
Astigmatismo
+
+
+
+
+
+
+
+
Lagrima
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Lente
Ninguna
Blanda
Ninguna
Rı́gida
Ninguna
Blanda
Ninguna
Rı́gida
Ninguna
Blanda
Ninguna
Rı́gida
Ninguna
Blanda
Ninguna
Ninguna
Aprendizaje inductivo: árboles y reglas de decisión
Un conjunto de entrenamiento
Ej.
E17
E18
E19
E20
E21
E22
E23
E24
Edad
Presbicia
Presbicia
Presbicia
Presbicia
Presbicia
Presbicia
Presbicia
Presbicia
Dignostico
Miope
Miope
Miope
Miope
Hipermétrope
Hipermétrope
Hipermétrope
Hipermétrope
Astigmatismo
+
+
+
+
Lagrima
Reducida
Normal
Reducida
Normal
Reducida
Normal
Reducida
Normal
Lente
Ninguna
Ninguna
Ninguna
Rı́gida
Ninguna
Blanda
Ninguna
Ninguna
R2: Si Astigmatismo= + ∧ Lagrima=Normal
Entonces Lente=Rigida
R2 cubre E4 , E8 , E12 , E16 , E20 y E24 , de los cuales cubre
correctamente E4 , E8 , E12 y E20
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendiendo reglas que cubren ejemplos
Aprender una regla para clasificar Lente=Rigida
Si ?
Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven
Edad=PrePresbicia
Edad=Presbicia
Diagnostico=Miopı́a
Diagnostico=Hipermetropı́a
Astigmatismo= −
Astigmatismo= +
Lágrima=Reducida
Lágrima=Normal
2/8
1/8
1/8
3/12
1/12
0/12
4/12 *
0/12
4/12 *
Regla parcialmente aprendida
Si Astigmatismo= +
Entonces Lente=Rigida
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendiendo reglas que cubren ejemplos
Continuamos para excluir ejemplos cubiertos incorrectamente
Si Astigmatismo= + ∧ ?
Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven
Edad=PrePresbicia
Edad=Presbicia
Diagnostico=Miopı́a
Diagnostico=Hipermetropı́a
Lágrima=Reducida
Lágrima=Normal
2/4
1/4
1/4
3/6
1/6
0/6
4/6 *
Regla parcialmente aprendida
Si Astigmatismo= + ∧ Lagrima=Normal
Entonces Lente=Rigida
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendiendo reglas que cubren ejemplos
Continuamos para excluir ejemplos cubiertos incorrectamente
Si Astigmatismo= + ∧ Lagrima=Normal ∧ ?
Entonces Lente=Rigida
Alternativas para ?, y frecuencia relativa de la regla resultante
Edad=Joven
Edad=PrePresbicia
Edad=Presbicia
Diagnostico=Miopı́a
Diagnostico=Hipermetropı́a
2/2 *
1/2
1/2
3/3 *
1/3
Regla finalmente aprendida (no cubre incorrectamente ningún
ejemplo)
Si Astigmatismo= + ∧ Lagrima=Normal ∧
Diagnostico=Miopia
Entonces Lente=Rigida
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Aprendiendo reglas que cubren ejemplos
Queda un ejemplo con Lente=Rigida no cubierto por R2
Comenzamos otra vez con “Si ? Entonces Lente=Rigida”,
pero ahora con D′ = D \ {E4 , E12 , E20 }
Reglas finalmente aprendidas para Lente=Rigida:
R1: Si Astigmatismo= + ∧ Lagrima=Normal ∧
Diagnostico=Miopia
Entonces Lente=Rigida
R2: Si Edad=Joven ∧ Astigmatismo= + ∧
Lagrima=Normal
Entonces Lente=Rigida
Cubren correctamente los 4 ejemplos de Lente=Rigida (y se
solapan)
Ahora se podrı́a continuar para aprender reglas que
clasifiquen:
Lente=Blanda
Lente=Ninguna
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo de aprendizaje de reglas por cobertura
Algoritmo de aprendizaje por cobertura
Aprendizaje-por-Cobertura(D,Atributo,v)
1. Hacer Reglas-aprendidas igual a vacı́o
2. Hacer E igual a D
3. Mientras E contenga ejemplos cuyo valor de Atributo es v, hacer:
3.1 Crear una regla R sin condiciones y conclusión Atributo=v
3.2 Mientras que haya en E ejemplos cubiertos por R incorrectamente
o no queden atributos que usar, hacer:
3.2.1 Elegir la MEJOR condición A=w para añadir a R, donde A es
un atributo que no aparece en R y w es un valor de los
posibles que puede tomar A
3.2.2 Actualizar R añadiendo la condición A=w a R
3.3 Incluir R en Reglas-aprendidas
3.4 Actualizar E quitando los ejemplos cubiertos por R
4. Devolver Reglas-Aprendidas
Algoritmo para aprender un conjunto de reglas (a partir de D)
Reglas para predecir situaciones en las que un Atributo dado
toma un valor v
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Control en el algoritmo de cobertura
Bucle externo:
Añade reglas (la hipótesis se generaliza)
Cada regla añadida cubre algunos ejemplos correctamente
Elimina en cada vuelta los ejemplos cubiertos por la regla
añadida
Y se añaden reglas mientras queden ejemplos sin cubrir
Bucle interno:
Añade condiciones a la regla (la regla se especializa)
Cada nueva condición excluye ejemplos cubiertos
incorrectamente
Y esto se hace mientras haya ejemplos incorrectamente
cubiertos
Cobertura frente a ID3
Aprende una regla cada vez, ID3 lo hace simultáneamente
ID3: elecciones de atributos
Cobertura: elcciones de parejas atributo-valor
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Algoritmo de cobertura (propiedades)
Diferentes criterios para elegir la mejor condición en cada
vuelta del bucle interno:
Se añade la condición que produzca la regla con mayor
frecuencia relativa (como en el ejemplo)
Se añade la que produzca mayor ganancia de información:
′
p · (log2 pt′ − log2 pt )
donde p′ /t′ es la frecuencia relativa después de añadir la
condición y p/t es la frecuencia relativa antes de añadir la
condición
Las reglas aprendidas por el algoritmo de cobertura se ajustan
perfectamente al conjunto de entrenamiento (peligro de
sobreajuste)
Podado de las reglas a posteriori
Eliminar progresivamente condiciones hasta que no se
produzca mejora
Criterio probabilı́stico para decidir la mejora
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Insuficiencia expresiva de las reglas proposicionales
Ejemplo:
Aprender el concepto “ser hija de” a partir de una base de
datos de relaciones entre miembros de una familia, con
ejemplos positivos y negativos del concepto
Dificultad de ser expresado en el modelo proposicional de pares
atributo-valor
Formalización del ejemplo en lógica de primer orden
Ejemplos positivos: (maria,ana), (eva,tomas)
Ejemplos negativos: (tomas,ana), (eva,ana), (eva,ignacio)
Conocimiento base: hombre(tomas), hombre(ignacio)
mujer(ana), mujer(eva), mujer(maria),
progenitor(ana,maria), progenitor(ana,tomas),
progenitor(tomas,eva), progenitor(tomas,ignacio)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Programación Lógica Inductiva
Datos:
Ejemplos positivos: E⊕
Ejemplos negativos: E⊖
Conocimiento base: T
Lenguaje de hipótesis: L
Condiciones:
Necesidad a priori: (∃e⊕ ∈ E⊕ )[T 6⊢ e⊕ ]
Consistencia a priori: (∀e⊖ ∈ E⊖ )[T 6⊢ e⊖ ]
Objetivo: Encontrar un conjunto finito H ⊂ L tal que se
cumplan
S
Suficiencia a posteriori: (∀e⊕ ∈ E⊕ )[T S
H ⊢ e⊕ ]
Consistencia a posteriori: (∀e⊖ ∈ E⊖ )[T H 6⊢ e⊖ ]
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Terminologı́a en PLI
Se aprenden relaciones (o predicados) en lugar de pares
atributo-valor
Los ejemplos vienen dados por tuplas de constantes sobre los
que la relación es cierta o falsa
(eva,tomas) es un ejemplo positivo de la relación “ser hija de”
y (tomas,ana) un ejemplo negativo
Una regla cubre un ejemplo si el ejemplo satisface las
condiciones de la regla.
La regla hija(A,B) :- progenitor(B,A), mujer(A)
cubre el ejemplo (maria,ana) y no cubre el ejemplo
(eva,ignacio)
Una regla cubre correctamente un ejemplo si y sólo si éste es
positivo
Objetivo: Encontrar un conjunto de reglas PROLOG que
cubra todos los ejemplos positivos y ninguno negativo
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
El algoritmo FOIL
Algoritmo FOIL
FOIL(Ejemplos,Conocimiento-base,Predicado-objetivo)
1. Hacer Reglas-aprendidas igual a vacı́o
2. Hacer E igual a Ejemplos
3. Mientras E contenga ejemplos positivos, hacer:
3.1 Crear una regla R sin cuerpo y con cabeza P(X1,...,Xn)
(donde P es el Predicado-objetivo y n su aridad)
3.2 Mientras que haya en E ejemplos negativos cubiertos por R:
3.2.1 GENERAR todos los posibles literales que pueden ser
añadidos al cuerpo de la regla R
3.2.2 De todos ellos, sea L el MEJOR
3.2.2 Actualizar R añadiendo el literal L al cuerpo de R
3.3 Incluir R en Reglas-aprendidas
3.4 Actualizar E quitando los ejemplos cubiertos por R
4. Devolver Reglas-Aprendidas
Debemos precisar GENERAR y MEJOR
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Generación de nuevos literales en FOIL
Literales tomados de los predicados del conocimiento base:
De la forma Q(x1 , . . . , xn ) donde Q es un predicado del
conocimiento base y xi son variables de la regla que se quiere
extender o nuevas (al menos una de las variables ha de estar
en la regla)
Para ampliar la regla hija(A,B) :- podemos usar:
hombre(A), hombre(B), mujer(A), mujer(B),
progenitor(C,A), progenitor(A,C), progenitor(C,B),
progenitor(B,C), progenitor(A,A), progenitor(B,A),
progenitor(A,B), progenitor(B,B)
Literales de igualdad entre las variables que aparecen en la
regla
Negaciones de los anteriores
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Elección del mejor literal
El criterio más usado:
Dada una regla R y un literal L medimos la mejora producida
en la cobertura al añadir un nuevo literal L a R para obtener
una nueva regla R′
Se elige el que produzca mayor ganancia de información:
′
p
t · (log2 p′p+n′ − log2 p+n
)
donde R cubre p ejemplos positivos y n negativos, R′ cubre p′
ejemplos positivos y n′ negativos y t es el número de ejemplos
positivos cubiertos por R que siguen cubriéndose en R′
Otros criterios posibles
Frecuencia relativa
Contenido de información
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Un ejemplo de cálculo de la ganancia de información
Ejemplos cubiertos por la regla hija(A,B) :Positivos (2): (maria,ana) y (eva,tomas)
Negativos (3): (tomas,ana), (eva,ana) y (eva,ignacio)
Ejemplos cubiertos por la regla
hija(A,B) :- progenitor(B,A)
Positivos (2): (maria,ana) y (eva,tomas).
Negativos (1): (tomas,ana).
Positivos cubiertos por la regla original que siguen estando
cubiertos por la regla extendida (2): (maria,ana), y
(eva,tomas).
Ganancia de información producida:
2 · (log2 (2/(2 + 1)) − log2 (2/(2 + 3))) = 1,474
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Literales que introducen nuevas variables
Al introducir nuevas variables:
Las tuplas se extienden con las nuevas ligaduras
Por tanto, el número de ejemplos cubiertos puede aumentar
(tanto positivos como negativos)
Precisión del valor t en la fórmula de ganancia de información:
un ejemplo positivo se considera que sigue cubierto al extender
la regla si existe alguna extensión del ejemplo que queda
cubierto por la regla
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Literales que introducen nuevas variables (ejemplo)
Ejemplos cubiertos por la regla hija(A,B) :Positivos (2): (maria,ana) y (eva,tomas)
Negativos (3): (tomas,ana), (eva,ana) y (eva,ignacio)
Ejemplos (extendidos) cubiertos por la regla
hija(A,B) :- progenitor(B,C)
Positivos (4): (maria,ana,maria), (maria,ana,tomas),
(eva,tomas,eva) y (eva,tomas,ignacio)
Negativos (4): (tomas,ana,maria), (tomas,ana,tomas),
(eva,ana,maria) y (eva,ana,tomas)
Positivos cubiertos por la regla original que siguen estando
cubiertos por la regla extendida (2): (maria,ana), y
(eva,tomas).
Ganancia de información producida:
2 · (log2 (4/(4 + 4)) − log2 (2/(2 + 3))) = 0,644
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla inicial: hija(A,B) :Ejemplos positivos cubiertos: (maria, ana), (eva, tomas)
Ejemplos negativos cubiertos: (tomas, ana), (eva, ana),
(eva, ignacio)
Posibles reglas y ganancia de las mismas
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
::::::::::::-
hombre(A)
hombre(B)
mujer(A)
mujer(B)
progenitor(C,A)
progenitor(A,C)
progenitor(C,B)
progenitor(B,C)
progenitor(A,A)
progenitor(B,A)
progenitor(A,B)
progenitor(B,B)
0.000
0.322
0.644
-0.263
0.000
0.000
0.322
0.644
0.000
1.474
0.000
0.000
Regla extendida: hija(A,B) :- progenitor(B,A)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla obtenida: hija(A,B) :- progenitor(B,A)
Ejemplos positivos cubiertos: (maria, ana), (eva, tomas)
Ejemplos negativos cubiertos: (tomas, ana)
Posibles reglas y ganancia de las mismas
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
hija(A,B)
::::::::::::-
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
progenitor(B,A),
hombre(A)
hombre(B)
mujer(A)
mujer(B)
progenitor(C,A)
progenitor(A,C)
progenitor(C,B)
progenitor(B,C)
progenitor(A,A)
progenitor(B,A)
progenitor(A,B)
progenitor(B,B)
0.000
0.585
1.170
-0.415
0.000
0.000
0.585
0.000
0.000
0.000
0.000
0.000
Regla extendida: hija(A,B) :- progenitor(B,A), mujer(A)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo
Aprender la relación “ser abuelo de” a partir del siguiente
ejemplo
Isabel - Felipe
Diana - Carlos
Guillermo Harry
Ana - Frank
Pedro
Inteligencia Artificial II 2012–2013
Andrés - Sara Eduardo
Zara Beatriz Eugenia
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo
Ejemplos positivos: (felipe,guillermo), (felipe,harry),
(felipe,pedro), (felipe,zara), (felipe,beatriz),
(felipe,eugenia)
Ejemplos negativos: Todos los demás (Hipótesis del Mundo
Cerrado)
Conocimiento base:
padre(felipe,carlos), padre(felipe,ana), padre(felipe,andres),
padre(felipe,eduardo), padre(carlos,guillermo), padre(carlos,harry),
padre(mark,pedro), padre(mark,zara), padre(andres,beatriz),
padre(andres,eugenia), madre(isabel,carlos), madre(isabel,ana),
madre(isabel,andres), madre(isabel,eduardo), madre(diana,guillermo),
madre(diana,harry), madre(ana,pedro), madre(ana,zara),
madre(sara,beatriz), madre(sara,eugenia),
progenitor(X,Y) :- padre(X,Y),
progenitor(X,Y) :- madre(X,Y)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla inicial: abuelo(A,B) :Ejemplos positivos cubiertos: (felipe,guillermo),
(felipe,harry), (felipe,pedro), (felipe,zara),
(felipe,beatriz), (felipe,eugenia)
Ejemplos negativos cubiertos: (felipe,felipe),
(felipe,isabel), (felipe,diana), (felipe,carlos),
(felipe,ana), (felipe,frank), (felipe,andres),
(felipe,sara), (felipe,eduardo), (isabel,isabel),
(isabel,diana), (isabel,carlos), (isabel,ana),
(isabel,frank), (isabel,andres), (isabel,sara),
(isabel,eduardo), (isabel,guillermo), (isabel,harry),
(isabel,pedro), (isabel,zara), (isabel,beatriz),
(isabel,eugenia), ...
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla inicial: abuelo(A,B) :Posibles reglas y ganancia de las mismas
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
::::::::::::::::-
padre(C,A)
padre(A,C)
padre(C,B)
padre(B,C)
padre(A,A)
padre(B,A)
padre(A,B)
padre(B,B)
madre(C,A)
madre(A,C)
madre(C,B)
madre(B,C)
madre(A,A)
madre(B,A)
madre(A,B)
madre(B,B)
Inteligencia Artificial II 2012–2013
0.000
15.510
3.510
0.000
0.000
0.000
0.000
0.000
0.000
0.000
3.510
0.000
0.000
0.000
0.000
0.000
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla inicial: abuelo(A,B) :Posibles reglas y ganancia de las mismas
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
::::::::-
progenitor(C,A)
progenitor(A,C)
progenitor(C,B)
progenitor(B,C)
progenitor(A,A)
progenitor(B,A)
progenitor(A,B)
progenitor(B,B)
0.000
9.510
3.510
0.000
0.000
0.000
0.000
0.000
Regla extendida: abuelo(A,B) :- padre(A,C)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla obtenida: abuelo(A,B) :- padre(A,C)
Ejemplos positivos cubiertos: (felipe,guillermo),
(felipe,harry), (felipe,pedro), (felipe,zara),
(felipe,beatriz), (felipe,eugenia)
Ejemplos negativos cubiertos: (felipe,ana), (felipe,andres),
(felipe,carlos), (felipe,diana), (felipe,eduardo),
(felipe,felipe), (felipe,isabel), (felipe,mark),
(felipe,sara), (carlos,ana), (carlos,andres),
(carlos,beatriz), (carlos,carlos), (carlos,diana),
(carlos,eduardo), (carlos,eugenia), (carlos,felipe),
(carlos,guillermo), (carlos,harry), (carlos,isabel),
(carlos,mark), (carlos,pedro), (carlos,sara),
(carlos,zara), ...
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla obtenida: abuelo(A,B) :- padre(A,C)
Posibles reglas y ganancia de las mismas
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
::::::::::::::::::-
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
Inteligencia Artificial II 2012–2013
progenitor(D,A)
progenitor(A,D)
progenitor(D,B)
progenitor(B,D)
progenitor(D,C)
progenitor(C,D)
progenitor(A,A)
progenitor(B,A)
progenitor(C,A)
progenitor(A,B)
progenitor(B,B)
progenitor(C,B)
progenitor(A,C)
progenitor(B,C)
progenitor(C,C)
madre(D,A)
madre(A,D)
madre(D,B)
0.000
3.087
3.510
0.000
0.000
7.932
0.000
0.000
0.000
0.000
0.000
15.863
0.000
0.000
0.000
0.000
0.000
3.510
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla obtenida: abuelo(A,B) :- padre(A,C)
Posibles reglas y ganancia de las mismas
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
::::::::::::::::::-
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
Inteligencia Artificial II 2012–2013
madre(B,D)
madre(D,C)
madre(C,D)
madre(A,A)
madre(B,A)
madre(C,A)
madre(A,B)
madre(B,B)
madre(C,B)
madre(A,C)
madre(B,C)
madre(C,C)
padre(D,A)
padre(A,D)
padre(D,B)
padre(B,D)
padre(D,C)
padre(C,D)
0.000
0.000
7.932
0.000
0.000
0.000
0.000
0.000
5.288
0.000
0.000
0.000
0.000
3.087
3.510
0.000
0.000
7.932
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo con FOIL
Regla obtenida: abuelo(A,B) :- padre(A,C)
Posibles reglas y ganancia de las mismas
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
abuelo(A,B)
::::::::::::::-
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,C),
padre(A,A)
padre(B,A)
padre(C,A)
padre(A,B)
padre(B,B)
padre(C,B)
padre(A,C)
padre(B,C)
padre(C,C)
abuelo(C,A)
abuelo(C,B)
abuelo(A,C)
abuelo(B,C)
abuelo(C,C)
0.000
10.000
0.000
0.000
0.000
10.575
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
Regla extendida:
abuelo(A,B) :- padre(A,C), progenitor(C,B)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Grafo
4
1
2
3
5
Ejemplos positivos: (1,2), (1,3), (1,4), (1,5), (2,3), (2,4), (2,5),
(3,4), (3,5)
Conocimiento base: enlace(1,2), enlace(2,3),
enlace(3,4), enlace(3,5)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Regla inicial: camino(A,B) :Ejemplos positivos cubiertos: (1,2), (1,3), (1,4), (1,5), (2,3),
(2,4), (2,5), (3,4), (3,5)
Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),
(3,3), (4,1), (4,2), (4,3), (4,4), (4,5), (5,1), (5,2), (5,3), (5,4),
(5,5)
Posibles reglas y ganancia de las mismas
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
::::::::-
-2.630
5.503
2.897
-1.578
0.000
0.000
5.896
0.000
enlace(C,A)
enlace(A,C)
enlace(C,B)
enlace(B,C)
enlace(A,A)
enlace(B,A)
enlace(A,B)
enlace(B,B)
Regla extendida: camino(A,B) :- enlace(A,B)
No cubre ejemplos negativos
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Regla inicial: camino(A,B) :Ejemplos positivos cubiertos: (1,3), (1,4), (1,5), (2,4), (2,5)
Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),
(3,3), (4,1), (4,2), (4,3), (4,4), (4,5), (5,1), (5,2), (5,3), (5,4),
(5,5)
Posibles reglas y ganancia de las mismas
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
::::::::-
enlace(C,A)
enlace(A,C)
enlace(C,B)
enlace(B,C)
enlace(A,A)
enlace(B,A)
enlace(A,B)
enlace(B,B)
-2.034
2.925
1.962
-1.017
0.000
0.000
0.000
0.000
Regla extendida: camino(A,B) :- enlace(A,C)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Regla obtenida: camino(A,B) :- enlace(A,C)
Ejemplos positivos cubiertos: (1,3), (1,4), (1,5), (2,4), (2,5)
Ejemplos negativos cubiertos: (1,1), (2,1), (2,2), (3,1), (3,2),
(3,3)
Posibles reglas y ganancia de las mismas
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
:::::::::::-
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
Inteligencia Artificial II 2012–2013
camino(C,A)
camino(C,B)
camino(A,C)
camino(B,C)
camino(C,C)
enlace(D,A)
enlace(A,D)
enlace(D,B)
enlace(B,D)
enlace(D,C)
enlace(C,D)
0.000
7.427
0.000
0.000
0.000
-1.673
-2.573
2.427
-1.215
0.000
3.539
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Regla obtenida: camino(A,B) :- enlace(A,C)
Posibles reglas y ganancia de las mismas
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
camino(A,B)
:::::::::-
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,C),
enlace(A,A)
enlace(B,A)
enlace(C,A)
enlace(A,B)
enlace(B,B)
enlace(C,B)
enlace(A,C)
enlace(B,C)
enlace(C,C)
0.000
0.000
0.000
0.000
0.000
4.456
0.000
0.000
0.000
Regla extendida:
camino(A,B) :- enlace(A,C), camino(C,B)
No cubre ejemplos negativos
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Ejemplo de relación recursiva con FOIL
Grafo
4
1
2
3
5
Concepto aprendido:
camino(A,B) :- enlace(A,B)
camino(A,B) :- enlace(A,C), camino(C,B)
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Bibliografı́a
Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)
Cap. 3: “Decision tree learning”
Cap. 10: “Learning Sets of Rules”
Russell, S. y Norvig, P. Artificial Intelligence (A modern
approach) (Second edition) (Prentice Hall, 2003)
Cap. 18: “Learning from observations”
Cap. 19: “Knowledge in learning”
Russell, S. y Norvig, P. Inteligencia artificial (Un enfoque
moderno) (Tercera edición) (Pearson-Prentice Hall, 2010)
Witten, I.H. y Frank, E. Data mining (Second edition)
(Morgan Kaufmann Publishers, 2005)
Cap. 3, 4, 5 y 6.
Inteligencia Artificial II 2012–2013
Aprendizaje inductivo: árboles y reglas de decisión
Descargar