Kunstig intelligens

6.3 Belief Networks

Begrebet betinget uafhængighed kan bruges til at give en kortfattet repræsentation af mange domæner. Idéen er, at der, givet en tilfældig variabel X, kan findes et lille sæt variabler, som direkte påvirker variablens værdi i den forstand, at X er betinget uafhængig af andre variabler, når værdierne for de direkte påvirkende variabler er givet. Sættet af lokalt påvirkende variabler kaldes Markov-tæppet. Denne lokalitet er det, der udnyttes i et trosnetværk. Et trosnetværk er en rettet model for betinget afhængighed mellem et sæt tilfældige variabler. Den præcise angivelse af betinget uafhængighed i et belief network tager hensyn til retningsbestemtheden.

For at definere et belief network skal man starte med et sæt tilfældige variabler, der repræsenterer alle modellens egenskaber. Antag, at disse variabler er {X1,…,Xn}.Vælg derefter en samlet rækkefølge af variablerne, X1,…,Xn.

Kædereglen (forslag 6.3) viser, hvordan man nedbryder en konjunktion i betingede sandsynligheder:

P(X1=v1∧X2=v2∧—∧Xn=vn)
= ∏i=1n P(Xi=vi|X1=v1∧—∧Xi-1=vi-1).

Og, med hensyn til tilfældige variabler og sandsynlighedsfordelinger,

P(X1, X2,—, Xn) = ∏i=1n P(Xi|X1, —, Xi-1).

Definér forældrene til den tilfældige variabel Xi, skrevetparents(Xi), som et minimalt sæt af forgængere til Xi i den samlede rækkefølge, således at de andre forgængere til Xi er betinget uafhængige af Xi givetparents(Xi). Det vil sige, forældre(Xi) ⊆{X1,…,Xi-1}, således at

P(Xi|Xi-1…X1) = P(Xi|forældre(Xi)).

Hvis der findes mere end et minimalt sæt, kan ethvert minimalt sæt vælges som forældre. Der kan kun være mere end ét minimumsæt, når nogle af forløberne er deterministiske funktioner af andre.

Vi kan sætte kædereglen og definitionen af forældre sammen,hvilket giver

P(X1, X2,—, Xn) = ∏i=1n P(Xi|forældre(Xi))).

Sandsynligheden over alle variablerne, P(X1, X2,—,Xn), kaldes den fælles sandsynlighedsfordeling. Et trosnetværk definerer en faktorisering af den fælles sandsynlighedsfordeling, hvor de betingede sandsynligheder danner faktorer, der ganges sammen.

Et trosnetværk, også kaldet et Bayesiannetværk, er en acyklisk rettet graf (DAG), hvorknuderne er tilfældige variabler. Der er en bue fra hvert element iparents(Xi) til Xi.Tilknyttet trosnetværket er et sæt betingede sandsynlighedsfordelinger – den betingede sandsynlighed for hver variabel givet dens forældre (som omfatter de forudgående sandsynligheder for de variabler, der ikke har nogen forældre).

Så består et trosnetværk af

  • en DAG, hvor hver knude er mærket med en tilfældig variabel;
  • et domæne for hver tilfældig variabel; og
  • et sæt af betingede sandsynlighedsfordelinger, der giver P(X|forældre(X)) for hver variabel X.

Et trosnetværk er acyklisk af konstruktion. Den måde, hvorpå kædereglerne sammensætter konjunktionen, giver rækkefølgen. En variabel kan kun have forgængere som forældre.Forskellige dekompositioner kan resultere i forskellige trosnetværk.

Eksempel 6.10: Lad os antage, at vi ønsker at bruge diagnosticeringsassistenten til at diagnosticere, om der er brand i en bygning på baggrund af støjende sensoroplysninger og muligvis modstridende forklaringer på, hvad der kan være på færde. Agentenmodtager en rapport om, hvorvidt alle er ved at forlade bygningen. Lad os antage, at rapportensensoren er støjende: Nogle gange rapporterer den, at alle forlader bygningen, når der ikke er nogen udvandring (falsk positiv), og nogle gange rapporterer den ikke, når alle forlader bygningen (falsk negativ). Antag, at en brandalarm, der går i gang, kan være årsag til, at folk forlader bygningen, men der er ikke tale om et deterministisk forhold: Enten kan der være tale om manipulation eller brand, som kan påvirke alarmen, og brand får også røg til at stige op fra bygningen.

