samenvatting van de les (pdf)
samenvatting van de les (pdf)
samenvatting van de les (pdf)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Samenvatting: Artificiële Intelligentie<br />
Door: Bert Vingerhoets<br />
Kenny Moens<br />
Yves Vandriessche<br />
Edwin De Roock<br />
Wim Moons<br />
Wouter Lievens<br />
14/11/2002<br />
Waarschijnlijkheid en Re<strong>de</strong>neren met Waarschijnlijkheid<br />
Deze <strong>les</strong>s volgt hoofdstuk 14 en 15 uit Artificial Intelligence: a mo<strong>de</strong>rn approach.<br />
Inleiding<br />
In een complexe wereld als onze realiteit kan je bijna niets met zekerheid stellen. Zelfs als je een<br />
zeer accurate berekening maakt omtrent iets - bijvoorbeeld een planning om op een bepaald uur<br />
ergens aan te komen, waarin je een ruime marge neemt – kan er altijd iets onverwachts gebeuren.<br />
Je kan pech met het vervoer hebben (autopech, trein gemist) of er kunnen an<strong>de</strong>re factoren<br />
meespelen die, zij het min<strong>de</strong>r waarschijnlijk (een komeetinslag of een plotse hartaanval), evengoed<br />
bijdragen tot <strong>de</strong> onzekerheid omtrent <strong>de</strong> uit te voeren actie. Ook fouten op <strong>de</strong> metingen (ruis,<br />
parallax, …) dragen hiertoe bij. De logica zoals wij ze hiervoor gehanteerd hebben, volstaat<br />
hiervoor niet. De onzekerheid kan numeriek voorgesteld wor<strong>de</strong>n, door gebruik te maken <strong>van</strong> <strong>de</strong><br />
kansrekening.<br />
Omgaan met onzekerheid<br />
Je kan uitdrukkingen “wegen” met een getal, dat toelaat <strong>de</strong> waarschijnlijkheid <strong>van</strong> die uitdrukking<br />
te vergelijken met an<strong>de</strong>re waar<strong>de</strong>n.<br />
Voorbeel<strong>de</strong>n: Sproeien 0.99 gras_nat, gras_nat 0.7 regen<br />
Dit volstaat helaas niet, <strong>de</strong> bovenstaan<strong>de</strong> zinnen zou<strong>de</strong>n je laten conclu<strong>de</strong>ren dat een sproeier<br />
regen veroorzaakt. Het combineren <strong>van</strong> <strong>de</strong>ze zinnen is dus niet eenvoudig.<br />
Waarschijnlijkheid<br />
Axioma’s:<br />
• Een waarschijnlijkheid is een maat voor onzekerheid voorgesteld als een getal uit het<br />
continue interval [0,1]. De waarschijnlijkheid <strong>van</strong> een zin wordt uitgedrukt als P(x).<br />
• Als P(X) = 0 dan is X zeker onwaar.<br />
• Als P(X) = 1 dan is X zeker waar.<br />
• Onconditionele waarschijnlijkheid (= a priori):<br />
P(het regent morgen) = 0.85.<br />
• Conditionele waarschijnlijkheid (= post priori):<br />
P(het regent hier morgen|hier is Belgïe) = 0.9999999999.<br />
Lees dit als: “<strong>de</strong> waarschijnlijkheid <strong>van</strong> ‘het regent hier morgen’ als ‘hier is Belgïe’”.
Utlity Theory<br />
Ver<strong>de</strong>r heb je ook nog een Utility Theory nodig die uitlegt hoe beslissingen dienen genomen te<br />
wor<strong>de</strong>n. Een Utility Theory kent waar<strong>de</strong>n toe aan acties, zodat zij on<strong>de</strong>rling vergeleken kunnen<br />
wor<strong>de</strong>n en een beslissing gemaakt kan wor<strong>de</strong>n.<br />
Stel: Je wint € 1,000,000. Bij het opgooien <strong>van</strong> een (eerlijk) muntje kan beslist wor<strong>de</strong>n of je het<br />
drievoud, of niets krijgt. Als je dit probleem met <strong>de</strong> kansrekening oplost krijg je het volgen<strong>de</strong><br />
antwoord:<br />
E[x] = P(munt) x € 0 + P(kop) x € 3,000,000 = € 1,500,000<br />
1,500,000 > 1,000,000 JA<br />
De meeste mensen zou<strong>de</strong>n dit aanbod echter afslaan. Waarom?<br />
• Verwachtingswaar<strong>de</strong>n uit <strong>de</strong> kansrekening gaan er <strong>van</strong> uit dat je oneindig veel<br />
“experimenten” doet, terwijl je hier maar één maal mag proberen.<br />
• De meeste mensen stellen zich met een enorme som als 1 miljoen Euro tevre<strong>de</strong>n. De<br />
verhouding Geld/Geluk volgt een logaritmische trend: eens je heel veel geld hebt, maakt<br />
een hoop extra geld niet veel uit, omdat je toch al genoeg hebt om aan al je wensen te<br />
voldoen.<br />
Axioma’s en regels:<br />
• 0 ≤ P(A) ≤ 1<br />
• P(True) = 1<br />
• P(False) = 0<br />
• P(A ∨ B) = P(A) + P(B) – P(A ∧ B)<br />
• P(A) = Σ P(A | Bi).P(Bi) als Σ P(Bi) = 1<br />
• P(¬A) = 1 – P(A)<br />
• P(A | B) = P(A ∧ B)<br />
P(B)<br />
De syntax lijkt erg op die <strong>van</strong> <strong>de</strong> propositielogica. Je <strong>de</strong>finieert variabelen die waar<strong>de</strong>n toegekend<br />
krijgen. Variabelen kunnen booleaans zijn, of meer<strong>de</strong>re mogelijke waar<strong>de</strong>n hebben.<br />
Waarschijnlijkheidsver<strong>de</strong>lingen<br />
Als een waarschijnlijkheid onconditioneel is dan is <strong>de</strong> waarschijnlijkheidsver<strong>de</strong>ling gewoon <strong>de</strong><br />
verzameling <strong>de</strong>r waarschijnlijkhe<strong>de</strong>n <strong>van</strong> elke mogelijke waar<strong>de</strong>.<br />
Voorbeeld:<br />
• Regent < True, False ><br />
P(Regent) = < 0.4, 0.6 ><br />
• Weer < Regen, Bewolkt, Sneeuw, Zon ><br />
P(Weer) = < 0.72, 0.1, 0.08, 0.1 ><br />
Als het wel om een conditionele waarschijnlijkheid gaat, gebruikt men een joint probability<br />
distribution.<br />
Voorbeeld 1: P(AutoOngeluk, Weer)<br />
AutoOngeluk \ Weer Regen Bewolkt Sneeuw Zon<br />
True 0.2 0.1 0.3 0.05<br />
False 0.15 0.1 0.05 0.05<br />
Korte notatie voor <strong>de</strong>ze tabel: P(X1, X2, …, Xn).<br />
Uit <strong>de</strong>ze tabel kan je gemakkelijk onconditionele waarschijnlijkhe<strong>de</strong>n aflezen.
Voorbeeld 2: Tandpijn<br />
Tandpijn Tandpijn<br />
Gaatje 0.04 0.06<br />
Gaatje 0.01 0.89<br />
P(Tandpijn Gaatje) = 0.04 + 0.01 + 0.06 = 0.2<br />
P( Gaatje Tandpijn) = 0.04<br />
Voor conditionele waarschijnlijkhe<strong>de</strong>n:<br />
P(Gaatje | Tandpijn) = P(Gaatje ∧ Tandpijn) / P(Tandpijn) = 0.04 / (0.04 + 0.01) = 0.80<br />
De Regel <strong>van</strong> Bayes is hier eveneens <strong>van</strong> toepassing:<br />
P(B | A) = P(A | B) * P(B) / P(A)<br />
Of voor meer<strong>de</strong>re condities:<br />
P(B | A, E) = P(A | B, E) * P(B | E) / P(A | E)<br />
Kettingregel:<br />
P(X1, X2, ... , Xn) = P(Xi | X1, X2, ... , Xn)<br />
Onafhankelijke Variabelen:<br />
Twee variabelen zijn onafhankelijk als:<br />
P(A | B) = P(A)<br />
Of P(A, B) = P(A | B).P(B)= P(A).P(B)<br />
Opmerking:<br />
• Joints zijn enorm groot: voor n booleaanse variabelen: matrix <strong>van</strong> 2 n waarschijnlijkhe<strong>de</strong>n.<br />
• Waar<strong>van</strong> haal je <strong>de</strong> gegevens? On<strong>de</strong>rzoek met experts.<br />
Grafische voorstelling:<br />
Belief Network<br />
• Voorstelling door een acyclische graph.<br />
• Knopen zijn variabelen.<br />
• Pijlen zijn directionele verban<strong>de</strong>n: “… heeft invloed op …”<br />
• Bij elke no<strong>de</strong> hoort een tabelletje met daarin <strong>de</strong> waarschijnlijkheid <strong>van</strong> <strong>de</strong> toestand <strong>van</strong> <strong>de</strong><br />
parent no<strong>de</strong> op <strong>de</strong> toestand <strong>van</strong> <strong>de</strong> no<strong>de</strong>.<br />
Opstellen <strong>van</strong> <strong>de</strong> joint:<br />
P(X1, … Xn) = ΠP(Xi | Parents(Xi))<br />
Markov-af<strong>de</strong>kking:<br />
De invloedsfeer <strong>van</strong> een no<strong>de</strong> is enkel bepaald door <strong>de</strong> kin<strong>de</strong>ren, <strong>de</strong> ou<strong>de</strong>rs, en <strong>de</strong> ou<strong>de</strong>rs <strong>van</strong> <strong>de</strong><br />
ou<strong>de</strong>rs.<br />
Markoviaans:<br />
Toestand niet afhankelijk <strong>van</strong> het voorgaan<strong>de</strong>.
Inferentie met Belief Networks:<br />
• Je hebt een aantal Query variabelen en een aantal Evi<strong>de</strong>nce variabelen.<br />
• Elke no<strong>de</strong> kan een Query of Evi<strong>de</strong>nce zijn.<br />
• Het doel <strong>van</strong> <strong>de</strong> inferentie is P(Query | Evi<strong>de</strong>nce) te berekenen.<br />
• Deze Queries kunnen niet alleen voor het maken <strong>van</strong> conclusies gebruikt wor<strong>de</strong>n, maar ook<br />
om <strong>de</strong> oorzaak <strong>van</strong> iets op te sporen, een optimaal “pad”, welke evi<strong>de</strong>nce het belangrijkst<br />
is…<br />
Inferentie is NP-hard, maar er zijn vaak short-cuts om Queries toch snel op te lossen.<br />
• Efficiënt combineren.<br />
• Tussenresultaten <strong>van</strong> berekeningen cachen zodat ze niet herberekend wor<strong>de</strong>n.<br />
• Betere algoritmen kiezen (zie Russel & Norvig).<br />
De waarschijnlijkhe<strong>de</strong>n moeten ingevuld wor<strong>de</strong>n met behulp <strong>van</strong> experts uit het vakdomein.<br />
Voorbeel<strong>de</strong>n:<br />
• Medische diagnose<br />
• Tekstanalyse<br />
• …