Inżynieria Wiedzy i Systemy Ekspertowe Niepewność wiedzy dr inż. Michał Bereta Politechnika Krakowska http://torus.uck.pk.edu.pl/~beretam/ beretam@torus.uck.pk.edu.pl 1
Współczynniki pewności (ang. Certainty Factors cf) są alternatywą do wnioskowania w oparciu o twierdzenie Bayesa. Po raz pierwszy zostały wprowadzone w systemie ekspertowym MYCIN. Powody: eksperci nie wyrażali swojej wiedzy w matematycznie spójny sposób dane statystyczne nie były dostępne 2
Cf = 1.0 : całkowita wiara w daną regułę Cf = -1.0 : całkowita niewiara w daną regułę IF przesłanka THEN wniosek { cf } Wartość cf określa wiarę, że jeśli zaszła przesłanka to zaszedł również wniosek. 3
Wartość cf jest oparta na dwóch funkcjach: -MB(H,E) miara wiary (Measure of Belief) stopień wiary w H, za którym przemawia wystąpienie E. -MD(H,E) miara niewiary (Measure of Disbelief) stopień niewiary w H, za którym przemawia wystąpienie E. 4
MB(H,E) oraz MD(H,E) mogą być zdefiniowane za pomocą prawdopodobieństw a priori oraz warunkowych: MD oraz MB mają wartości w przedziale [0,1] 5
Wartość cf można obliczyć jako: 6
Przykład: Współczynniki pewności IF A = X THEN B=Y {cf = 0.7} B=Z {cf = 0.2} Współczynnik cf nie wyraża wartości procentowych, nie jest również wartością statystyczną. Współczynnik cf odzwierciedla wiarę eksperta w daną regułę. 7
Użycie cf w procesie wnioskowania. Należy określic cf dla wniosku danej reguły, znając cf samej reguły oraz stopień pewności przesłanki. cf(h,e) = cf(e) * cf Przykład: IF niebo jest czyste THEN prognoza jest słoneczna {cf = 0.8} oraz cf(niebo jest czyste) = 0.5 cf(slonecznie niebo czyste) = 0.5 * 0.8 = 0.4 8
W przypadku wielu przesłanek: IF E1 AND E2... AND En THEN H {cf} 9
W przypadku wielu przesłanek: IF E1 OR E2... OR En THEN H {cf} 10
W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie: IF A = X THEN C = Z {cf_1=0.8} IF B = Y THEN C = Z {cf_2=0.6} Zdrowy rozsądek podpowiada, że wiara w prawdziwość wniosku powinna wzrosnąć w stosunku do każdej pojedynczej reguły. 11
W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie: 12
W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie: Jeśli cf(e1) = 1.0 cf(e2) = 1.0 cf1(h,e1) = cf(e1) * cf1 = 1.0 * 0.8 = 0.8 cf2(h,e2) = cf(e2) * cf2 = 1.0 * 0.6 = 0.6 cf(cf1,cf2) = cf1 + cf2 * (1 cf1) = 0.8 + 0.6*(1-0.8)=0.92 13
W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie: Jeśli cf(e1) = 1.0 cf(e2) = -1.0 cf1(h,e1) = cf(e1) * cf1 = 1.0 * 0.8 = 0.8 cf2(h,e2) = cf(e2) * cf2 = 1.0 * 0.6 = -0.6 cf(cf1,cf2) = (0.8-0.6) / ( 1 - min[0.8,0.6] )=0.5 14
W przypadku, gdy dwie (lub więcej) reguł wnioskują o tej samej hipotezie: Jeśli cf(e1) = -1.0 cf(e2) = -1.0 cf1(h,e1) = cf(e1) * cf1 = 1.0 * 0.8 = -0.8 cf2(h,e2) = cf(e2) * cf2 = 1.0 * 0.6 = -0.6 cf(cf1,cf2) = cf1 + cf2 * (1 + cf1) = -0.8 0.6 * (1 0.8) = - 0.92 15
Przykład 3 Prognoza pogody Reguła 1 IF dziś deszcz THEN jutro deszcz {cf = 0.5} Reguła 2 IF dziś słońce THEN jutro słońce {cf = 0.5} Reguła 3 IF dziś deszcz AND opady niskie THEN jutro słońce {cf = 0.6} Reguła 4 IF dziś deszcz AND opady niskie AND temp. niska THEN jutro słońce { cf = 0.7} Reguła 5 IF dziś słońce AND temp. wysoka THEN jutro deszcz { cf = 0.65} Reguła 6 IF dziś słońce AND temp. wysoka AND niebo zachmurzone THEN jutro deszcz { cf = 0.55} 16
Przykład 3 Prognoza pogody Jaka dziś pogoda? Deszcz. Reguła 1: Reguła 1 IF dziś deszcz THEN jutro deszcz {cf = 0.5} cf(jutro deszcz, dzis deszcz) = cf(dzis deszcz) * cf = 1.0 * 0.5 = 0.5 Prognoza: jutro deszcz {0.5} 17
Przykład 3 Prognoza pogody Jakie opady? Niskie. Do jakiego stopnia uważasza je za niskie? [0,1] 0.8 Reguła 3 Reguła 3: IF dziś deszcz AND opady niskie THEN jutro słońce {cf = 0.6} cf(jutro słońce, dzis deszcz AND opady niskie) = min[ cf(dzis deszcz), cf(opady niskie) ] * cf = min[ 1.0, 0.8 ] * 0.6 = 0.48 Prognoza: jutro deszcz {0.5} jutro słońce {0.48} 18
Przykład 3 Prognoza pogody Jaka dziś temperatura? Niska. Do jakiego stopnia uważasza ją za niską? [0,1] 0.9 Reguła 4: IF dziś deszcz AND opady niskie AND temp. niska THEN jutro słońce { cf = 0.7} cf(jutro słońce, dzis deszcz AND opady niskie AND temp. niska) = min[ cf(dzis deszcz), cf(opady niskie), cf(temp. niska) ] * cf = min[ 1.0, 0.8, 0.9 ] * 0.7 = 0.56 Prognoza: jutro deszcz {0.50} jutro słońce {0.56} 19
Przykład 3 Prognoza pogody Ale uwaga! Reguła 3 oraz 4 miały tę samą konkluzję (słońce)! cf( cf_rule3, cf_rule4) = cf_rule3 + cf_rule4 * (1 cf_rule3) = 0.48 + 0.56 * (1 0.48 ) = 0.77 Ostateczna prognoza: jutro deszcz {0.50} jutro słońce {0.77} 20
Przykład 3 Prognoza pogody Inne reguły nie są odpalane! 21
Bayes vs. CF Wnioskowanie Bayesowskie polecane, gdy dostępne są dane statystyczne CF polecane, gdy prawdopodobieństwa nie są znane CF prostsze wnioskowanie Bayes trudności z szacowaniem prawdopodobieństw przez ekspertów Bayes złożoność wnioskowania rośnie ekspotencjalnie niepraktyczne dla dużych systemów 22