Sæt, at vi bruger følgende variabler, som alle er boolske, i følgende rækkefølge:

  • Sabotage er sandt, når der er saboteret alarmen.
  • Brand er sandt, når der er brand.
  • Alarm er sandt, når alarmen lyder.
  • Røg er sandt, når der er røg.
  • Afgang er sandt, hvis der er mange mennesker, der forlader bygningen på én gang.
  • Rapport er sandt, hvis der er en rapport fra nogen om, at der er mennesker, der forlader bygningen. Rapport er falsk, hvis der ikke er nogen rapport om, at folk forlader bygningen.

Variablen Rapport angiver sensorens rapport om, at folk forlader bygningen. Disse oplysninger er upålidelige, fordi den person, der afgiver en sådan rapport, kan lave en practicaljoke, eller fordi ingen, der kunne have afgivet en sådan rapport, har været opmærksom. Denne variabel er indført for at muliggøre en konditionering af upålidelige sensordata. Agenten ved, hvad sensoren rapporterer, men har kun upålidelige oplysninger om personer, der forlader bygningen.Som en del af domænet antages følgende betingede uafhængigheder:

  • Brand er betinget uafhængig af manipulation (givet ingen andre oplysninger).
  • Alarm afhænger af både brand og manipulation. Det vil sige, at vi ikke foretager nogen uafhængighedsantagelser om, hvordan alarmen afhænger af sine forgængere i denne variabelrækkefølge.
  • Røg afhænger kun af brand og er betinget uafhængig af manipulation og alarm, når det er givet, om der er brand.
  • Lækkerhed afhænger kun af alarm og ikke direkte af brand, manipulation eller røg. Det vil sige, at afgang er betinget uafhængig af de andre variabler givet alarm.
  • Rapport afhænger kun direkte af afgang.

Troværdighedsnetværket i figur 6.1 udtrykker disse afhængigheder.

figures/ch06/firenew.png
Figur 6.1: Troværdighedsnetværk for rapport om afgang i eksempel 6.10

Dette netværk repræsenterer faktoriseringen

P(Sabotage,Brand,Alarm,Røg,Afgang,Rapport)
= P(Sabotage) ×P(Brand) ×P(Alarm|Sabotage,Brand)
×P(Røg|Brand) ×P(Forladelse|Alarm) ×P(Rapport|Førladelse).

Vi skal også definere domænet for hver variabel. Antag, atvariablerne er boolske; det vil sige, at de har domæne {true,false}. Vianvender den lille variant af variablen til at repræsentere den sande værdiog anvender negation for den falske værdi. Således skrives f.eks. Tampering=true som tampering, ogTampering=false skrives som ¬tampering.

I de følgende eksempler antages følgende betingede sandsynligheder:

P(tampering) = 0,02
P(brand) = 0,01
P(alarm | brand ∧tampering) = 0.5
P(alarm | brand ∧¬manipulation) = 0,99
P(alarm | ¬brand ∧manipulation) = 0,85
P(alarm | ¬brand ∧¬manipulation) = 0,0001
P(røg | brand ) = 0,0001
P(røg | brand ) = 0.9
P(røg | ¬brand ) = 0,01
P(afgang | alarm) = 0,88
P(afgang | ¬alarm ) = 0,001
P(rapport | afgang ) = 0,75
P(rapport | ¬afgang ) = 0,75
P(rapport | ¬afgang ) = 0.01

figures/ch06/power-bn.png
  • For hver ledning wi findes der en tilfældig variabel, Wi, meddomæne {live,dead}, som angiver, om der er strøm i ledningen wi. Wi=live betyder, at ledningenwi har strøm. Wi=død betyder, at der ikke er strøm i ledning wi.
  • Outside_power med domæne {live,dead} angiver, om der kommer strøm ind i bygningen.
  • For hver afbryder si angiver variabel Si_pos positionen forsi. Den har domæne {up,down}.
  • For hver afbryder si angiver variablen Si_st afbryderens tilstand for si. Ihar domæne {ok,upside_down,kort,intermitterende,brudt}. Si_st=ok betyder, atafbryder si fungerer normalt. Si_st=upside_down betyder, at afbrydersi er installeret med hovedet nedad. Si_st=kort betyder, at kontakten si er forkortet og fungerer som en ledning. Si_st=brudt betyder, at afbryderen si er brudt og ikke tillader strømmen at strømme.
  • For hver afbrydercbi har variablen Cbi_st domænet {on,off}. Cbi_st=on betyder, at strømmen kan strømme gennem cbi, og Cbi_st=off betyder, at strømmen ikke kan strømme gennem cbi.
  • For hver lygte li angiver variabel Li_st med domæne {ok,intermitterende,brudt} lygtens tilstand. Li_st=ok betyder, at lyset li lyser, hvis det er strømforsynet, Li_st=intermittent betyder, at lyset li lyser med mellemrum, hvis det er strømforsynet, og Li_st=brudt betyder, at lyset li ikke virker.
