Post on 15-Feb-2019
Carlos J. Alonso González
Departamento de Informática
Universidad de Valladolid
Inducción de Reglas Proposicionales
Reglas de clasificación
Inducción de reglas proposicionales 2
Contenido
1. Motivación
2. Reglas de Clasificación
1. Reglas de clasificación y tarea de aprendizaje
2. Obtención de reglas a partir de árboles de decisión
3. Métodos de recubrimiento secuencial
4. Comparación con árboles de decisión
Inducción de reglas proposicionales 3
1 Motivación
Sistemas de Producción: formalismo más popular de representación del conocimiento Interesa disponer de métodos de generación
automática de reglas
Una de las representaciones de hipótesis más “comprensible” para el ser humano De interés para comprender la naturaleza del
fenómeno
De interés en los procesos de toma de decisión
Métodos aplicables al aprendizaje de reglas de primer orden Aprendizaje de relaciones
Inducción de reglas proposicionales 4
2.1 Reglas de clasificación y tarea de aprendizaje
Descripción de instancias: pares atributo/valor
Reglas Si <antecedente>
Entonces <consecuente>
<antecedente> conjunción de restricciones atributo=valor
<consecuente> restricción valor de la clase
Inducción de reglas proposicionales 5
Descripción clase
Cada clase está descrita por un conjunto (disyunción) de reglas
Si ingresos=“0-2” Entonces riesgo=alto
Si ingresos=“2-5”, historia=desconocida, deuda=alta
Entonces riesgo=alto
Si ingresos=“2-5”, historia=mala
Entonces riesgo=alto
Inducción de reglas proposicionales 6
Espacio de hipótesis
Si clase de decisión binaria
La unión de los conjunto de reglas que describen cada valor representa una función booleana
Espacio de hipótesis:
Conjunto de todas las funciones booleanas (como en los árboles de decisión)
Tamaño espacio de hipótesis
Suponiendo atributos binarios
n atributos
|H|= 22n funciones booleanas distintas
Inducción de reglas proposicionales 7
Tarea inducción de reglas de clasificación
Dados
Descripción de Instancias, X, (atributos, valores)
Descripción de las Hipótesis, H (conjuntos de reglas de clasificación)
Concepto objetivo, c : X {0,1}
Ejemplos positivos y negativos, D, pares (<x, c(x)>)
Determinar
Hipótesis h de H / h(x) = c(x) para todo xde X
Inducción de reglas proposicionales 8
2.2 Obtención de reglas a partir de árboles de decisión
Dificultad de interpretación de árboles grandes
Cada nodo tiene un contexto específico
Resultados de los test de los nodos anteriores
La estructura del árbol puede fragmentar subconceptos
Alternativa: transformar el árbol en un conjunto de reglas
Inducción de reglas proposicionales 9
Ejemplo
4 atributos binarios: F, G, J, K
2 clases: +, -
Función booleana+ si (F=1 G=1) (J=1 K=1)
- otro caso
Conjunto de reglasSi F=1, G=1 Entonces Clase=+
Si J=1, K=1 Entonces Clase=+
Negación por fallo
Inducción de reglas proposicionales 10
Ejemplo
Árbol:F=0:
J=0: -J=1:
K=0: -K=1: +
F=1:G=1: +G=0:
J=0: -J=1:
K=0: -K=1: +
Inducción de reglas proposicionales 11
Generación de reglas a partir de árboles no podados
Método utilizado por C4.5
1. Obtención de reglas
2. Generalización de reglas
3. Agrupación de reglas en clases
4. Ordenación de grupos de reglas y clase por defecto
Inducción de reglas proposicionales 12
Obtención de reglas
Cada camino desde la raíz a un nodo hoja genera una regla: Antecedente: conjunción de test
Consecuente: clase nodo hoja
Ejemplo Si F=1, G=0, J=1, K=1 Entonces clase=+
El conjunto de reglas así obtenido: Clasifica cualquier ejemplo como el árbol
Es exhaustivo y mutuamente exclusivo (no importa el orden de las reglas)
No es mucho más simple que el árbol original (una regla por hoja)
Inducción de reglas proposicionales 13
Generalización
Definición satisfacer o cobertura Una regla cubre una instancia sii la instancia
satisface la regla
Operación de generalización Sean R1 y R2 reglas. R2 es más general que R1 sii
R2 se obtiene de R1 eliminando 1 ó más condiciones del antecedente de R1
Coherente con la def. de hipótesis más general
EjemploR1: Si F=1, G=0, J=1, K=1 Entonces clase=+
R2: Si J=1, K=1 Entonces clase=+
R2 es más general que R1 (¡y más interesante!)
Inducción de reglas proposicionales 14
¿Qué condición eliminar?
Sea R:
Si A Entonces Clase C
Sea R- una generalización de R:
Si A- Entonces Clase C
donde A- se obtiene eliminando una condición, X, de A
Las instancias que satisfacen la condición A-
pueden
Pertenecer o no a C
Satisfacer o no la condición X
Inducción de reglas proposicionales 15
Tabla de contingencia (I)
Tabla de contingencia para las instancias que satisfacen A-
Clase C Otra clase
Satisface condición X Y1 E1
No satisface condición X Y2 E2
Inducción de reglas proposicionales 16
Tabla de contingencia (II)
Instancias cubiertas por R Y1+E1, de las cuales E1 mal clasificadas
Instancias no cubiertas por R pero cubiertas por R-
Y2+E2, de las cuales E2 mal clasificadas
Instancias cubiertas por R-
Y1+Y2+E1+E2, de las cuales E1+E2 mal clasificadas
Clase C Otra clase
Satisface condición X
Y1 E1
No satisface condición X
Y2 E2
Inducción de reglas proposicionales 17
Criterio eliminar condición X
Estimación pesimista del error Extremo superior intervalo de confianza
Ufc(E, N) para el nivel de confianza fc
Estima de R: Ufc(E1, Y1+E1)
Estima de R-: Ufc(E1+E2,Y1+Y2+E1+E2)
Si estima R- <= estima de R, eliminar condición X
Inducción de reglas proposicionales 18
¿Cuánto generalizar?
Búsqueda voraz
Mientras (se pueda eliminar una condición) Hacer
Eliminar la condición que proporcione la menor estima del error
FinMientras
Las reglas con una tasa de error excesivo –según umbral- se eliminan
Inducción de reglas proposicionales 19
Árbol decisión Hipotiroides
Inducción de reglas proposicionales 20
Ejemplo hipotiroides
Si TSH > 6,FTI <= 64,TSH measured = t,T4U measured = t,thyroid surgery = t
Entonces Clase –
Cubre 3 ejemplos de entrenamiento, dos de ellos – Y1=2, E1=1
Límite superior U25%(1,3): 69%
Inducción de reglas proposicionales 21
Estimación error
Condición
Eliminada
Y1+Y2 E1+E2 Estimación pesimista error
TSH > 6 3 1 55%
FTI <= 64 6 1 34%
TSH measured = t 2 1 69%
T4U measured = t 2 1 69%
thyroid surgery = t 3 59 97%
Inducción de reglas proposicionales 22
Regla generalizada
Si TSH > 6,
TSH measured = t,
T4U measured = t,
thyroid surgery = t
Entonces Clase –
Cubre 7 ejemplos de entrenamiento, uno de ellos + Y1=6, E1=1
Límite superior U25%(1,7): 34%
Inducción de reglas proposicionales 23
Estimación error
Condición
Eliminada
Y1+Y2 E1+E2 Estimación pesimista error
TSH > 6 31 1 8%
TSH measured = t 6 1 34%
T4U measured = t 7 1 30%
thyroid surgery = t 44 179 82%
Inducción de reglas proposicionales 24
Regla resultante
Si thyroid surgery = t
Entonces Clase –
Cubre 35 ejemplos de entrenamiento, uno de ellos –
Y1=35, E1=1
Límite superior U25%(1,36): 7%
Inducción de reglas proposicionales 25
Agrupación de reglas en clases
Consecuencia del proceso de generalización:
Las reglas no son mutuamente excluyentes y el orden de disparo es significativo
Ejemplos de entrenamiento no cubiertos
Solución
Agrupar las reglas por clases y ordenar los grupos de reglas
mejora inteligibilidad
orden de las reglas en cada clase: irrelevante
Añadir clase por defecto
Inducción de reglas proposicionales 26
Falsos positivos, falsos negativos
Sea S un conjunto de reglas que describe una clase C
Falsos positivos: ejemplos de entrenamiento cubiertos por S que no pertenecen a C
Falsos negativos: ejemplos de entrenamiento de clase C no cubiertos por S
Inducción de reglas proposicionales 27
Ordenación grupos de reglas y clase por defecto
Ordenar los grupos de reglas por orden creciente de falsos positivos Motivación: utilizar primero los grupos que
comenten menos errores
Clase por defecto Necesaria, puede haber ejemplos no
cubiertos
Selección: clase con más ejemplos sin cubrir
Empate: clase más frecuente
Tasa error similar: 6% sobre 1258 casos prueba
J. R., Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, CA, 1993.
Inducción de reglas proposicionales 29
2.3 Métodos de recubrimiento secuencial
Método alternativo aprendizaje de reglas
“Separa y vencerás” frente a “divide y vencerás”
Método iterativo, cada iteración
Aprender regla que cubra algunas instancias
Eliminar del conjunto de entrenamiento los ejemplos cubiertos
Inducción de reglas proposicionales 30
Métodos de recubrimiento secuencial
Se articulan en torno a dos procedimientos
recubrimiento-secuencial: bucle externo, iterativo, responsable de ir separando ejemplos
aprender-regla: bucle interno, responsable de aprender una regla
Inducción de reglas proposicionales 31
Algoritmo básico de recubrimiento secuencial
PROCEDIMIENTO RecubrimientoSecuencial(Clases, Ejemplos, Atributos)
BEGIN
Reglas
Para cada clase C de Clases
BEGIN
E Ejemplos
Mientras (E contenga ejemplos de la clase C)
BEGIN
Regla AprenderRegla(C, E, Atributos)
Reglas Reglas Regla
E E - instancia de E cubiertas por Regla
END
END
Devolver(Reglas)
END
Inducción de reglas proposicionales 32
Algoritmo de recubrimiento secuencial
En cada iteración (clase)
Añade Regla, que ha de cubrir algún ejemplo de la clase C
Elimina los ejemplos cubiertos
Repite pasos anteriores hasta cubrir todos los ejemplos de la clase
Variantes
Según criterio de aceptación de reglas
Inducción de reglas proposicionales 33
Algoritmo básico aprendizaje de una regla
PROCEDIMIENTO AprenderRegla(Clase, Ejemplos, Atributos)BEGIN
Regla regla sin antecedente y con consecuente ClaseMientras (Regla cubre algún ejemplo negativo y Atributos )BEGIN
Restricciones Para cada atributo A no utilizado en Regla
Para cada valor v de ARestricciones Restricciones A=v
ENDENDRestricción mejor_restricción(Restricciones, Regla)añadir restricción al antecedente de Reglaeliminar el atributo de la restricción seleccionada de Atributos
ENDDevolver(Regla)
END
Inducción de reglas proposicionales 34
Algoritmo de aprendizaje de una regla
Búsqueda voraz
De lo general a lo específico
En cada iteración
Añade restricción a la regla
Hasta que no cubre ningún ejemplo de otra clase
Variantes
Criterio selección restricción
Dirección de búsqueda
Tipo de Búsqueda
Inducción de reglas proposicionales 35
Algoritmo AprenderRegla
Búsqueda voraz
De lo general a lo específico
¿Mejor restricción?
PRISM: precisión, p/t
p: nº total instancias cubiertas correctamente por nueva regla
t: nº total de instancias cubiertas nueva regla
FOIL: información, p (log2p/t – log2 P/T)
P, T regla antes de añadir restricción
Inducción de reglas proposicionales 36
PRISM
Uno de los algoritmos más simples de la familia
Bucle externo: RecubrimientoSecuencial (básico)
Bucle Interno: AprenderRegla (básico)
Criterio mejor restricción: precisión p/t p: nº total instancias cubiertas correctamente por nueva regla
t: nº total de instancias cubiertas nueva regla
J. Cendrowska (1987). "PRISM: An algorithm for inducing modular rules". International Journal of Man-Machine Studies. Vol.27, No.4, pp.349-370.
Inducción de reglas proposicionales 37
Ejemplo: lentes de contacto
contact-lenses.arff
Atributos: age {young,pre-presbyopic,presbyopic}
spectacle-prescrip {myope,hypermetrope}
astigmatism {no,si}
tear-prod-rate {reduced,normal}
Clase contact-lenses {hard, soft,none}
21 ejemplos
Inducción de reglas proposicionales 38
Primera regla
Si ? Encontes contact_lense=hard
9 posibilidades para ?:
Inducción de reglas proposicionales 39
Especializar, mejor restricción astigmatism=Si
Si astigmatism=si
Entonces contact_lense=hard
Instancias cubiertas:
Inducción de reglas proposicionales 40
Seguir especializando
Si astigmatism=si, ?
Entonces contact_lense=hard
7 posibilidades para ?:
Inducción de reglas proposicionales 41
Mejor restricción tear production rate=normal
Si astigmatism=si, tear production rate=normal
Entonces contact_lense=hard
Instancias cubiertas:
Inducción de reglas proposicionales 42
Seguir especializando
Si astigmatism=si, tear production rate=normal, ?
Entonces contact_lense=hard
5 posibilidades para ?:
Inducción de reglas proposicionales 43
Regla final
Si astigmatism=si,
tear production rate=normal,
spectacle prescription = myope
Entonces contact_lense=hard
Cubre 3 casos, para clase hard
No cubre: young, hypermetrope, si, normal, hard
Eliminar 3 casos cubiertos del conjunto de entrenamiento inicial y generar nueva regla
Inducción de reglas proposicionales 44
Reglas para clase hard
Si astigmatism=si,
tear production rate=normal,
spectacle prescription = myope
Entonces contact_lense=hard
Si age=young
astigmatism=si,
tear production rate=normal,
Entonces contact_lense=hard
Inducción de reglas proposicionales 45
Buscar reglas para clase soft
Considerar conjunto de ejemplos inicial
Aprender reglas que cubran todos los ejemplos de la clase
Repetir para clase none
En cada clase: orden de las reglas es indiferente
Entre clases: orden indiferente
Inducción de reglas proposicionales 46
Principales variantes
Criterio de aceptación de reglas
reglas perfectas (PRISM, FOIL), admitir error (CN2),…
Dirección búsqueda AprenderRegla
general a específico (PRISM, CN2, FOIL, PROGOL), específico a general (AQ, GOLEM)
Tipo de búsqueda AprenderRegla
voraz (PRISM, FOIL), haz (CN2), A* (PROGOL)
Criterio selección mejor restricción
Poda
Inducción de reglas proposicionales 47
Criterio selección mejor restricción (I)
Precisión, p/t p: nº total instancias cubiertas correctamente por
nueva regla
t: nº total de instancias cubiertas nueva regla
Favorece primero la generación de reglas que no cubren casos negativos, aunque cubran muy pocos casos primero casos más específico, luego más generales
Información, p (log2p/t – log2 P/T) P, T regla antes de añadir restricción
Favorece primero la generación de reglas que cubren muchos casos positivos primero reglas más generales, luego más específicas
Inducción de reglas proposicionales 48
Criterio selección mejor restricción (II)
precisión, p/t selecciona p=1 y t=1 frente a p=1000 y
t=1001
[p+(N-n)]/T n instancias negativas que cubre, N total de
instancias negativas, (N-n) instancias negativas que no cubre
selecciona p=2000 y n=1000 frente a p=1000 y n= 1
Ambas generan sobreajuste
Inducción de reglas proposicionales 49
Sobreajuste
Los métodos de recubrimiento secuencial tienden a generar conjuntos de reglas que describen lo mejor posible el conjunto de entrenamiento, por lo que tienden a sobreajustar los datos
Solución: simplificación de las reglas Prepoda
puede evitar la generación de buenas reglas
Poda mayor coste computacional, mejores resultados
Inducción de reglas proposicionales 50
Poda de reglas
Basados en el error entrenamiento y validación (reduced-error-
pruning)
métodos pesimistas
Estrategias incremental: se poda la regla nada más
crearla
global: se crea el conjunto de reglas, luego se poda
Inducción de reglas proposicionales 51
Entrenamiento y validación incremental
Incremental Reduced Error Pruning
Método de entrenamiento y validación
requiere separa el conjunto de datos en
T, conjuntos de entrenamiento, para crear reglas
V, conjunto de validación, para podar reglas
P, conjuntos para prueba (estimación del error)
Al ser incremental, T y V se pueden seleccionar tras cada poda (P no)
Inducción de reglas proposicionales 52
IREP: Incremental Reduced Error Pruning
1. E conjuntos de entrenamiento y validación
2. Reglas
3. MIENTRAS( condición de terminación) REPETIR1. Dividir E en T y V
2. Para cada clase C para las que T y V tienen al menos un ejemplo1. R AprenderRegla(C, T, Atributos)
2. calcula la valía W(R) de la regla sin podar y de la regla sin la última restricción W(R-)
3. si W(R-) > W(R) podar la regla y repetir paso anterior
3. Regla regla que maximice W(R), de todas las reglas de todas las clases
4. Eliminar de E las instancias cubiertas por Regla
5. Reglas Reglas Regla
Inducción de reglas proposicionales 53
Comportamiento IREP
En cada iteración crea una regla podada por clase, seleccionando la mejor y descartando el resto
Condición Terminación
E = (siempre)
precisión de las reglas
ninguna condición simple es totalmente satisfactoria
Valía de las reglas, W
ninguna medida simple es totalmente satisfactoria
Inducción de reglas proposicionales 54
Medidas utilizadas en IREP
precisión, p/t
selecciona p=1 y t=1 frente a p=1000 y t=1001
[p+(N-n)]/T
n instancias negativas que cubre, N total de instancias negativas, (N-n) instancias negativas que no cubre
selecciona p=2000 y n=1000 frente a p=1000 y n= 1
no hay una forma simple e intuitiva de medir la valía de una regla: hay que recurrir a MDL (Minimum description length)
Inducción de reglas proposicionales 55
Optimización Global: RIPPERRepeated Incremental Pruning to Produce Error Reduction
Se procesan las clases en orden creciente de tamaño
Inicialmente, se crean los conjuntos de reglas para cada clase utilizando IREP, añadiendo criterios de parada: MDL y error DL: bits necesarios para codificar reglas + excepciones
Una vez generadas todas las reglas, cada regla individual es reconsiderada frente generalización de la regla
regla nueva
se selecciona la regla según MDL
Finalmente, eliminar reglas –voraz- minimizando DL
Inducción de reglas proposicionales 56
Intentar primero los métodos más simples: 1R
Aprende un árbol de profundidad 1, con una rama para cada par atributo-valor, representado en forma de reglas
1. Generar una regla para cada par atributo-valor. Consecuente: clase mayoritaria (para ese valor)
2. Agrupar reglas por atributos
3. Evaluar error resubstitución de cada grupo
4. Elegir el grupo con menor error
Inducción de reglas proposicionales 57
1R
Presentado por Robert C. Holte en 1993
Resultados no mucho peores que métodos más complejos para algunos conjuntos de datos
No descartar métodos simples Pueden funcionar bien
Aportan información sobre la estructura de los datos
Inducción de reglas proposicionales 58
2.4 Reglas de clasificación frente a Árboles de decisión
Comportamiento similar
Tasas de error
Sobreajuste
Diferencia
Comprensibilidad de la descripción de las clases