Algoritmo de cobertura

El algoritmo de cobertura es utilizado dentro del ámbito de la inteligencia artificial. Su uso se engloba en la búsqueda de reglas en él dado un conjunto de ejemplos de entrenamiento.

El objetivo del algoritmo de cobertura es la obtención de una regla de la forma: SI conjunción de pares <atributo, valor> ENTONCES atributo-objetivo = valor

Donde la conjunción de pares <atributo, valor> es de la forma:

atributo = valor

El algoritmo

editar
Aprendizaje-por-Cobertura(D, Atributo-objetivo, v)
  Hacer Reglas-aprendidas igual a vacío
  Hacer E igual a D
  Mientras E contenga ejemplos cuyo valor de Atributo-objetivo es v, hacer:
     Crear una regla R sin condiciones y conclusión Atributo-objetivo=v
     Mientras que haya en E ejemplos cubiertos por R incorrectamente
       y queden atributos que usar, hacer:
        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
        Actualizar R añadiendo la condición A=w a R
     Incluir R en Reglas-aprendidas
     Actualizar E quitando los ejemplos cubiertos por R
  Devolver Reglas-Aprendidas

El algoritmo se compone de dos bucles anidados. El bucle externo busca la obtención de reglas el valor del atributo objetivo pasado v. El bucle interno construye la conjunción de pares <atributo, valor> que contengan ejemplos con dicho valor de objetivo y así crear la regla. Como en una pasada del bucle interno pueden quedar ejemplos sin cubrir se deben crear nuevas reglas para dicho par atributo-objetivo = valor

La ausencia de una condición se suele representar con el símbolo ?

Elección de la MEJOR condición

editar

Para la elección de la mejor condición hay diversos métodos

  • Mayor frecuencia relativa en ejemplos en los que el atributo objetivo contiene v
  • Mayor ganancia de información por entropía: 

Donde p y t son los conjuntos de casos positivos y totales. Los p' y t' son los conjuntos positivos y totales que quedarán una vez añadida la condición.

Ejemplo

editar
Ej. Edad Diagnóstico Astigmatismo Lágrima Lente
E1 Joven Miope - Reducida Ninguna
E2 Joven Miope - Normal Blanda
E3 Joven Miope + Reducida Ninguna
E4 Joven Miope + Normal Rígida
E5 Joven Hipermétrope - Reducida Ninguna
E6 Joven Hipermétrope - Normal Blanda
E7 Joven Hipermétrope + Reducida Ninguna
E8 Joven Hipermétrope + Normal Rígida
E9 Pre-presbicia Miope - Reducida Ninguna
E10 Pre-presbicia Miope - Normal Blanda
E11 Pre-presbicia Miope + Reducida Ninguna
E12 Pre-presbicia Miope + Normal Rígida
E13 Pre-presbicia Hipermétrope - Reducida Ninguna
E14 Pre-presbicia Hipermétrope - Normal Blanda
E15 Pre-presbicia Hipermétrope + Reducida Ninguna
E16 Pre-presbicia Hipermétrope + Normal Ninguna
E17 Presbicia Miope - Reducida Ninguna
E18 Presbicia Miope - Normal Ninguna
E19 Presbicia Miope + Reducida Ninguna
E20 Presbicia Miope + Normal Rígida
E21 Presbicia Hipermétrope - Reducida Ninguna
E22 Presbicia Hipermétrope - Normal Blanda
E23 Presbicia Hipermétrope + Reducida Ninguna
E24 Presbicia Hipermétrope + Normal Ninguna

En la primera pasada de bucle externo para Lente = Rígida

Si ? Entonces Lente = Rígida

En la primera pasada del bucle interno la mejor frecuencia relativa hace escoger:

Si Astigmatismo = + Y ? Entonces Lente = Rígida

En la segunda pasada bucle interno la mejor frecuencia relativa hace escoger:

Si Astigmatismo = + Y Lágrima = Normal Y ? Entonces Lente = Rígida

Como la frecuencia relativa es 1 entonces se obtiene esta regla:

Si Astigmatismo = + Y Lágrima = Normal Entonces Lente = Rígida

Al haber casos de lente= Rígida cubiertos incorrectamente se procede a continuar la búsqueda de nuevas reglas eliminando los casos ya usados en el bucle externo.

Véase también

editar

Bibliografía

editar
  • Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)