Figur 6.2: Belief-netværk for det elektriske domæne i figur 1.8
Eksempel 6.11: Overvej ledningseksemplet i figur 1.8. Lad os antage, at vi beslutter at have variabler for, om lysene er tændt, for afbrydernes positioner, for, om lysene og afbryderne er defekte eller ej, og for, om der er strøm i ledningerne. Variablerne er defineret i figur 6.2.

Lad os vælge en rækkefølge, hvor årsagerne til en variabel står før variablen i rækkefølgen. F.eks. kommer variablen for, om en lampe er tændt, efter variablerne for, om lampen virker, og om der er strøm i lampen.

Hvis lyset l1 er tændt, afhænger kun af, om der er strøm i ledning w0, og om lyset l1 fungerer korrekt. Andre variabler, som f.eks. positionen af afbryder s1, om lys l2 er tændt, eller hvem der er dronning af Canada, er irrelevante. Forældrene til L1_lit er således W0 og L1_st.

Opmærksomheden henledes på variabel W0, som repræsenterer, om der er strøm i ledningen w0. Hvis vi vidste, om der var strøm i ledningerne w1 ogw2, og vi kendte positionen af afbryder s2, og om afbryderen fungerede korrekt, ville værdien af de andre variabler (bortset fraL1_lit) ikke påvirke vores tro på, om der er strøm i ledningen w0. Derfor bør W0’s forældre være S2_Pos, S2_st,W1 og W2.

Figur 6.2 viser det resulterende trosnetværk, efter at der er taget hensyn til hver enkelt variabels uafhængighed.Trosnetværket indeholder også variablernes domæner, som angivet i figuren, og betingede sandsynligheder for hver enkelt variabel givet dens forældre.

For variablen W1 skal der angives følgende betingede sandsynligheder:

P(W1=live|S1_pos=up ∧S1_st=ok ∧W3=live)

P(W1=live|S1_pos=up ∧S1_st=ok ∧W3=dead)

P(W1=live|S1_pos=up ∧S1_st=upside_down ∧W3=live)

P(W1=levende|S1_pos=nedad ∧S1_st=brudt ∧W3=død).

Der er to værdier for S1_pos, fem værdier for S1_ok og to værdier for W3, så der er 2×5 ×2 = 20 forskelligetilfælde, hvor der skal angives en værdi for W1=levende. Hvad angår sandsynlighedsteori, kan sandsynligheden for W1=live for disse 20 tilfælde tildeles vilkårligt. Kendskabet til området begrænser naturligvis, hvilke værdier der giver mening. Værdierne for W1=død kan beregnes ud fra værdierne for W1=levende for hvert af disse tilfælde.

Da variablen S1_st ikke har nogen forældre, kræver den en forudgående fordeling, som kan angives som sandsynlighederne for alle værdier undtagen én; den resterende værdi kan udledes af den begrænsning, at alle sandsynlighederne summerer til 1. For at specificere fordelingen af S1_st skal der således angives fire af følgende fem sandsynligheder:

P(S1_st=ok)

P(S1_st=upside_down)

P(S1_st=short)

P(S1_st=intermittent)

P(S1_st=broken)

The other variables are represented analogously.

Et trosnetværk er en grafisk repræsentation af betinget uafhængighed. uafhængigheden giver os mulighed for at afbilde direkte virkninger inden for grafenog foreskriver, hvilke sandsynligheder der skal angives. Arbitrære posterior-sandsynligheder kan udledes af netværket.

Uafhængighedsantagelsen, der er indlejret i et trosnetværk, er som følger: Hver tilfældig variabel er betinget uafhængig af sine ikkeefterfølgere givet sine forældrene. Det vil sige, at hvis X er en tilfældig variabel med forældre Y1,…, Yn, er alle tilfældige variabler, der ikke er efterkommere af X, betinget uafhængige af X, når Y1,…, Yn er givet:

P(X|Y1,…, Yn,R)=P(X|Y1,…, Yn),

hvis R ikke omfatter en efterkommer af X. I denne definition medtager vi X som en efterkommer af sig selv. Den højre side af denne ligning er formen af de sandsynligheder, der er specificeret som en del af trosnetværket.R kan involvere forfædre til X og andre knuder, så længe de ikke er efterkommere af X. Uafhængighedshypotesen siger, at al indflydelse fra variabler, der ikke er efterkommere, er indfanget ved at kende værdien af X’s forældre.

Ofte refererer vi kun til den mærkede DAG som et trosnetværk. Når dette gøres, er det vigtigt at huske, at et domæne for hver variabel og et sæt betingede sandsynlighedsfordelinger også er en del af netværket.

Antallet af sandsynligheder, der skal angives for hver variabel, er eksponentielt i forhold til antallet af forældrene til variablen.Uafhængighedsantagelsen er nyttig, for så vidt som antallet af variabler, der direkte påvirker en anden variabel, er lille. Du bør ordne variablerne, så knuderne har så få forældre som muligt.

Troværdighedsnetværk og kausalitet

Troværdighedsnetværk er ofte blevet kaldt kausalnetværk og er blevet hævdet at være en god repræsentation af kausalitet.Husk, at en kausalmodel forudsiger resultatet af interventioner.Antag, at du har i tankerne en kausalmodel af et domæne, hvor domænet er specificeret i form af et sæt tilfældige variabler. For hvert par tilfældige variabler X1og X2 gælder det, at hvis der er en direkte kausal forbindelse fra X1 til X2 (dvs. hvis et indgreb for at ændre X1 i en eller anden sammenhæng med andre variabler påvirker X2, og dette ikke kan modelleres ved at have en eller anden indgrebsvariabel), skal du tilføje en bue fra X1 til X2. Man ville forvente, at kausalmodellen ville overholde antagelsen om uafhængighed i trosnetværket. Således ville alle konklusionerne i trosnetværket være gyldige.

Du ville også forvente, at en sådan graf ville være acyklisk; du ønsker ikke, at noget til sidst forårsager sig selv. Denne antagelse er rimelig, hvis man overvejer, at de tilfældige variabler repræsenterer bestemte hændelser snarere end hændelsestyper. Overvej f.eks. en årsagskæde, hvor “at være stresset” får dig til at “arbejde ineffektivt”, hvilket igen får dig til at “være stresset”. For at bryde den tilsyneladende cyklus kan vi repræsentere “at være stresset” på forskellige stadier som forskellige tilfældige variabler, der refererer til forskellige tidspunkter. At være stresset i fortiden får dig til ikke at arbejde godt i øjeblikket, hvilket får dig til at være stresset i fremtiden. Variablerne skal opfylde klarhedsprincippet og have en veldefineret betydning. Variablerne bør ikke ses som begivenhedstyper.

Trodsnetværket i sig selv har intet at sige om årsagssammenhæng, og det kan repræsentere ikke-kausal uafhængighed, men det synes særlig velegnet, når der er årsagssammenhæng i et område. Tilføjelse af buer, der repræsenterer lokal kausalitet, har tendens til at give et lille trosnetværk. Trodsnetværket iFigur 6.2 viser, hvordan dette kan gøres for et simpelt domæne.

Akausale netværksmodeller for interventioner. Hvis nogen kunstigt tvinger en variabel til at have en bestemt værdi, vil variablens efterkommere – men ingen andre knuder – blive påvirket. Endelig kan du se, hvordan kausaliteten i trosnetværk hænger sammen med de kausale og evidensmæssige ræsonnementer, der blev diskuteret i afsnit 5.7. Et kausalt trosnetværk kan ses som en aksiomatisering i en kausal retning. Ræsonnement i trosnetværk svarer til at abducere til årsager og derefter at forudsige ud fra disse. Der er en direkte sammenhæng mellem den logisk baserede abduktive opfattelse, der er beskrevet i afsnit 5.7, og trosnetværk: Overbevisningsnetværk kan modelleres som logiske programmer med sandsynligheder over mulige hypoteser. Dette er beskrevet i afsnit 14.3.

Bemærk begrænsningen “hver tilfældig variabel er betinget uafhængig af sine ikkeefterfølgere givet sineforældre” i definitionen af den uafhængighed, der er kodet i et trosnetværk. HvisR indeholder en efterkommer til variabel X, er uafhængighedsantagelsen ikke direkte anvendelig.

