Tareas basadas en conocimiento.
Tarea de clasificación.
Jerarquía de tareas de Clancey Tarea de clasificación
Contenidos
1. Tipología de tareas: tareas genéricas de Clancey
2. Modelos y métodos de clasificación simbólica
1. Clasificación simple
2. Clasificación jerárquica
Tarea basada en conocimiento
Tarea basada en conocimiento ≠ Tarea de aplicación
Tarea basada en conocimiento: según naturaleza conocimiento empleado
Tarea de aplicación: problema a resolver
Tipología de tareas
Rango limitado de tipos de tareas
Se limita a tareas que hacen un uso intensivo del conocimiento
Objeto de estudio de las ciencias cognitivas/psicología
Existen numerosas propuestas
Propuesta de Clancey: tipología basada en la noción de sistema
Noción de “Sistema”
Término abstracto que describe aquello sobre lo que se aplica una tarea
diagnosis médica: cuerpo humano
diagnosis técnica: artefacto o dispositivo
configuración ascensores: ascensor a configurar
No necesita existir (aún)
Tareas analíticas/sintéticas
Tareas analíticas
El sistema ya existe
Entrada: datos sobre el sistema
Salida: alguna caracterización del sistema
Tareas sintéticas
El sistema aún no existe
Entrada: requisitos del sistema a construir
Salida: descripción del sistema
Subdivisión adicional
En función del tipo de problema
Tareas genéricas de Clancey
Tareas que hacen uso intensivo del conocimiento
Tarea Analítica
clasificación
evaluación
Tarea Sintética
diagnosis
monitorización predicción
modelado
planificación
scheduling asignación diseño
Tareas Analíticas
Tipo de
tarea Entrada Salida Conocimiento Características Análisis Observaciones
del sistema Caracterización
del sistema Modelo del sistema Se proporciona la descripción del sistema
Clasifi-
cación Propiedades
de objetos Clase Asociación
características-clases Conjunto de clases predefinidas
Diagnosis Síntomas,
quejas Categoría de
fallo Modelo de
comportamiento Distintos tipos de
salidas: cadena causal, estado, componente Evaluación Descripción
caso Clase de
decisión Criterios, normas Se realiza en un instante temporal Monito-
rización Datos del
sistema Clase de
discrepancia Comportamiento
normal del sistema Se realiza repetidamente Predicción Datos del
sistema Estado del
sistema Modelo de
comportamiento Proporciona una descripción del
Tareas basadas en conocimiento:
Encargo E4
Describir la tarea de evaluación (assesment)
Ejemplos de tareas de aplicación,
caracterización, tipo de conocimiento
Referencias: G. Schreiber H. Akkermans, A. Anjewierden, R. de Hoog, N. Shadbolt, W. Van de Velde, and B.
Wielinga. Knowledge Engineering and Management, The CommonKADS Methodology. The MIT Press. 1999.
Clasificación
La tarea de clasificación se caracteriza por seleccionar una clase
entre un conjunto finito –y habitualmente pequeño–
de posibles clases
conociendo las características de las clases
y las del objeto a clasificar
Ejemplos
la clasificación taxonómica de seres vivos en familias y especies
clasificación de objetos celestes a partir de imágenes de satélites
Interés clasificación
Rango:
Los problemas que se puedan solucionar sin necesidad de construir nuevas soluciones, sino eligiendo una entre un catálogo de posibles soluciones ya conocidas, son
susceptibles de ser abordadas como una tarea de clasificación.
Sencillez
tanto los modelos de clasificación como los métodos que los utilizan son
Modelos y
métodos de clasificación
Clasificación simple
Modelo conceptualmente sencillo
Ilustra naturaleza de la tarea
Clasificación jerárquica
Clasificación simple
Un modelo de clasificación por recubrimiento es una quíntupla <D, S, C+, C-, OBS>, siendo:
D, Espacio de Datos, un conjunto finito de datos {D1, D2,... ...,Dk}.
S, Espacio de Soluciones, un conjunto finito de soluciones {S1, S2,... ...Sm} o candidatos.
C+, C-, son Relaciones de Recubrimiento, C+⊂SxD, C-⊂SxD, con C+∩ C- =∅.
OBS el conjunto de valores que toman los datos Di de D.
Datos, observaciones y soluciones
Los elementos de D representan las observaciones que podemos realizar directamente sobre el sistema
valores en el conjunto {0, 1, ?}
indicando su ausencia, su presencia o la no disponibilidad de la observación.
Ejemplo,
Si Di representa el síntoma “fiebre” y observamos que el paciente no tiene fiebre, en el conjunto OBS
tendremos OBSi=0.
Los elementos de S, candidatos, representan posibles soluciones del problema, por ejemplo bronquitis o asma
Ejemplo MYCIN
if (1) the stain of the organism is gram-negative (2) the morphology of the organisms is coccus
(3) the growth configuration of the organism is chains then there is a suggestive evidence (0.7)
that the identity of the organisms is streptococcus
D={organism.stain=gram-negative,
organism.morphology=cocus, organism.growthconf=chains, …}
OBS={1, 1, ?, …}
S={organism.identity=streptococcus, organism.identity=staphylococci,… }
Ejemplo SM
D = {A=3, B=2, C=2, D=3, X=6, Y=6, F=12}
OBS={1, 1, 1, 1, ?, ?, 0}
S= {M1, M2, A1}
M1
M2
A1 X
Y A
B D
C F [10]
[3]
[2]
[2]
[3]
Relaciones de recubrimiento (I)
Elementos de C+ y C-
pares (Sj, Di) que representan condiciones necesarias para la consistencia de una
solución con un conjunto de observaciones
C+ y C- definen un patrón de
observaciones necesarias para la
consistencia de un candidato con los datos
Relaciones de recubrimiento (II)
Para cada par (Sj, Di) solo puede darse uno de los siguientes casos:
(Sj, Di) ∈ C+.
Sj es consistente con la observación OBSi =1
si OBSi =0, Sj no puede ser solución.
(Sj, Di) ∈ C-.
Sj es consistente con la observación OBSi =0
si OBSi =1, Sj no puede ser solución.
(Sj, Di)∉C+, (Sj, Di)∉C-.
Di es irrelevante para la solución Sj; (En cualquier otro caso, el dato Di es relevante para la solución Sj)
Consistencia
Un candidato, Sj, es consistente con un conjunto de observaciones OBS si y sólo si Sj es consistente con todas las observaciones disponibles; en caso
contrario, Sj es inconsistente.
Explicación
Un candidato, Sj, es una explicación
de OBS si y sólo si Sj es consistente con las observaciones de todos sus datos
relevantes.
Solución
El modelo de recubrimiento secuencial proporciona de forma explicita un
mecanismo para rechazar candidatos
los candidatos inconsistentes pueden eliminarse del conjunto de posibles soluciones
Solución del problema de clasificación
criterios adicionales, que pueden depender del dominio de aplicación
Representación gráfica
1
1
0
0
0
D1
D2
D3
D4
D5
OBS-1
1
1
0
?
1 OBS-2
e
r
r
r
r CAN-1
e
r
c
e
c CAN-2
S1
S2
S3
S4
S5
Elementos de C+
Elementos de C-
e: explicación
c: consistente r: rechazado
Ejemplo MYCIN
1
1
?
D1
D2
D3
D OBS-1
1
1
0 OBS-2
c CAN-1
r CAN-2
S1
S2
S3
. . S
. . .
. . .
. . .
if(1) the stain of the organism is gram- negative
(2) the morphology of the organisms is coccus (3) the growth configuration of the organism is chains
Then there is a suggestive evidence (0.7)that the identity of the organisms is streptococcus
D={organism.stain=gram-negative, organism.morphology=cocus,
organism.growthconf=chains, …}
OBS-1={1, 1, ?, …}
S={organism.identity=streptococcus, organism.identity=staphylococci,… }
Solución problema de
clasificación por recubrimiento
Candidatos simples, compuestos
Simples: elementos de S
Mutuamente excluyentes / No mutuamente excluyentes
Compuestos: combinación elementos de S
Explosión combinatoria
Posibles soluciones: 2|S|
Solución problema de
clasificación por recubrimiento
Criterio de inclusión
Consistencia
se incluyen todas las clases consistentes con algún dato observado.
Conservadora
se incluyen todas las soluciones consistentes, aunque no se disponga de ninguna de sus observaciones relevantes.
Explicación
solo se incluyen las soluciones que son explicaciones.
Completa
la solución ha de explicar todas las observaciones.
Por eliminación
sólo se acepta una solución cuando todas las demás han sido rechazadas.
Solución problema de
clasificación por recubrimiento
Preferencia de candidatos
Evidencia
preferir las soluciones consistentes con más datos.
Minimalidad
definir la solución como los subconjuntos minimales de las soluciones compuestas.
Ponderación
utilizar alguna función adicional para priorizar las hipótesis. Por ejemplo, probabilidad a priori, a posteriori o alguna medida de certeza.
Ejemplo SM
1
1
1
1
?
A=3
B=2
C=2
D=3
X=6 OBS-1
1
1
1
1
1 OBS-2
c
c
c CAN-1
r
c
c CAN-2
M1
M2
A1
Y=6
F=12
?
0
?
0 M1
M2
A1 X
Y A
B D
C F [10]
[3]
[2]
[2]
[3]
Soluciones
OBS-2
Criterio inclusión: consistencia
M2, A1
Candidatos simples, excluyentes: {[M2], [A1]}
Candidatos compuestos: {[M2], [A1], [M2, A1]}
Candidatos compuestos, minimales: {[M2], [A1]} ([M2, A1] también es solución, pero no se representa)
Clasificación simple mediante generación y prueba exhaustivas
El método se basa en tres suposiciones:
Todas las observaciones necesarias están disponibles al principio del proceso.
El espacio de soluciones, S, es
suficientemente pequeño para poder
considerar cada candidato individualmente.
Candidatos simples
Método de
generación y prueba exhaustivas
1. Soluciones ← ∅ 2. Obtener OBS
3. Para cada Candidato ∈ S hacer
4. Si Prueba(Candidato) Entonces Soluciones ← Soluciones ∪ Candidato 5. Fin Si
6. Fin Para
7. Devolver(Soluciones)
el procedimiento prueba rechaza los candidatos no consistentes con las observaciones actuales
Ejercicio: ejemplo SM, OBS-3=<1, 1, 1, 1, 1, 0, 0>.
Clasificación simple mediante generación guiada por datos
Mejora de la eficacia computacional generación y prueba exhaustivas
Utilizar conjunto reducido de observaciones para generar los candidatos
Probar la consistencia de los candidatos con las observaciones restantes
Introducir procedimientos
Monitor
Obtiene el valor de un conjunto reducido de observaciones (OBSdistinguidas) para las que existen candidatos consistentes.
Este conjunto de candidatos es mucho menor que el conjunto de posibles soluciones.
GenerarCandidatos
Genera eficientemente las soluciones que son consistentes con OBSdistinguidas
Clasificación simple mediante generación guiada por datos
El método se basa en las siguientes suposiciones:
Disponemos de procedimientos eficientes Monitor y GenerarCandidatos
Todas las observaciones necesarias están disponibles al principio del proceso.
Candidatos simples
Método de
generación guiada por datos
1. Soluciones ← ∅
2. OBSdistinguidas ← Monitor( ) 3. Si OBSdistinguidas ≠ ∅ Entonces 4. Obtener OBS
5. Candidatos ← GenerarCandidatos(OBSdistinguidas) 6. Para cada Candidato ∈ Candidatos hacer
7. Si Prueba(Candidato) Entonces Soluciones ← Soluciones ∪ Candidato
8. Fin Si 9. Fin Para 10. Fin Si
11. Devolver(Soluciones)
Ejemplo SM
D={A=3, B=2, C=2, D=3, X=6, Y=6, F=12}.
Se observan, A=[3], B=[2], C=[2], D=[3], X=[6], Y=[5], F=[10] que corresponden a OBS-3=<1, 1, 1, 1, 1, 0, 0>.
Monitor devuelve las observaciones de X, Y, F:
<1, 0, 0>
GenerarCandidatos devuelve {M2, A1}
Prueba rechaza A1
Solución: {M2}
SM, guiado por datos
A=3
B=2
C=2
D=3
X=6 OBS-3
1 Monitor
r
c
c
GenerarCandicados CAN-3
M1
M2
A1
Y=6
F=12 0
0 1
1
1
1
1
0
0
r
c
r
Clasificación jerárquica
También clasificación heurística
Variante clasificación simple
Modelo de recubrimiento
Jerarquía de abstracción de datos
Jerarquía de refinamiento de soluciones
Jerarquía
de abstracción de datos
Abstracción Cualitativa
“recuento leucocitario de 2500” se abstrae a
“recuento leucocitario bajo”
Abstracción por Definición
“recuento leucocitario bajo” se abstrae a
“Leucopenia”, pues así se define la Leucopenia
Abstracción por Generalización
“Leucopenia” se abstrae a “Inmunodepresión”, pues la Leucopenia es un tipo de inmunodepresión
Otras
Combinar dos sensores en un único dato…
Jerarquía de refinamiento de soluciones
Dotar al espacio de soluciones de estructura
Manipular clases de soluciones, que se van refinando
El modelo de recubrimiento no cambia:
Se hace explícita la jerarquía implícita en el modelo de recubrimiento
Añadiendo, si es necesario, clases abstractas
Modelo gráfico
clasificación jerárquica
AD5 AD4
D1
D2
D3
S1
Datos Abstractos
Soluciones Abstractas
AD1
AD2 AD3
S2
D4
S3
S4
S5
S6
S7
D5
D6
D7 AD6
Espacio de datos Espacio de soluciones
SUBTIPO Refinamiento SUBTIPO
Refinamiento SUBTIPO
Refinamiento
Enfermedades específicas Datos del paciente
Espacio de datos Espacio de soluciones
Abstracciones del paciente
Huésped Inmunocomprometido
Inmunodepresión
Leucopenia
Recuento Leucocitario bajo
GENERALIZACIÓN
DEFINICIÓN
CUALITATIVA GENERALIZACIÓN
CAUSA Clases de enfermedades
Bacteria que coloniza territorios no estériles
Abstracción
Bacteria que coloniza el tracto GI
Enterobacterias Equiparación
Ejemplo clasificación
jerárquica(I): MYCIN
Ejemplo clasificación jerárquica:
MYCIN
SI (1) se dispone de un análisis de sangre,
(2) el recuento leucocitario es menor que 2,500
ENTONCES (3) las siguientes bacterias podrían estar causando la infección: E. Coli (.75), Pseudonomas-aeuroginosis (.5),
Klebsiella-pneumoniae (.5).
Ejemplo
OBS:<1, ?, ?, ?, ?, ?, ?>
Consistente con todas las clases: S1 es consistente
OBS: <0, ?, ?, ?, ?, ?, ?>
Inconsistente con todas las clases: S1 es inconsistente
OBS: <1, 0, ?, ?, ?, ?, ?>
Inconsistente con S2 y sus sucesores
Consistente con S1, S3 y sus sucesores
Eliminación jerárquica
Eliminar candidatos sucesores de nodos inconsistentes
Condición necesaria
El conjunto de tuplas de las relaciones de recubrimiento de una subclase son una extensión de las tuplas de su clase padre:
si la tupla (Sj, Di) pertenece a C+ (C-), la tupla (Sk Di) ha de pertenecer a C+ (C-) para todo Sk hijo de Sj
Clasificación jerárquica y obtención de observaciones
Estrategia sencilla y efectiva de obtener nuevas observaciones
buscar aquellas observaciones que nos permiten
seguir refinando los candidatos consistentes de más alto nivel
Ejemplo
OBS:<1, 0, 1, ?, ?, ?, ?>
Consistentes S1 y S3
No necesitamos observaciones D4 y D5
Basta observar D y D para obtener la clasificación
Clasificación jerárquica mediante generación guiada por datos
Parte de conjunto reducido de observaciones obtenidas por Monitor
Abstrae las observaciones con Abstraer
Genera candidatos más abstractos con GenerarNuevosCandidatos
Solicita nuevas observaciones, Obtener, para refinar candidatos, hasta llegar a nodos
terminales
Si las nuevas observaciones son consistentes con candidatos abstractos no considerados, se
Clasificación jerárquica mediante generación guiada por datos
El método se basa en las siguientes suposiciones:
Disponemos de los procedimientos, Monitor, Obtener Abstraer y GenerarNuevosCandidatos
El espacio de datos se organiza jerárquicamente facilitando la abstracción de datos.
Las soluciones se organizan en una jerarquía de refinamiento que divide las clases de soluciones.
En cada nivel del espacio de soluciones existe un conjunto de datos que permite discriminar entre ellas. Es posible obtener dichos datos
Candidatos simples
Método de
generación guiada por datos
1. Soluciones ← ∅
2. OBSdistinguidas ← Monitor( ) 3. OBS ← Abstraer(OBSdistinguidas) 4. Si OBS ≠ ∅ Entonces
5. Mientras se puedan generar nuevos candidatos raíz hacer 6. Candidatos ← GenerarNuevosCandidatosRaiz(OBS)
7. Soluciones ← ProbarDiscriminar(Candidatos) ∪ Soluciones 8. Mientras sea posible refinar candidatos hacer
9. Soluciones ← Soluciones – {Candidato_a_refinar}
10. Candidatos ← hijos de Candidato_a_refinar en la jerarquía de soluciones
11. Soluciones ← PorbarDiscriminar(Candidatos) ∪ Soluciones 12. Fin Mientras
13. Fin Mientras
Obtener nuevas observaciones para discriminar entre candidatos
1. ProbarDiscriminar(Candidatos) 2. NuevasSoluciones ← ∅
3. Obtener OBSadicionales, observaciones necesarias para discriminar entre las hipótesis de Candidatos
4. NuevasObservaciones ← Abstraer(OBSadicionales) 5. OBS ← Nuevas observaciones ∪ OBS
6. Para cada Candidato ∈ Candidatos hacer
7. Si Prueba(Candidato) Entonces NuevasSoluciones ← NuevasSoluciones ∪ Candidato
8. Fin Si 9. Fin Para
10. Devolver(NuevasSoluciones)
Clasificación jerárquica y esquema genérico
Espacio de datos
Explícito
Generación de hipótesis
Prueba de hipótesis
Espacio de hipótesis
Explícito
Espacio de reparaciones
No se utiliza
Discriminación entre hipótesis
Detección de anomalías
Adaptación del esquema genérico: modelo del sistema
Modelo de clasificación por recubrimiento, <D, S, C+, C-, OBS>, junto a la jerarquía de
abstracción de datos y la jerarquía de refinamiento de las soluciones.
No representa de forma explícita ni la
estructura ni el comportamiento del sistema.
Solo se dispone de forma explícita de las
relaciones entre síntomas y fallos, dados por C+y C-.
Adaptación del esquema
genérico: espacios de búsqueda
Espacio de datos: D y se solapa con la
jerarquía de abstracción de datos del modelo del sistema.
Espacio de hipótesis: S y se solapa con la jerarquía de refinamiento de soluciones del modelo del sistema.
No se utiliza el espacio de reparaciones.
Adaptación del esquema
genérico: operaciones básicas
La monitorización es explícita
Generar hipótesis
soportada por GenerarNuevosCandidatosRaiz, obtiene los candidatos más abstractos que son consistentes con las observaciones actuales.
Prueba de hipótesis
soportada por el procedimiento prueba, se limita a utilizar las relaciones de recubrimiento del modelo de clasificación para eliminar los candidatos inconsistentes con las observaciones.
Discriminación de hipótesis
soportada por el procedimiento ProbarDiscriminar, que solicita las observaciones necesarias para discriminar entre las hipótesis del mismo nivel, utilizando a continuación el procedimiento prueba
Diseño e Implementación de un modelo de clasificación simbólica
Tradicionalmente
Sistema de producción
Sin formular explícitamente el modelo de recubrimiento
Distinguir
Nivel del conocimiento
Modelo del conocimiento independiente de la implementación
Nivel simbólico
Nivel del conocimiento y clasificación jerárquica
Descrito en el nivel del conocimiento
Conocimiento del dominio:
Modelo de clasificación por recubrimiento
Jerarquías de abstracción y refinamiento
Conocimiento estratégico
Métodos
Diseño e Implementación
Cualquiera, que respete especificaciones nivel del conocimiento
Sistemas de producción
El modelo de recubrimiento se representa fácilmente mediante reglas
Método: solo si el motor de inferencias es suficientemente flexible
Sistemas de producción en el análisis
Ejemplo de codificación
Fragmento de
modelo de recubrimiento
D1
D2
D3
S1
S2
S3
SI D1=1
ENTONCES S1 SI S1, D2=0 ENTONCES S2 SI S1, D3=1 ENTONCES S3 Codificación mediante reglas de producción
Herramientas
CLIPS
C, C++, dominio público clipsrules.sourceforge.net
Jess
Java, licencias comerciales, académicas www.jesrule.com
G2