Requisito previo: Clasificador basado en reglas
Aprende una regla:
Este método se utiliza en el algoritmo de aprendizaje secuencial para aprender las reglas. Devuelve una sola regla que cubre al menos algunos ejemplos (como se muestra en la figura 1). Sin embargo, lo que lo hace realmente poderoso es su capacidad para crear relaciones entre los atributos dados, por lo tanto, cubre un espacio de hipótesis más grande.
For example: IF Mother(y, x) and Female(y), THEN Daughter(x, y). Here, any person can be associated with the variables x and y
Algoritmo de aprendizaje de una regla
El algoritmo Learn-One-Rule sigue un paradigma de búsqueda codicioso en el que busca las reglas con gran precisión pero su cobertura es muy baja. Clasifica todos los ejemplos positivos para una instancia particular. Devuelve una sola regla que cubre algunos ejemplos.
Learn-One-Rule(target_attribute, attributes, examples, k): Pos = positive examples Neg = negative examples best-hypothesis = the most general hypothesis candidate-hypothesis = {best-hypothesis} while candidate-hypothesis: //Generate the next more specific candidate-hypothesis constraints_list = all constraints in the form "attribute=value" new-candidate-hypothesis = all specializations of candidate- hypothesis by adding all-constraints remove all duplicates/inconsistent hypothesis from new-candidate-hypothesis. //Update best-hypothesis best_hypothesis = argmax(h∈CHs) Performance(h,examples,target_attribute) //Update candidate-hypothesis candidate-hypothesis = the k best from new-candidate-hypothesis according to Performance. prediction = most frequent value of target_attribute from examples that match best-hypothesis IF best_hypothesis: return prediction
Se trata de un método RENDIMIENTO que calcula el rendimiento de cada hipótesis candidata. (es decir, qué tan bien coincide la hipótesis con el conjunto dado de ejemplos en los datos de entrenamiento.
Performance(NewRule,h): h-examples = the set of rules that match h return (h-examples)
Comienza con la condición previa de la regla más general, luego agrega con avidez la variable que más mejora el rendimiento medido sobre los ejemplos de entrenamiento.
Ejemplo de aprender una regla
Entendamos el funcionamiento del algoritmo usando un ejemplo:
Día | Clima | Temperatura | Viento | Lluvia | Jugar badminton |
---|---|---|---|---|---|
D1 | Soleado | Caliente | Débil | Pesado | No |
D2 | Soleado | Caliente | Fuerte | Pesado | No |
D3 | Nublado | Caliente | Débil | Pesado | No |
D4 | Nevado | Frío | Débil | Luz | Sí |
D5 | Nevado | Frío | Débil | Luz | Sí |
D6 | Nevado | Frío | Fuerte | Luz | Sí |
D7 | Nublado | Templado | Fuerte | Pesado | No |
D8 | Soleado | Caliente | Débil | Luz | Sí |
Step 1 - best_hypothesis = IF h THEN PlayBadminton(x) = Yes Step 2 - candidate-hypothesis = {best-hypothesis} Step 3 - constraints_list = {Weather(x)=Sunny, Temp(x)=Hot, Wind(x)=Weak, ......} Step 4 - new-candidate-hypothesis = {IF Weather=Sunny THEN PlayBadminton=YES, IF Weather=Overcast THEN PlayBadminton=YES, ...} Step 5 - best-hypothesis = IF Weather=Sunny THEN PlayBadminton=YES Step 6 - candidate-hypothesis = {IF Weather=Sunny THEN PlayBadminton=YES, IF Weather=Sunny THEN PlayBadminton=YES...} Step 7 - Go to Step 2 and keep doing it till the best-hypothesis is obtained.
Puede consultar la figura 1 para comprender mejor cómo se obtiene la mejor hipótesis. [Paso 5 y 6]
El algoritmo de aprendizaje secuencial utiliza este algoritmo, lo mejora y aumenta la cobertura del espacio de hipótesis. Se puede modificar para aceptar un argumento que especifique el valor objetivo de interés.
Publicación traducida automáticamente
Artículo escrito por prakharr0y y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA