College Kennissystemen

advertisement
AI Kaleidoscoop
College 6:
• Deel 1:Expert systemen
• Deel 2: Onzekerheid in redeneren
Leeswijzer: 8.0-7.1 + 5.2 + 9.2.1
AI6
1
Deel II: Redeneren met onzekerheid
• Onzekerheid is aanwezig in alle KBS systemen
• Bronnen van onzekerheid:
Kennis
– incomplete domein theorie (geneeskunde)
– foute domein theorie (geneeskunde)
– vage begrippen (psychiatrie)
– complete theorie wel beschikbaar maar
te duur of te inefficient (ramp-alarm systeem)
Data
– Data zijn niet precies bekend
(meetinstrumenten)
– Data zijn helemaal niet bekend
(te duur of onmogelijk om te meten)
AI6
2
Redeneren met onzekerheid
• Zeer veel verschillende formalismen
beschikbaar:
– waarschijnlijkheidstheory (Bayes’ rule)
– certainty factors (MYCIN)
– fuzzy logic
– possibility theory (Zadeh)
– evidence theory (Dempster/Schaefer)
– plausability theory
– incidence calculus (Bundy)
• Sommigen zijn wiskundig incorrect,
anderen zijn duur om te berekenen
• Keuze hangt af van toepassing....
AI6
3
Waarschijnlijkheidstheorie
• Elke primitieve gebeurtenis A heeft een
waarschijnlijkheid p(A)
• Combinatie regels voor waarschijnlijkheid van
samengestelde gebeurtenissen:
p( A  B )  p( A )  p( B )
p( A  B )  p( A )  p( B )  p( A  B )
p( A )  1  p( A )
Voor onafhankelijk gebeurtenissen A en B!!
AI6
4
Afhankelijke gebeurtenissen:
• A = kruis, p(A)=0.5
B = munt, p(B)=0.5
0
p( A  B)  p( A )  p( B)  0.25
p( A  B)  p( A )  p( B)  p( A  B)  0.75
• Regel van Bayes:
1
p(B) = kans dat B gebeurt,
onafhankelijk van andere gebeurtenissen
p(B|A) = kans dat B gebeurt, gegeven dat A gebeurt
(= conditionele kans)
AI6
p( B  A ) p(A|B)  p(B)
p( B| A ) 

p( A )
p(A)
5
Regel van Bayes (Vb)
p( h  b )
Wil weten p( hartinfarct| borstpijn) =
p(b)
Maar p(h b) is meestal onbekend
Regel van Bayes:
p( b| h )  p( h )
p( h| b ) 
p( b )
en p(b|h) is wel bekend
AI6
6
Problemen met regel van Bayes
• Vereist alle paren van conditionele kansen
• Voorbeeld:
– medisch specialist kent  2000 ziekten
– 1-ziekte diagnose: 1 miljoen getallen
– 5-ziekte diagnose: 1030 getallen !!
• Oplossing:
– neem aan dat alle symptomen onafhankelijk zijn
Maar: meestal niet waar
– verdeel symptomen in groepen, met
onafhankelijkheid tussen de groepen.
Vb: mechanische problemen +
electrische problemen
AI6 Maar: soms moeilijk (vb: geneeskunde)
7
Zekerheids-factoren (MYCIN)
• -1  CF  1
CF = 1 : zeker waar
CF = -1: zeker onwaar
CF = 0 : weet niet
• Elke gebeurtenis krijgt een CF
• Combinatie-regels voor complexe
gebeurtenissen:
CF( A  B)  min{CF( A ), CF( B)}
CF( A  B)  max{CF( A ), CF( B)}
AI6
8
Zekerheidsfactoren met regels:
• Geef een CF aan elke regel:
IF
cond1 AND
cond2 AND
cond3
THEN concl (with CF=0.8)
• CF(conclusie)=CF(conditie)  CF(regel)
• Voorbeeld: CF(cond1)=1.0
CF(cond2)=0.7
CF(cond3)=0.6
Dan: CF(concl)=min{1.0, 0.7, 0.6}  0.8 = 0.48
AI6
9
Zekerheidsfactoren met regels (2)
Wat te doen bij meerdere regels met zelfde conclusie?
Vb: R1 en R2 concluderen beiden C
Bereken CF met regel R1: CF1(C)=X
 Bereken CF met regel R2: CF2(C)=Y
 Combineer:
als X,Y>0
 X+Y-XY
 X+Y+XY
als X,Y<0
CF( C )  
XY

 1  min(| X|,| Y| )
