b. ross cosc 4f79 1 uncertainty knowledge can have uncertainty associated with it - knowledge base:...
TRANSCRIPT
B. Ross Cosc 4f79 1
Uncertainty
• Knowledge can have uncertainty associated with it
- Knowledge base: rule premises, rule conclusions - User input: uncertain, unknown, partial truths
• Much expert system research in inventing new methods to denote uncertainty, and reason about it.
eg. IF dog_barks THEN dog_bites CF 80 : 80 means this conclusion most likely
holds with a ‘strength’ of 80
eg. Indicate intensity of pain (0-10): ___ : user gives a numeric value which will be associated with value "pain"
• Three example techniques
1. Bayesian probability
2. Fuzzy logic
3. MYCIN certainty factors
B. Ross Cosc 4f79 2
1. Bayesian
• Use the exact mathematics of probability theory to handle uncertain information
• Bayes’s formula: determine the probability of an earlier event given that a later one occurred
• p(H | E) = P(H) * P (E | H)
P(E)
where P(H | E) = prob. H is true given evidence E
P(H ) = prob. H is true
P(E | H) = prob of seeing E when H is true
P(E) = prob. E is true
• This matches with rule: IF E THEN H
B. Ross Cosc 4f79 3
1. Bayesian
• Advantages:
– statistically sound formula
• Disadvantages / Requirements
– probabilities of events must be available and known• often not possible for many problems
– must update probabilities in system
– sum of probabilities for a rule must equal 1• experts often don’t think this way!
– conditional independence: events in Bayes’ formula are independent• but this might not be so in many cases
– user input: is not always “probabilistic”, but is arbitrary
B. Ross Cosc 4f79 4
2. Fuzzy Logic
• Fuzzy logic: a branch of logic in which there are degrees of membership within sets, rather than strictly true and false membership
• introduces uncertainty as consequence of user's uncertain input• permit partial truths to be denoted• --> language is subjective, eg. tall, cold, tiny, important,...• eg. instead of tall(bob) being True or False, it can be True fv 80
• fuzzy operators map language concepts: let X and Y be fv’s (between 0 and 1)
X and Y - new_fv = min(X,Y) : intersection
X or Y - new_fv = max(X,Y) : union
not X - new_fv = 1 - X : negation
very X - new_fv = X * X : concentration
somewhat X - new_fv = X^0.5 : dilation
indeed X - new_fv = 2 * X*X (for O <= X <= .5)
= 1 - 2((1 - X)^2 ) for X > .5 : intensification
B. Ross Cosc 4f79 5
2. Fuzzy
Example: IF noisy_disk fv X
AND bad_formatting fv Y
THEN defective disk fv 0.90
then let X=.9, Y=.3 then combined premise fv = 0.3 (minimum)
- confidence of rule as whole is .9 * .3 = 0.27
• Advantages:
– gives intuitively appealing results
– can account for many ambiguous types of concepts
• Disadvantages
– doesn't consider amount of supporting evidence: lots of separate evidence that backs up an inference doesn’t mean that inference is more likely
B. Ross Cosc 4f79 6
Bayes vs Fuzzy
• (see “Fuzzy Systems - a Tutorial” by J.F. Brule’ on web)
let t(X) =“X is tall”, s(Y)=“Y is smart”
let t(bob) = .90 and s(bob) = .90
• Bayes: t(bob) * s(bob) = .90*.90 = .81
– ie. if Bob is very tall, and Bob is very smart, then Bob is quite tall and smart
• Fuzzy: min(t(bob), s(bob)) = .90
– ie. if Bob is very tall, and Bob is very smart, then Bob is very tall and smart
• Hence fuzzy approach is more intuitive in this case; Bayes combinations are always reduced in overall strength for all values < 1.0
B. Ross Cosc 4f79 7
3. MYCIN confidence factors
• Certainty theory: a model of uncertain information used in the MYCIN expert system (Shortliffe and Buchanan 1975… free online!)
•uses: - scale for confidence factors, eg. -100 <--> 100 - threshold “d” (eg. 20) - premise and conclusion cf's - user input cf's - formulae for firing rules and combining results
• IF e1 AND e2 AND e3 THEN f1 CF w
- combining premises: minimum: e = min( cf(e1), cf(e2), cf(e3) )
- e must be > threshold for rule to fire; if so...
- inferring cf for result: (multiply) w * e
B. Ross Cosc 4f79 8
3. Uncertainty
• incrementally acquired evidence: combine belief and disbelief values of facts established by different rules
cf(cf1, cf2) = cf1 + cf2*(100-cf1)/100 : both > 0
= 100*(cf1 + cf2) / (100 - min(|cf1|, |cf2|)) : one < 0
= - cf (-cf1, -cf2) : both < 0
• net effect: the more that a fact is established as true, the higher the overall cf will be
• likewise, if negative results for a fact are obtained, it will bring down the overall cf
---> amount of evidence is accounted for
B. Ross Cosc 4f79 9
MYCIN
rules
B. Ross Cosc 4f79 10
MYCIN• premises, conclusions, and user input have uncertainty factors (CF's)• formulae are used to combine CF's during the inference process• the intension is that resulting CF's for the inference faithfully reflect the uncertainty inherent in the KB and user input
• eg. MYCIN: Let range be -100 (totally invalid) ≤ CF ≤ 100 (totally certain) cutoff d = 20
Consider: If lives_in_water CF A and has_gills CF B then is_a_fish CF 75.
1.if A=15 and B=30 then premise CF = min(15,30) = 15 < d therefore rule not used.
2. if A = -100 and B = 90 then premise CF = -100 < d therefore rule not used
3. if A=90 and B=90 then premise CF = 90 and conclusion CF = 67.5
--> assert: fact(is_a_fish CF 67.5).
B. Ross Cosc 4f79 11
MYCIN
• In addition, if a fact is determined a number of times, then the CF's for these multiple instances are combined to yield an overall CF
eg. Given: fact(is_a_fish CF 75). (*)
and you determine: fact(is_a_fish CF 40).
Then we get:
75 + 40 - (75x40)/100 = 85
----> replace (*) with: fact(is_a_fish CF 85).
B. Ross Cosc 4f79 12
MYCIN implementation
3.2
B. Ross Cosc 4f79 13
Summary• the nature of expert knowledge means that knowledge is often uncertain
• certainty factors are controversial: they aren't provably correct!
• cf's are arbitrary values; only meaning they have is relative to one another in an application (and that can be pretty arbitrary also)
• cf's can add confusion if the expert doesn't think in terms of them
• Alternative approach: explicitly model uncertain knowledge should it be relevant
eg. values: dog_bites, dog_may_bite, dog_behavior_uncertain,...
then the rules might be: IF dog_barks THEN dog_may_possibly_bite
IF dog_stares AND dog_snarls THEN dog_will_probably_bite
IF dog_lunges THEN dog_bites