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

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

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

Ej. Edad Diagnóstico Astigmatismo Lágrima Lente
E1JovenMiope-Reducida Ninguna
E2JovenMiope-NormalBlanda
E3JovenMiope+Reducida Ninguna
E4JovenMiope+NormalRígida
E5JovenHipermétrope-Reducida Ninguna
E6JovenHipermétrope-Normal Blanda
E7JovenHipermétrope+Reducida Ninguna
E8JovenHipermétrope+Normal Rígida
E9Pre-presbiciaMiope-Reducida Ninguna
E10Pre-presbiciaMiope-Normal Blanda
E11Pre-presbiciaMiope+Reducida Ninguna
E12Pre-presbiciaMiope+Normal Rígida
E13Pre-presbiciaHipermétrope -ReducidaNinguna
E14Pre-presbiciaHipermétrope -NormalBlanda
E15Pre-presbiciaHipermétrope +ReducidaNinguna
E16Pre-presbiciaHipermétrope +NormalNinguna
E17PresbiciaMiope-Reducida Ninguna
E18PresbiciaMiope-Normal Ninguna
E19PresbiciaMiope+Reducida Ninguna
E20PresbiciaMiope+Normal Rígida
E21PresbiciaHipermétrope-Reducida Ninguna
E22PresbiciaHipermétrope-Normal Blanda
E23PresbiciaHipermétrope+Reducida Ninguna
E24PresbiciaHipermé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

Bibliografía

  • Mitchell, T.M. Machine Learning (McGraw-Hill, 1997)
Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.