Eksempel 6.12: I figur 6.2 er variablerne S3_pos, S3_st og W3 forældrene til variablen W4. Hvis du kender værdierne afS3_pos, S3_st og W3, vil det ikke påvirke din tro på, om der er strøm i ledningen w4, hvis du ved, om l1 er lys eller ej, eller hvis du kender værdien af Cb1_st. Men selv hvis du kendte værdierne af S3_pos, S3_st og W3, kan det at vide, om l2 er tændt, potentielt ændre din tro på, om der er strøm i ledningw1. Uafhængighedsantagelsen er ikke direkte anvendelig.

Variablen S1_pos har ingen forældre. Uafhængigheden, der er indlejret i trosnetværket, angiver således, at P(S1_pos=up|A) = P(S1_pos=up) for enhver A, der ikke involverer en efterkommer afS1_pos. Hvis A omfatter en efterkommer af S1_pos=up – f.eks. hvis A er S2_pos=up∧L1_lit=true – kan uafhængighedsantagelsen ikke anvendes direkte.

Dette netværk kan anvendes på en række måder:

  • Gennem at konditionere på viden om, at afbryderne og afbryderne er i orden, og på værdierne for den ydre strøm og afbrydernes position, kan dette netværk simulere, hvordan belysningen skal fungere.
  • Givet værdierne for den ydre strøm og kontaktens position kan netværket udlede sandsynligheden for et hvilket som helst resultat – f.eks. hvor sandsynligt det er, at l1 er tændt.
  • Givet værdierne for afbryderne og for, om lyset er tændt, kan den efterfølgende sandsynlighed for, at hver afbryder eller afbryder er i en bestemt tilstand, udledes.
  • Givet nogle observationer kan netværket bruges til at ræsonnere baglæns for at bestemme den mest sandsynlige position for afbryderne.
  • Givet nogle afbryderpositioner, nogle udgange og nogle mellemliggende værdier kan netværket bruges til at bestemme sandsynligheden for enhver andenvariabel i netværket.

Et trosnetværk angiver en fælles sandsynlighedsfordeling, hvorfra vilkårlige betingede sandsynligheder kan udledes. Et netværk kan spørges ved at spørge om den betingede sandsynlighed for enhver variabel, der er betinget af værdierne af andre variabler. Dette sker typisk ved at give observationer af nogle variabler og spørge om en anden variabel.

Eksempel 6.13: Overvej eksempel 6.10. De forudgående sandsynligheder (uden beviser) for hver variabel kan beregnes ved hjælp af metoderne i det næste afsnit. Følgende betingede sandsynligheder følger af modellen i eksempel 6.10 med ca. tre decimaler:

P(manipulation ) = 0,02
P(brand) = 0,01
P(rapport ) = 0,028
P(røg) = 0,028
P(røg) = 0.0189

Observation af rapporten giver følgende:

P(manipulation|rapport ) = 0,399
P(brand |rapport ) = 0,2305
P(røg |rapport ) = 0,215

Som forventet øges sandsynligheden for både manipulation og brand af derrapport. Fordi brand øges, øges sandsynligheden for røg også.

Sæt i stedet, at der blev observeret røg:

P(manipulation|røg) = 0,02
P(brand|røg) = 0,476
P(rapport |røg) = 0,320

Bemærk, at sandsynligheden for manipulation ikke påvirkes af observationer af røg; derimod øges sandsynlighederne for rapport og brand.

Sæt, at både rapport og røg blev observeret:

P(tampering |rapport ∧røg) = 0,0284
P(brand |rapport ∧røg) = 0,964

Observation af begge gør brand endnu mere sandsynlig. Men i forbindelse med rapporten gør tilstedeværelsen af røg det mindre sandsynligt, at der er tale om manipulation. Dette skyldes, at anmeldelsen bortforklares med brand, som nu er mere sandsynlig.

Sæt i stedet, at anmeldelsen, men ikke røg, blev observeret:

P(tampering |anmeldelse ∧¬røg) = 0.501
P(brand|rapport ∧¬røg) = 0,0294

I forbindelse med rapporten bliver brand meget mindre sandsynlig, og sde sandsynlighed for manipulation stiger for at forklare rapporten.

Dette eksempel illustrerer, hvordan trosnettenes uafhængighedsantagelse giver commonsensekonklusioner og demonstrerer også, hvordan bortforklaring er en konsekvens af uafhængighedsantagelsen i et trosnet.

  • 6.3.3.1 Konstruktion af trosnettene

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.