AI6
anders
10
Problemen met Certainty Factors
• Geen wiskundig correct model
(strijdig met waarschijnlijkheidsleer)
• Uitkomst kan afhangen van de volgorde
• Getallen moeilijk van menselijke experts te krijgen
• Is alleen korrekt voor korte redeneer-ketens
AI6
11
Historische ontwikkeling in AI
• Jaren ‘60: Zoek-systemen
– Weinig kennis
– Algemene zoekmethoden
• Jaren ‘70: Kennis systemen (“Expert systems”)
– Systemen met veel kennis over
• gespecialiseerde domeinen
• gespecialiseerde taken
AI6
12
Stappen in KBS ontwikkeling (1)
Probleem Identificatie
Kennis Conceptualisatie
Kennis Formalisatie
Implementatie
Validatie & Testen
AI6
13
Stappen in KBS ontwikkeling (2)
• Probleem identificatie
– vastleggen van functionaliteit
– gebruik interviews, boeken
Conceptueel model
• Conceptualisatie
– begrippen-lijsten
– verschillende typen kennis
– structuur van kennis
– relaties tussen begrippen
– redeneervormen
• Formalisatie
– Logische analyse
• Implementatie
AI6 – Keuze van representatie taal
14
Rol van conceptueel model
• abstract model van kennis
niet precies genoeg voor computer
wel begrijpelijk voor domein expert
conceptueel
model
Expertise
Code
IF ....
THEN...
IF ...
THEN ...
AI6
15
Architectuur voor KBS
knowledge-base
editor
User
Interface:
• menus
• commands
• graphics
AI6
Inference
Engine
explanation
system
Knowledge
Base
16
Architectuur voor KBS (2)
knowledge-base
editor
User
Interface:
• menus
• commands
• graphics
Inference
Engine
Knowledge
Base
explanation
system
Scheiding van kennis & inferentie:
• Hergebruik zelfde kennis voor andere inferenties
(auto’s repareren of auto’s ontwerpen)
• Hergebruik zelfde inferenties met andere kennis
(auto’s repareren of schepen repareren)
AI6
17
Kennissysteem Vb: MYCIN
• Domein: Infectie ziekten
• Taak:
– Beslis of de patient een infectie heeft
– Bepaal het infectie organisme
– Bepaal toepasbare medicijnen
– Kies meest geschikte medicijnen
• Motivatie:
– Medische procedures zijn duur
– Medische kennis groeit snel
– Medische kennis is slecht geografisch verspreid
– Medische experts zijn druk bezet
AI6
18
Kennissysteem Vb: MYCIN
• Productie-regels:
Conditie: (AND
(= gram GRAMNEGATIVE)
(= morphology ROD)
(= aerobic
YES))
Actie: (CONCLUDE class ENTEROBACTERIA)
• Uitleg:
ALS (1) De stam is gramnegatief, en
(2) de bacterie is staafvorming, en
(3) de bacterie gebruikt zuurstof
DAN Is er aanwijzing voor een bacterie van
de classe ENTEROBACTERIA
AI6
19
Vb van Complexiteit van MYCIN: parameters(1)
(AND
(= gram GRAMNEGATIVE)
(= morphology ROD)
(= aerobic
YES))
• Drie typen parameters:
– Binair: ja/nee
“Heeft de patient brandwonden?”
– Enkelwaardig:
grote verzameling uitsluitende waarden
“Wat is de leeftijd van de patient?”
– Meerwaardig:
grote verzameling niet uitsluitende waarden
“Wat zijn de symptomen?”
AI6
20
MYCIN, parameters (2): attributen per parameter
Verwachte waarde: leeftijd  [0,100]
Vraag-tekst: “wat is de leeftijd van de patient?”
Presentatie-tekst: “De leeftijd van de patient is”
Labdata:
meten in test, of afleiden door redeneren.
• Gebruiks-regels:
alle regels die de parameter in conditie noemen
• Afleidings-regels:
alle regels die de parameter in conclusie noemen
• Uitsluiting: niet vragen in bepaalde
omstandigheden: zwangerschap van mannen
•
•
•
•
AI6
21
MYCIN: uitleg faciliteiten
• WAAROM vragen:
“Waarom wil het systeem deze parameter weten?”
• HOE vragen:
“Hoe gaat het systeem deze parameter bepalen?”
Implementatie van uitlegfaciliteiten:
• Onthoud zoekboom van regels
• WAAROM vragen:
– Zoek omhoog in de boom
waarom je dit wilt weten
• HOE vragen:
– Zoek omlaag in de boom
hoe je dit kunt gaan bepalen
AI6
goal
data
22
Hoe goed is MYCIN?
• Ongeveer 200 regels
• Consultatie-sessie: 20 minuten
• Kwaliteit van diagnose:
– test-gevallen door MYCIN
– test-gevallen door experts (op papier)
– beide antwoorden beoordeeld door andere
expert (blind)
MYCIN Arts 1 Arts 2 Arts 3 Arts 4
65
Score:
(max = 100)
AI6
62
60
60
58
23
Toepassingen van Kennissystemen
•
•
•
•
•
•
•
•
•
zelf-diagnose van auto’s
verzekerings acceptatie
credit-card fraude-detectie
toepassen van sociale wetgeving
ontwerpen van gebitsprothesen
waterkracht centrales in Nepal
gezondheidszorg in Zuid-Afrika
beheren van kankerbehandelingen
toekennen van strafmaat
AI6
24
Volgende keer
Hoofdstuk 6.0-6.3
AI6
25
Download