So, einen schönen guten Tag wünsche ich.
Wir befassen uns mit Beliefnetzen. Beliefnetz, eine Erweiterung
der Kausalnetze. Kausalnetze beschreiben also immer den Kausalen Zusammenhang.
Von der Struktur her sieht das genauso aus wie ein Pausalnetz,
nur dass wir in einem Kausalnetz eben die Pfeile immer über die Volt regeln beantworten.
beschrieben haben oder die Semantik der Pfeile sind immer die Voltschlussregeln gewesen.
Von der Art, wie in W4 ist,
steht unter Spannung, wenn W3 unter Spannung steht,
wenn die Schalter in einer bestimmten Position sind und so weiter.
Und wenn nichts Ungewöhnliches passiert ist, also ungewöhnliches heißt,
wenn irgendwie etwas kaputt gegangen ist.
Das waren die Falt-Regeln, die wir mithilfe der Logik aufgestellt haben.
Jetzt haben wir Wahrscheinlichkeitstabellen darunter, die immer sagen,
wie wahrscheinlich ist ein bestimmter Zustand von B4 gegeben,
die Informationen an den Eltern knoten.
Das ist das Wesen eines Kausalnetzes. Das Ganze ist ein Mittel dazu,
um Über das Wissen der Systementwicklers, die Struktur auf das Relevant,
auf das Minimum zu beschränken, was für eine Aufgabenstellung erforderlich ist.
Also das ist sozusagen die Intuition eines Systementwicklers, die hereingeht,
indem er eine Kante zieht, sagt er,
diesen Einfluss halte ich für wesentlich.
Indem er keine Kante zieht, heißt, diesen Einfluss halte ich für unwesentlich.
Und man umgeht dadurch die Notwendigkeit, eine vollständige Verbund-Wahrscheinlichkeitsverteilung zu modellieren,
die jede Variable mit jeder anderen Variablenbelegung in Bezug setzt.
Um das Problem auf eine handhabbares Minimum herunterzukochen
Das ist das Ziel des Ganzen. Im Prinzip haben wir
auch hier wieder die Möglichkeit, beide Schlussfolgerungsrichtungen zu machen.
Also sowohl von den zugrunde liegenden Ursachen, das sind die Sachen,
die hier oben stehen. Oder alle Knoten, die keine Elternknoten haben,
sind mögliche Ursachen für ein beobachtetes Verhalten und das beobachtete Verhalten
bezieht sich hier unten nur auf diese beiden Bajablen,
die eben etwas darüber sagen,
ob die Lampen brennen oder die Lampen nicht brennen.
Und wir haben eben eine große Menge von Einflussfaktoren hiering,
äh sorry, das ist nicht mehr das hier noch,
von Einflussfaktoren,
die hier ebenfalls natürlich,
die einen Einfluss auf diese Beobachtung
haben können
Das Ganze heißt also immer, hier dahinter stecken, jetzt bedingte Wahrscheinlichkeitsverteilungen,
die immer sagen, die Wahrscheinlichkeit dieser vajablen Belegung hier gegeben,
die vajablen Belegungen an den Elternknoten und die Unabhängigkeitsannahme, dass nur das,
was spezifiziert ist, tatsächlich etwa einen Beitrag dazu leistet,
für alles andere ist Unabhängigkeit gegeben.
Und diese Abhängigkeit ist tatsächlich eine dynamische Angelegenheit,
das hatten wir uns angeguckt, in den verschiedenen Konstellationen,
wenn wir also zwei Knoten haben,
die eine Wertebelegung an einem dritten Knoten beeinflussen,
Und dann sind die beiden Variablen da oben unabhängig voneinander,
solange nicht der Wert der dritten Variablen bekannt ist.
Also in dem Augenblick, wo ich den Wert von Alarm kenne,
sind die plötzlich bedingt abhängig von, die beiden hier bedingt abhängig voneinander,
weil eben das Gesetz der Gesamtwahrscheinlichkeit gelten muss.
Und das führt dazu,
dass wenn sich die Wahrscheinlichkeit für den einen Knoten erhöht,
gleichzeitig die Wahrscheinlichkeit für den anderen Knoten verringert.
Das gilt aber nur in dem Augenblick, wo ich weiß,
dass die Wahrscheinlichkeit für den Alarm entweder 0 oder 1 ist.
Entweder es ist ein Alarm gewesen oder es ist
kein Alarm gewesen
Und entsprechend müssen dann diese Wahrscheinlichkeiten sich anpassen,
um mit der Beobachtung hier tatsächlich umgehen zu können.
Das ist dieser berühmte Explaining-Away-Effekt, den man also an den verschiedensten Stellen beobachten kann.
Und das werden wir heute nicht machen, aber demnächst auch angucken,
dass man so etwas bei Menschen eben auch beobachten kann in psychologischen Experimenten.
Die andere Situation war eben, dass sich die von einer Ursache
einer gemeinsamen Ursache ist auf unterschiedliche Konsequenzen oder Beobachtungen auswirkt,
dann sind die In beiden Variablen, hier unten abhängig voneinander,
da sie ja gekoppelt sind über die Wahrscheinlichkeit an dieser dritten Variable.
Aber in dem Augenblick, wo ich diesen Wert weiß,
sind die hier voneinander unabhängig. Dann ist nämlich,
gilt nämlich wieder das Prinzip,
alles in der Vergangenheit oder im Kontext ist irrelevant,
nur der Wert dieser Variablen ist relevant,
denn der beeinflusst direkt die Wahrscheinlichkeit für diesen Knoten.
Und der beeinflusst auch direkt die Wahrscheinlichkeit dieses Knotens.
Alles, was mit dem Knoten sonst noch verbunden ist,
spielt keine Rolle mehr.
Also auch Alarm dann nicht mehr
Das ist also die,
und die dritte Konstellation war eine Sequenz von Erscheinungen,
und da hat man es eher in der Kausalkette,
oder wir werden das auch benutzen für zeitliche Abläufe,
dass wir eben eine Variable haben,
die mit einer zweiten Variablen überkausale Abhängigkeit verbunden ist,
und dann mit einer dritten Variablen.
Und natürlich ist die erste Variable über diese Kausalkette mit der dritten Variablen verbunden,
aber nur, solange ich diesen Wert nicht kenne,
wenn ich diesen Wert kenne, sind sie stochastisch unabhängig,
was heißt, Wert von Alarm beeinflusst die Wahrscheinlichkeit von Report nicht mehr.
Der einzige Abhängigkeit, die dann gibt,
ist von diesem Wert ja, den kenne ich ja dann.
Ich weiß, ob das wahr oder falsch ist.
Und von diesem ist dann nur abhängig,
wie groß die Wahrscheinlichkeit von Report ist,
denn die sind ja gekoppelt über die bedingte Wahrscheinlichkeit für den Bericht gegeben,
die Beobachtung, die Leute verlassen das Haus.
Aus dieser Tabelle plus der Information, dass Leaving entweder Two oder False,
das kann ich lieber Wahrscheinlichkeit für Report direkt aus der Tabelle ablesen.
Da muss ich nichts anderes berücksichtigen,
insbesondere nicht irgendwelche Werte im Kontext
Das waren die grundsätzlichen oder die Möglichkeiten, die ich in
einem solchen kausalen Netz habe. Andere gibt es ja nicht,
weil es ja ein gerichteter, zyklischer Graf sein muss.
Und der Grundsatz gilt eben immer, ein Knoten ist unabhängig,
ist unabhängig von allen Nicht-Nachfolgeknoten der Eltern, von dem,
sagen wir, vom Kontext,
unabhängig vom Kontext,
wenn ich die Werte der Elternknoten weiß
Ist es dieser bedingte Unabhängigkeit, die immer sagt,
unter der Voraussetzung, dass sich den Wert einer bestimmten Variablen weiß.
Dann kann ich sagen, ob die Dinge unabhängig oder abhängig voneinander sind.
Allein durch Betrachtung der Struktur ist es nicht möglich. So,
jetzt geht es also in die tatsächlich in die technischen Details.
Wie berechne ich jetzt solche Wahrscheinlichkeiten da drin? Erster Schritt,
den wir machen können, ist,
dass wir erstmal alle Variablen aus dem Beliebtennetz entfernen,
die mit dem gegebenen Problem nichts zu tun haben
Das gegebene Problem ist also immer gegeben in Form eines solchen Ausdruckes.
Das heißt, ich möchte wissen, was ist die Wahrscheinlichkeitsverteilung
für X gegeben, eine bestimmte Beobachtung am System.
Also das sind vaiablen Belegungen, wo ich den konkreten Wert weiß.
Und dann möchte ich eben die Wahrscheinlichkeitsverteilung für eine davon abhängige Vayable wissen.
Und da ist hier ein Cloza Algorithmus aufgeschrieben, den muss man nicht nachvollziehen können.
Alles, was man wissen muss, ist, das geht so.
Also wir entfernen alle Vayablen aus den Problemen,
die nicht beobachtet oder Er fragte,
Nachfolgen haben und dann verbinden wir die Elternknoten der Beobachteten Variablen.
Das sind also diese Es hier. Wir entfernen die Kantenrichtung
, betrachten also nur noch unungerichtete Grafen.
Wir entfernen alle Beobachteten Variablen und dann entfernen wir alle Variablen,
die mit dem X in dem resultierenden, ungerichteten Grafen keine Verbindung mehr haben.
Das gibt uns einen Teil Graf und der enthält all die relevanten Informationen,
die überhaupt einen Einfluss auf dieses gewünschte Berechnungsergebnis haben
Das ist sozusagen eine Art Vorverarbeitungsschritt. Wenn wir das gemacht haben,
bleibt immer noch die Frage,
dass wir ein Beliefnetz haben mit mehreren Variablen drin,
mit nicht trivialen Zusammenhängen zwischen den Variablen.
Und wir wollen ja immer noch diese Wahrscheinlichkeitsverteilung berechnen.
Die haben wir noch nicht. Und die Verfahren,
die man dann anwenden kann, sind unterschiedlicher Art.
Wir gucken uns die nicht alle an, sondern nur ein Auswahl davon.
Das erste ist ein Prozess, den wir eigentlich schon kennen.
Da können wir uns gleich noch drüber unterhalten.
Das ist nämlich Variablen-Elimination
Gucken wir uns das Netz dahin an, dass wir nicht
beobachtete und nicht nachgefragte Vajablen sukzessive aus dem Netz entfernen.
Und zwar durch einen Prozess, der sich aussummieren nennt,
was das ist, da kommen wir gleich drauf.
Wo ist uns Vajablen Illiminationen schon mal begegnet?
Ja. Genau, wozu haben wir es daran benutzt?
Um zu gucken, also wann die Rummenheit konsistent zu machen
Nicht notwendigerweise. Domänenkonsistent gemacht haben wir durch Kantenkonsistenzverfahren. Also um eine Lösung zu finden,
also ich habe geguckt, wenn wir die joinen,
ob da was übrig bleibt oder nicht übrig bleibt.
Ja, genau. Aber in dem Falle,
dass Kantenkonsistenz uns nicht weiterhilft, die Kantenkonsistenz ist zu schwach,
als dass wir eindeutig vajablen Belegungen ermitteln können,
dann war das ein Verfahren,
um die noch verbleibende Mehrdeutigkeit in den Lösungen zu reduzieren,
indem wir das auf reduzieren auf die Variablen,
die von uns in Interesse sind und dann anschließend die eliminierten Variablen wieder hinein unifizieren,
damit wir ein Berechnungsergebnis bekommen.
Die Idee ist dort die gleiche wie hier. Eine Idee war dort,
wir entfernen eine Variable und projizieren alle Bedingungen,
die über diese Variable vermittelt worden sind.
Also wir haben hier irgendwie eine Variable in der Mitte,
die mit Constraints, mit anderen Variablen verbunden ist.
Wir wollen diese Variable entfernen und wir erreichen es dadurch,
dass wir alles,
was hier indirekt über diese Variable vermittelt worden ist,
indirekte Konstraints zwischen
den Beteiligten Variablen auslagern
Ja, dass wir also sagen,
A und D hängen jetzt in bestimmter Art und Weise zusammen,
weil alles das, was mit Hilfe von V vorher ausgedrückt worden ist,
jetzt in ein direktes Konstrain zwischen A und D verlagert werden muss.
Und genauso in ein direktes Konstrain zwischen A und C. Das ist
die Idee der vaiablen Elimination gewesen und das ist hier genauso.
Nur, dass wir jetzt keine harten Konstrains haben in Form von Wertebelegungstabellen,
sondern wir haben Wahrscheinlichkeitstabellen und wir müssen die bedingten Wahrscheinlichkeitsverteilungen,
die wir haben, so miteinander kombinieren, dass das Netz,
ohne die zu elementfernende Variable
Die gleiche Information enthält wie das Netz, nachdem die Variable entfernt worden ist.
Und auf die Art können wir alle Variablen entfernen,
die also mit der Anfrage nicht das Geringste zu tun haben.
Denn wir wollen ja nur den Zusammenhang zwischen einem Teil der Variablen ermitteln.
Es gibt also noch, Variablen, die weder beobachtet,
noch erfragt worden sind. Also die wird erfragt und die werden beobachtet.
Darüber hinaus gibt es noch weitere Variablen und die sollen tatsächlich entfernt werden.
Und also die Idee ist genau das Gleiche. Entferne die Variablen,
die dich daran hindern, die Frage zu beantworten und propagiere die stochassischen Abhängigkeiten,
die mit Hilfe dieser Ariablen ausgedrückt wurden, im Ursprung,
in die umgebenden Nachbarn hinein.
Zweite Variante ist, suchbasiert, ich kann natürlich die möglichen Welten,
also bestimmte Variablenbelegungen generieren,
deren Wahrscheinlichkeit abschätzen und auf die Art und Weise suchbasiert die
Welten suchen,
die bezüglich der Wahrscheinlichkeit
bestimmte Bedingungen erfüllen
Ich kann das Ganze stochastisch simulieren,
das gucken wir uns ganz kurz an und dann gibt es auch noch Anpassungsmethoden über die Variante,
die im Wesentlichen für kontinuierliche Domänen zu gebrauchen sind,
nicht so sehr für die Diskreten, die wir hier verwendet haben.
Also, wir gucken uns jetzt Verfahren Vajablen,
Eliminationen an und ganz kurz die stochastische Simulation.
Als Grundlage für die vajablen Eliminationen brauchen wir eine Repräsentation,
die sich Faktoren nennt. Das ist jetzt sehr, sehr technisch,
was jetzt kommt, aber es ist sehr nützlich, was wir da machen.
Ein Faktor ist erstmal nichts anderes als eine Eine Kombination von Variablen,
denen wir einen Wert zu weisen.
Also wir haben hier eine Menge von Variablen,
die haben Werte und jeder Variablen Kombination weisen wir einen Wert zu.
Das hört sich so ähnlich an, wie die Bewertung von möglichen Welten,
die wir mal zur Einführung der Wahrscheinlichkeit benutzt haben,
ist es aber nicht ganz.
Die Unterschiede gucken wir uns noch gleich an. Ja,
wir sind dann in der Lage, dass entweder als Variablen
zu belassen oder einzelne Variablen mit konkreten Werten zu versehen.
Auf die Art und Weise wählen wir aus dem Faktor einen Subfaktor heraus,
weil wir festlegen, dass die Vagable X1 jetzt nicht mehr
beliebige Werte annehmen kann, sondern nur noch den Wert
V1. Also sind nur noch alle die Wertebelegungen für Interesse
von uns, die dieser Bedingung genügen.
Und das können wir im Extremfall auch machen,
indem wir alle Vagable mit einem Wert belegen,
dann haben wir sozusagen eine mögliche Welt wieder.
Und das ist dann nur noch eine einzelne Zahl.
Und das Ganze kann man dann schreiben, indem man eben sagt,
wir haben einen Faktor und in diesem Faktor legen wir bestimmte Vagablen,
entweder eine oder mehrere auf einen konkreten Wert fest
Hier ein Beispiel, wir haben hier einen künstlichen Faktor,
besteht aus drei Variablen, minäre Variablen,
die können entweder immer wahr oder falsch sein.
Das heißt, wir haben acht Kombinationen wieder, zwei hoch drei.
Und wir ordnen hier jeweils einen Wert zu. Dass das keine Wahrscheinlichkeiten sind,
die hier hinten stehen, sieht man schon daran,
dass die Summe dieser Dinge nicht gleich eins ist.
Für eine Wahrscheinlichkeit müsste das Gesetz der Gesamtwahrscheinlichkeit gelten und
da müsste die Summe über diesen Bewertungen eins ergeben.
Das passiert ja nicht. Wir können es auch so interpretieren,
das sind Wahrscheinlichkeitsverteilungen, die wir nicht normalisiert haben.
Und das ist einer der Erfolgsrezepte des ganzen Ansatzes,
dass wir auf die Normalisierung verzichten.
Wir arbeiten mit nicht normalisierten Wahrscheinlichkeitsverteilungen. Das erleichtert die Sache
ganz gewaltig. Und nur wenn wir die Wahrscheinlichkeiten exakt wissen
wollen, müssen wir dann nochmal zum Schluss normalisieren.
Also verschieben das Normalisieren, soweit es geht, nach hinten,
damit es nur einmal gemacht wird und nicht in jedem Zwischenschritt
wieder gemacht werden muss.
Also einfach eine Zuordnung von Werten zu unterschiedlichen vaiablen Belegungen.
Und wir lassen auch Details der Art weg,
was in welchem Verhältnis
diese Variablen hier überhaupt zueinander stehen
Also insbesondere werden wir diese Faktoren verwenden, unbedingte Wahrscheinlichkeitsverteilung zu repräsentieren.
Und aus dieser Repräsentation geht mit nichts mehr hervor,
was ist hier der Bedingungsteil, was ist die Verteilung,
über die wir eigentlich reden.
Wir können es auch interpretieren als eine Art Verbundwahrscheinlichkeit, die wir dort haben.
Wenn wir jetzt eine der Variablen nehmen und auf einen Wert festlegen,
also beispielsweise das X hier, heißt das,
wir selektieren jetzt aus diesen Tupeln, die wir hier haben,
alle die heraus,
wo das T den Wahrheitswert true hat,
das sind die ersten vier
Und deshalb ist dieser Faktor, der sich daraus ergibt,
indem wir x gleich T festlegen, die obere Hälfte dieser Tabelle,
nur noch mit den Spalten YZ.
x brauchen wir ja nicht mehr darzustellen.
Das hat ja keinen bayablen Wert mehr. Und das sind
genau diese vier Werte, die hier oben drin stehen.
Wenn wir eine zweite Variable in diesem Falle,
also Z of Falls festlegen, dann müssen wir von denen,
die wir hier haben, also x per T bleibt erhalten,
zusätzlich noch zgleich falls.
Da müssen wir von denen, die wir hier oben haben,
jeweils die Zeilen auswählen, wo Z gleich falls ist.
Also im Prinzip in der Welt der relationalen Datenbanken
machen wir
eine Selektion
Ja, wir machen eine Attributselektion, indem wir ein Attributwert festlegen und
damit aus der ursprünglichen Tabelle nur noch eine Subtabelle herausbekommen.
Und wenn wir dann alle drei festlegen jetzt,
also zusätzlich noch Y gleich F, dann müssen wir aus dieser Tabelle,
äh sorry, aus dieser Tabelle hier, alle Zeilen auswählen,
wo Y gleich F sind.
Und das ist nur diese eine hier. Das heißt also,
wenn wir alle Werte der Variablen festlegen,
kriegen wir nur noch eine Zahl raus.
Das heißt, alle Werte sind festgelegt.
Ansonsten kriegen wir eben Subtabellen von der vollständig uninstanzierten Variante,
wo keine Variable einen Wert hat heraus
Das ist also sozusagen ein Selektionsmechanismus, den wir hier haben,
die und die andere Operation, die wir noch brauchen,
ist das Multiplizieren von solchen Faktoren.
Die heißen nämlich nicht umsonst Faktoren, sondern die Hauptoperationen,
die wir damit machen können, ist die Produktbildung.
Und das entspricht im Prinzip dem Joy in einer relationalen Datenbank.
Ich habe zwei Faktoren,
der eine ist über der Variable X und die andere über
der Variable Y. Aktuell können es auch mehrere Variablen sein,
das soll der Balken darüber ausandeuten.
Aber wir sagen jetzt mal einfach, es sind zwei Variablen,
die wir dort haben. Wir haben einen anderen Faktor,
der auch zwei Variablen hat und die haben eine Variable gemeinsam
Oder wenn sie so wollen, eben, die haben eine Menge von Variablen gemeinsam.
Das kann man generalisieren auf beliebig viele Barjablen.
Dann kann ich das Produkt der beiden bilden.
Und das ist dann ein Faktor, der genau diese drei Variablen,
also X, Y, ein Set hat.
Oder eben die Vereinigung der Variablen Menge X,
der Variablen Menge Y und der Vayable Menge Z.
Und das wird eben jetzt als Produktregel vorgeschrieben und so notiert.
Ich multipliziere Faktor 1 mit Faktor 2 über diesen drei vaiablen Mengen.
Und das ist eben das Produkt aus diesen beiden Einzelfaktoren
Auf die Art und Weise kann ich Faktoren miteinander kombinieren und neue Faktoren kreieren.
Dritte? Achso, hier ein Beispiel natürlich. Klar,
wir haben zwei Faktoren. Wir sollen sie miteinander kombinieren.
Und jetzt müssen wir ein Join der beiden Tabellen machen. Wir müssen also gucken,
wenn wir hier die Zeile A gleich truh und B gleich gleich truh,
hier ausmultiplizieren sollen, dann heißt das,
wir müssen das mit einer Zeile multiplizieren,
wo B auch gleich Truhe ist.
Also diese beispielsweise. Und dann kriegen wir die vaiablen Belegungen
A, Tru, Betru, C, Tru.
Und wir müssen das Produkt dieser beiden Werte bilden.
Also 0,1, mal 0,1, ergibt dieses 0,03 hier
Wir können das natürlich auch mit dieser Zeile hier kombinieren,
da ist B auch gleich True, aber dann hat C den Wert falsch.
Dann kriegen wir also True, sorry True, True,
Falls heraus und das ist diese Zeile hier. True True Falls,
das ist diese 0,1, multipliziert mit dieser 0,7,
macht 0,07. Ja, wenn wir die zweite Zeile jetzt hier ausmultiplizieren,
brauchen wir Partner, wo B gleich Fals ist,
das sind also, ist diese Zeile und jene Zeile,
wir multiplizieren also die zweite hier mit der zweiten hier,
kriegen dann True
Falls Fals heraus, dadadam, True Falls Fals,
ist diese Zeile hier und das ist das Produkt von 0,9 mit Jetzt habe ich mich irgendwie verhaspelt.
Mit 0,6 und, ah nee, das ist Trufhaus Tru,
dass es diese Zeile hier und mit der 0,4 ist Tru,
Tru, Falts, das ist diese Zeile, mit der 0,36 hier.
Also, wir generieren vaiablen Belegungen aus,
aus den Vajablen, wir haben drei binäre Vajablen,
also wieder acht Kombinationen, die wir bilden können,
wir bilden den Wert dieser Kombination aus den entsprechenden Eintragungen,
die damit verträglich sind,
also A und Betru und B und C-Tru
Also dieser Wert mal diesen Wert. Und wir bilden diesen Wert hier,
indem wir Falts True aus der ersten Tabelle,
das ist 0,2 und Two Falts aus der zweiten Tabelle,
das ist 0,7, also 0,7 mal 0,2, macht 0,14.
Ja, Prinzip erkannt. Ich suche immer passende Zeilen zusammen
und multipliziere die entsprechenden Werte. Auf die Art und Weise
kann ich zwei Faktoren kombinieren zu einem dritten Faktor,
der jetzt alle Beteiligten Bajablen enthält
So, und die letzte Operation, die wir brauchen,
ist dann das Aussummieren. Das hatte ich ja gestern schon angekündigt,
dass das eine zentrale Rolle spielt in der, in dem weiteren Berechnungsprozess.
Und Aussummieren heißt immer, ich möchte eine Variable beseitigen.
Deshalb heißt das ganze Verfahren Variablen Elimination,
weil das die Operation zum Beseitigen von Variablen ist.
Indem ich über die Werteausprägungen, die diese Variable annehmen kann,
also über ihre Domäne, die Summe bilde.
Ja, also ich summiere die Variable XI aus,
indem ich die Summe bilde über alle Werte der Faktoren,
wo die einzelnen Werteausprägungen enthalten sind.
Und zwar so, dass es alle Werteausprägungen sind,
die XI annehmen kann. Also von V1 bis VK.
Und das sind die möglichen Werte, die XI annehmen.
RX1 annehmen kann. Ja, ich setze die der Reihe
nach ein und addiere die dann entstehenden Faktoren miteinander.
Auf die Art und Weise verschwindet die vaiable XI aus der Betrachtung.
Ich reduziere also ein endstelliges Problem auf ein N-1-stelliges Problem.
Und auf die Art und Weise kann ich sukzessive eine Variable
nach der anderen beseitigen. Ein anderes Verfahren ist eben,
Dieses hier, dass ich eine Vagable aus einem Faktor beseitige,
indem ich es auf einen Wert einschränke.
Das kann ich natürlich nur unter bestimmten Bedingungen machen.
Was sind die Voraussetzungen dafür, dass sich diese Operation anwenden kann?
Die Werte müssen wir jetzt erstmal alle da sein.
Die müssen bekannt sein, klar, die muss ich irgendwo herhaben, beispielsweise durch Beobachtung.
Ich habe beobachtet, das können die Evidenzwerte sein.
Ich will ja aus einem generellen Ausdruck dieser Art will ich ja,
hier will ich eine Wahrscheinlichkeitsverteilung berechnen und ich kann jetzt also diese Beobachtungen in mein,
in meine Faktoren einsetzen, indem ich sage,
ich weiß, dass E1 gleich Truhe ist.
Das kann ich dann hier einsetzen und damit reduziere ich einen
solchen Faktor zu einem zweispaltigen Faktor. Also das ist der Mechanismus,
mit dem ich Evidenz in die Berechnung einbringe und das aussummieren,
ist ein Verfahren, wie ich Vajablen beseitigen kann,
die ich nicht direkt beobachten kann.
Dann muss ich annehmen, es könnten alle Werte sein,
die da in Frage kommen, Und ich muss genau deshalb
die Summe über die Wahrscheinlichkeiten mit diesen individuellen einzelnen Werten,
die allesamt in Frage kommen können, bilden.
Ja, das sind die beiden Grundschritte, die ich brauche,
um Vagablen tatsächlich für Seiten zu können.
Also hier nochmal ein Beispiel für das Aussummieren. Ich habe
hier wieder einen Faktor, das ist eigentlich die Tabelle,
die aus der Multiplikation nachher vorgegangen ist.
Und ich möchte jetzt dort raus die Vagable B aussummieren,
da muss ich eben immer über alle Ausprägungen der Vagablen
B aufsummieren und zwar unter konstant gehaltenen Werten der anderen Variablen.
Also wenn ich A und C als wahr habe,
dann muss ich diese Zeile hier mit dieser Zeile.
Denn hier sind A und C wahr,
hier sind A und C wahr und hier ist B wahr,
hier ist es falsch.
Weißt du, ein dritten Wert außer war und falsch gibt es nichts.
Also muss ich die Summe von dem und von dem
hier bilden und kriege die 0,57. Und das Gleiche eben jetzt
für die Kombination von A und C für True Ford,
True Ford haben wir hier einmal und einmal hier.
Hier ist B gleich True, hier ist B gleich False,
also müssen wir über das und das summieren,
macht 0,43. Genau da steht es
Und wenn wir das Ganze für die Kombination Forzt True machen,
dann haben wir eben die Variante Falst True hier einmal und einmal hier.
Das heißt, wir müssen, hier ist True, das B gleich True,
hier ist gleich Fals, also können wir darüber summieren,
wir müssen 0,06 mit 0,04,8, ist die 0,54 hier.
Und die letzte Variante ist dann eben,
A und C sind bei The Fals,
das ist einmal hier der Fall und einmal jeder Fall,
also diese Zahl plus diese Zahl, ergibt diese Zahl.
Und dann ist das B aus unserer Berechnung verschwunden.
Wir haben jetzt nur noch einen Faktor, der A und C miteinander verknüpft.
Und das Ganze müssen wir so lange treiben,
bis wir irgendwann nur noch einen Faktor haben, der das gesuchte X enthält.
Das ist eigentlich der Lösungsansatz für das Vajablen eliminieren.
Also, jetzt geht's los. Wir, ja,
wir wollen also die Prustilie Wahrscheinlichkeit nach Beobachtung schätzen,
also eine Wahrscheinlichkeitsverteilung über Z gegeben, eine Kombination von Beobachtungen berechnen.
Dafür haben wir eine Berechnungsvorschrift, Wie berechnen wir die bedingte Wahrscheinlichkeit?
Wie ist die bedingte Wahrscheinlichkeit üblicherweise definiert? Ja. Das ist
die Kettenregel. Also wie bei vorherher, vorher gehen und wahrscheinlich nicht.
Ja, brauchen wir aber in diesem Falle gar nicht.
Also wir wollen ja, wir haben ja das hier alles gegeben.
Ja, das sind ja keine Valiablen mehr.
Die Kettenregel braucht man, wenn Valiablen haben.
Aber wir haben ja hier tatsächlich Beobachtung gegeben.
Das sind konkrete Werte, die hier in dem Bedingungsteil stehen
Also wie gehen Sie vor, wenn Sie eine bedingte Wahrscheinlichkeit abschätzen müssen?
Ja, das Verhältnis auch von der Wahrscheinlichkeit dafür, dass andere gefragt haben.
Genau, dazu, dass nur die eigenes eintreten.
Genau, also die Wahrscheinlichkeit der Verbundverteilung hierfür,
also Z und diese Beobachtungen, normiert auf die Wahrscheinlichkeit der Beobachtung.
Das ist genau die Renommierung, die die bedingte Wahrscheinlichkeit ja vornimmt.
Also das ist die Vorschrift dafür. Wir haben die Verbundwahrscheinlichkeit
über alle, über die Variable, die uns interessiert,
plus die Beobachtungen,
die wir gemacht haben
Und normiert auf die Wahrscheinlichkeit der Beobachtung. Das ist die
bedingte Wahrscheinlichkeit. Wenn wir den Zähler und Nenner hier
miteinander vergleichen, was fällt auf? Tja. Genau,
also wie können wir aus dem, was wir hier oben haben,
das, was wir hier unten haben, ausrechnen?
Das ist jetzt bei dir mit Zeit rausrechnen
Bitte? Ja, raussummieren von dem Z. Das ist genau die Lösung.
Wir müssen über die Wertausprägung von Z die Summe bilden.
Und dann haben wir die Berechnungsvorschrift. Also alles,
was wir immer brauchen, ist eine solche Verbundwahrscheinlichkeit.
Und wenn wir die haben, dann, also Wahrscheinlichkeitsverteilung,
muss man immer sagen, denn hier ist ja eine Vayable drin.
Und dann können wir aus dieser Verteilung die Vayable Z
herausrechnen und kriegen die gewünschte Wahrscheinlichkeit im Lenner.
Also alles, was wir immer brauchen, ist eine solche Verbundwahrscheinlichkeit.
Und wenn wir die haben, sind wir in der Lage,
jede gewünschte Wahrscheinlichkeit daraus zu destillieren
Aber immer unter der Bedingung, dass wir auf die Normalisierung
erstmal verzichten, das machen wir eben ganz zum Schluss nochmal.
So, jetzt haben wir also unterschiedliche Sorten von Vayablen.
Wir wollen diese Wahrscheinlichkeitsverteilung berechnen. Das heißt also,
wir haben Erfragte Vayablen, das ist das Z. Wir haben
Beobachtete Vayablen und dann wird es noch weitere Vayablen geben,
von denen wir hier nicht sprechen.
Also wir haben dann insgesamt eine Menge von Vayablen.
Davon ziehen wir die Vayablen ab, über denen wir
die Wahrscheinlichkeitsverteilung haben wollen. Und wir ziehen die Ys,
up, die wir hier mit Werten belegt haben.
Dann bleibt immer noch eine Menge von Variablen übrig.
Und die nennen wir Z1 bis ZK. Das sind nämlich
unsere Variablen, die wir raus eliminieren müssen.
Und für die legen wir jetzt irgendeine Reihenfolge fest,
in der wir sie entfernen wollen. Um es gleich vorwegzunehmen,
es gibt kombinatorisch viele Möglichkeiten, die Variablen zu entfernen.
Deshalb haben wir hier wieder ein nicht-deterministisches Problem,
die vaiablen Ordnungen unterscheiden sich nicht im Ergebnis.
Die kommen alle auf das gleiche Ergebnis,
unterscheiden sich aber dramatisch in dem Aufwand,
den sie erzeugen
Das ist das gleiche Problem wie mit jeder SQL-Anfrage, eine relationale Datenbank.
Wenn ich mich ungeschickt anstelle, habe ich großen Aufberechnungsaufwand,
werde ich mich geschickt anstelle, kann ich den Berechnungsaufwand verringern,
weshalb jedes Datenbanksystem eine Optimierungskomponente drin hat,
die die Anfrage erst mal nimmt.
Und in eine optimale Anfrage umwandelt. Da gibt es gewisse Heuristiken,
die gibt es hier auch. Können wir uns angucken,
es ist aber immer noch ein schwieriges Problem,
insbesondere weil es eben exponentiell viele Reihenfolgen gibt,
in denen man die Elimination vornehmen kann.
Aber wir wollen jetzt diesen Verbund Wahrscheinlichkeit berechnen,
wie machen wir das
Natürlich, indem wir aussummieren, indem wir die Z1 bis ZK aus diesem Ausdruck raussummieren.
Wir haben dann noch eine Wahrscheinlichkeit über den Variablen,
wobei wir einen Teil der Variablen eben mit Werten belegt haben.
Das ist das, was wir berechnen wollen. Und das können wir eben jetzt mit dem,
was wir wissen, dass wir nämlich eine Vereinfachung vornehmen,
in bestimmte Abhängigkeiten, dass alle Variablen, die wir betrachten,
immer nur in ihrer Abhängigkeit von den Eltern Variablen betrachtet werden,
auch so schreiben, dass wir jetzt eben die Wahrscheinlichkeiten hier aufmultiplizieren können,
weil wir von allem, was davon abweicht,
annehmen können, dass sie jourassisch unabhängig sind.
Und deshalb berechnet sich die Wahrscheinlichkeit durch einfaches Multiplizieren der Einzelwahrscheinlichkeiten.
Also das wollen wir tatsächlich berechnen. Wir bilden das Produkt
über allen bedingten Wahrscheinlichkeitstabellen für jede vaiable, gegeben ihre Elternknoten.
Wir setzen die beobachteten Werte in diese Tabellen ein und wir summieren
die Variablen, die wir nicht haben wollen, raus.
Das sind die drei Schritte, die wir machen müssen.
So, und das können wir uns an Beispielen
auch angucken
Ach so, ja, natürlich, die Frage ist,
wie machen wir das effizient?
Wir haben hier die Summe über ein Produkt zu bilden.
Hier ist die einfachste Version einer Summe von Produkten zu sehen.
Ich muss hier eine Multiplikation vornehmen, ich muss hier
eine Multiplikation vornehmen, ich muss das Ganze addieren.
Wie kann man das so umstellen, dass man mit weniger Operationen auskommt?
Man kann erst BOC addieren. Genau, wir klammern aus. Das ist Distributivgesetz,
wir klammern aus und weiden das Ganze so um und genau
diese Operation machen wir jetzt auch hier mit unserem Ausdruck.
Wir gucken, Wenn wir hier Z1 heraus summieren wollen,
dann gucken wir, welche Variablen sind hier eigentlich drin,
die mit Z1 nichts zu tun haben.
Und die können wir vor dieses Desummationszeichen erziehen, also ausklammern aus dem Summannenausdruck.
Das ist hier dargestellt. Also wir, ach so,
nein, das ist die Antwort auf die Frage,
die hier steht, hier steht nur,
was müssen wir tun, wenn wir aussummieren,
das Set 1 aussummieren wollen, dann heißt es eben,
wir klammern alles aus, Alle Faktoren aus,
die mit Z1 nichts zu tun haben.
Die ziehen wir hier aus dem Produkt heraus vor die Klammer.
Und das ist tatsächlich genau der Prozess des eliminierendste Vayablen.
Also, wenn wir eine solche weichere Entscheidlichkeit berechnen wollen,
dann müssen wir Faktoren für jede bedingte Wahrscheinlichkeitstabelle in unserem Netz aufbauen.
Wir setzen die beobachteten Vayablen auf die beobachteten Werte,
wodurch bestimmte Tabellen sich vereinfachen. Wir summieren die Alter, die Variablen,
die wir nicht mehr haben wollen, heraus in einer bestimmten Reihenfolge.
Die können wir mehr oder weniger geschickt wählen.
Und dann müssen wir die verbleibenden Faktoren miteinander multiplizieren.
Und wenn wir es wollen, wird zum Schluss noch normalisiert,
indem wir den Faktor über allen Variablen, die wir dort haben,
normalisieren, durch den Faktor, wo die Variablen aussummiert sind.
Oder wird die gesucht Variable aussummiert ist. Ja,
also wir können immer, wenn wir ein Produkt mehrerer Faktoren haben,
gibt es immer Faktoren, die mit dem ZJ etwas zu tun haben.
Wir wollen das ZJ aussummieren. Dann gibt es immer Faktoren,
die damit etwas zu tun haben oder die nichts damit zu tun haben.
Hey, das sind die, die nichts damit zu tun haben.
Das sind die, die damit etwas zu tun haben.
Also wir ziehen alle diese hier vor die Klammer.
Und in der Klammer bleibt nur noch das Aussummieren über die restlichen Faktoren übrig.
Und dann haben wir natürlich hier drin wieder eine Summe über
einem Produkt von Faktoren. Das ist genau das Gleiche,
was wir hier links bei dem gleichen Zeug auch haben. Das heißt,
das können wir jetzt rekursiv wieder anwenden und können sagen,
hier drin, aha, was,
dann summieren wir jetzt eine andere Variable auch noch aus und ziehen wieder alle Faktoren,
die mit der zweiten Variable nichts zu tun haben,
vor die Klammer davor.
Und das machen wir so lange, bis wir alle Faktoren
alle Variablen auf die Art und Weise berücksichtigt haben.
Jetzt kommt also das Beispiel, es ist dieses Feueralarmbeispiel,
hier sind eine Reihe von Wahrscheinlichkeiten angegeben,
diese Tabelle ist immer nicht vollständig in der Übung,
wenn wir was Ähnliches für ein anderes Problem haben,
die restlichen Dinge,
die hier nicht angegeben sind,
die kann ich immer rekonstruieren durch Komplimentbildung
Also wenn ich die Wahrscheinlichkeit von Tempering mit zwei Prozent kenne,
dann weiß ich, die Wahrscheinlichkeit von Not Tempering zu 98 Prozent.
Genau das Gleiche für Feuer, wenn also das Feuer ein
Prozent Wahrscheinlichkeit hat, dann ist Not Fire 99 Prozent.
Und wenn ich denn hier die Wahrscheinlichkeit habe für Alarm,
gegeben Feier und Tempering und Alarm,
gegeben Fire und Not Tempering und hier die Wahrscheinlichkeiten für Not Fire Ring,
also im Prinzip hier die vollständige Kombination von positiven und negativen Feiering und Tempering,
dann kann ich daraus eine Wahrscheinlichkeit für die,
oder habe ich eine Verteilung über die unterschiedlichen Welten,
für das positive Alarmsignal.
Ich kann daraus aber natürlich jederzeit wieder Schluss folgern,
was das entsprechende Negative, die negative Information ist.
Also für Nordalarm, Given Fire on Tempering,
indem ich wieder das Kompliment bilde. Gut,
und das geht hier, das ist die komplizierteste Variante.
Hier ist es einfacher. Ich kenne also die Wahrscheinlichkeit von Smoke gegeben,
Fire, also kenne ich auch die Wahrscheinlichkeit von Nord Smoke
gegeben Fire
Weil bedingte Wahrscheinlichkeiten ja immer auf diese Evidenz hier hinten normalisieren.
Das ist ja dann wieder die Bezugsbasis. Das heißt also,
das ist dann 0,1 und hier habe ich eben das umgekehrte Rauch gegeben,
Nicht-Feuer ist wie ein Prozent,
also ist die Wahrscheinlichkeit von Nichtrauch gegeben, Nicht-Feuer gleich 99 Prozent.
Das sind unsere bedingten Wahrscheinlichkeitstabellen, die wir für jeden dieser Variablen hier aufstellen müssen.
Also für Tempering haben wir eben nur eine Wahrscheinlichkeitstabelle, die sagt,
was ist die Wahrscheinlichkeit von Tempering und von Nicht-Tempering,
das Gleiche für Feuer
Hier haben wir eben eine Wahrscheinlichkeitstabelle,
wie Wahrscheinlichkeit von Alarm gegeben, Tempering und Feuer enthält.
Die muss also im Endeffekt acht Zellen haben oder acht Zahlen enthalten.
Das sind wieder einfache Abhängigkeiten. Das heißt also,
die Wahrscheinlichkeit von Leaving gegeben Alarm heißt,
ich brauche vier Zahlen, um diese Wahrscheinlichkeitsverteilung zu modellieren.
Das muss ich erst mal aufstellen. Und was ich dann haben will,
ist die Wahrscheinlichkeit von Tempering gegeben,
dass ich einen Rauch gesehen habe und gegeben,
dass mir jemand berichtet hat,
was eigentlich passiert ist
So, dann geht es los. Also, das hatten wir schon,
wir kennen die positive Wahrscheinlichkeit für Tempering mit zwei Prozent,
also kennen wir das Kompliment dazu, auch für False.
Das Gleiche für Feuer mit ein Prozent und 99 Prozent.
Das nennen wir jetzt den Faktor F0,
das nennen wir den Faktor F1 und der ist eben über,
der war ja beim Tempering definiert,
der ist über der Variablen Feier definiert.
Das müssen wir uns merken. Der Faktor für Alarm hat jetzt eben diese vier,
er diese acht Wertekombinationen über den drei beteiligten Variablen.
Und das ist das, was ich vorhin erwähnt habe.
Die Tatsache, dass die hier als bedingte Wahrscheinlichkeit
miteinander kombiniert sind,
die ignorieren wir einfach
Das entspricht im Übrigen der Operation, die vorhin in diesem kurz,
in diesem Sketches eines Algorithmus für das Entfernen irrelevanter Variablen aufgetaucht ist,
dass wir einfach die Richtung der Pfeile ignorieren.
Das hat wieder was damit zu tun,
dass wir eben diese bedingten Wahrscheinlichkeiten sowohl benutzen können,
um von den Ursachen zu den Wirkungen zu schließen,
als auch von den Wirkungen zu den Ursachen.
Wir tun einfach so, als sei das eine bidirektionale Beziehung,
die dazwischen herrscht. Wir sagen jetzt nur noch,
was sind die entsprechenden Kombinationen? Und das sind eben die
bedingten Wahrscheinlichkeiten von Alarm, gegeben, Tempering und Feier.
Aber diese Informationen ignorieren wir. Und die Wahrscheinlichkeit, die
tragen wir hier einfach ein. Also von Alarm gegeben,
Pempering und Feier, das waren diese 50 Prozent hier.
Und der Gegenteil von Feuer und Nicht-Tempering ist 99 Prozent,
das ist dann diese Zahl hier.
Und hier unten, das sind die Komplimentbildungen dazu.
Das ist das Kompliment zu dem hier, das ist das Kompliment zu dem.
Das ist das Kompliment zu dem und das ist das Kompliment zu dem.
Hier sehen wir auch, da wir ursprünglich bedingte Wahrscheinlichkeiten hatten,
die wir jetzt aber in diesen Faktoren umwandeln,
dann können das hier hinten keine bedingten Wahrscheinlichkeiten mehr sein,
weil wir eben die Bedingung einfach ignoriert haben.
Deshalb summiert sich das hier hinten nicht zu eins
Gut, weil eben die bedingten Wahrscheinlichkeiten,
das haben wir eben bei der Komplimentbildung ausgenutzt, immer für den gleichen Bedingungsteil,
für die gleiche Evidenz, sich zu eins addieren müssen.
Hier machen wir aber Aussagen über ganz unterschiedliche Evidenzen,
allerdings immer, hier haben wir die Evidenz Trutu,
hier haben wir die Evidenz Trutu,
also muss das das Kompliment von dem sein, zu eins natürlich.
Die anderen Tabellen sind einfacher, smoke gegeben,
wir haben hier die vier Wertekombinationen für die beiden Binärvariablen und Hier Zahlen
hatten wir gegeben, die Komplimente bilden wir da draus.
Und das Gleiche eben für Wahrscheinlichkeit von Leaving und Alarm.
Haben wir hier die Werte, die gegeben waren,
hier die Werte, die wir durch Komplimentbildung berechnen können.
Und schließlich, das müsste das Letzte sein,
der Faktor, den wir haben zwischen Report und Leaving.
Also bis dahin erstmal klar, wir nehmen die Aussagen über die Welt,
die wir haben, konstruieren daraus die Faktoren.
Möglicherweise müssen wir dann eben Komplimentbildung zur Rate ziehen,
indem wir sagen, was ist denn jeweils das Kompliment zu eins.
Und tragen erstmal für jede der Variablen,
die wir in unserem Problem drin haben,
einen solchen Faktor zusammen
Das sind die Faktoren 1 bis 0 bis 5, genau.
Wir haben sechs Knoten hier, also haben wir
auch sechs Faktoren, die wir da zusammengestellt haben.
Das sind sie, dass der mit fünf der Letzte.
Also wenn wir zusammenfassen, wir haben jetzt diese sechs Variablen,
das sind die Knoten in unserem Beliefnetz.
Wir haben die Anfrage, die also eine bestimmte Variable erfragt
und zusätzliche Bedingungen formuliert, die wir beobachtet haben.
Wir müssen jetzt Variablen eliminieren und das sind alle die,
die hier nicht erwähnt worden sind, also Feieralarm und Leaving.
Die tauchen hier in der Anfrage nicht auf, die müssen wir also beseitigen,
weil sie mit dieser Anfrage hier eben nichts zu tun haben.
Oh, sorry, Report natürlich nicht, dass es... Ach so,
ja, natürlich, wir müssen die alle beseitigen.
Wir hatten noch einen Zwischenschritt gemacht, wir müssen die alle beseitigen,
weil wir nur das Tempring wissen wollen.
Die anderen fünf müssen beseitigt werden. Wir können sie aber
auf zwei verschiedene Arten und Weisen beseitigen.
Die einen beseitigen wir dadurch, dass wir hier diese Werte
einsetzen und die anderen müssen wir tatsächlich durch Aussummieren beseitigen.
Das ist der feine Unterschied. Also,
wir haben auch noch diese sechs Verteilungen gegeben für die Variablen,
die wir in unserem Modell drin haben.
Und wir haben die entsprechenden Faktoren dafür.
Das ist der Ausgangspunkt. Jetzt können wir tatsächlich loslegen,
indem wir sagen, erster Schritt ist,
wir nehmen die beobachteten Variablen und eliminieren sie.
Wir wissen, dass Smook gleich to ist. Wir haben
diesen Faktor hier. Und dann müssen wir eben jetzt alle
die Zeilen auswählen, wo Smok gleich tru ist.
Das sind eben die ersten beiden. Und dann ist der
obere Teil der Tabelle genau unserer reduzierter Faktor.
Und zwar jetzt nur noch über Feier,
der dann eben nur noch eine Variable enthält mit den
beiden Werten Truhenfalls
Das hier ist ein etwas, ja, naja, ungewöhnliche Sichtweise,
weil man üblicherweise die Aussagen über sowas nur im Bedingungsteil hat,
aber wir können das eben auch generalisieren,
weil wir eben in beiden Richtungen schließen können.
Ja, wenn wir, wir wollen eben hier wissen,
wenn wir wissen, dass Rauch aufgetreten ist,
also eine Wirkung, wie groß, ja,
wie groß ist die Wahrscheinlichkeit,
dass Feuer die Ursache dafür war.
Das ist sozusagen das Schließen gegen die Richtung der bedingten Wahrscheinlichkeit
Das können wir für Smoke machen, genauso gut können wir
das auch für Report machen. Wir haben hier den Faktor,
und zwar den einzigen Faktor, wo Report drin vorkommt.
Wir wissen, dass Report gleich Yes ist oder Tru ist,
sollte eigentlich Truh heißen, hier steht ja immer Truh und Forz drin.
Das heißt, wir können jetzt hier wieder die ersten beiden Zeilen rausholen,
die stehen hier und die Spalte Report können wir vergessen.
Alles, was wir brauchen, ist die Spalte für Leaving.
Das ist also dieser Teil des Faktors,
den wir dadurch raus selektieren
Das war der einfache Teil. Jetzt kommt der kompliziertere Teil.
Jetzt müssen wir tatsächlich festlegen, in welcher Reihenfolge wollen wir
mit den restlichen Variablen umgehen und wir nehmen irgendeine beispielsweise Feuer.
Und es gibt noch drei Faktoren, mit denen wir,
wo Feuer drin vorkommt, einerseits eben die Apriori-Wahrscheinlichkeit zur Feuer.
Wie wahrscheinlich ist es, dass Feuer auftritt und wie wahrscheinlich ist,
dass es nicht auftritt? Und das, was wir eben abgeleitet haben,
indem wir aus Smoke und Fire Smoke eingesetzt haben.
Das ist schon ein abgeleiteter Faktor, der aus dem Faktor
3 entstanden ist, den wir eben generiert haben.
Und dann gibt es noch einen dritten, Das ist nämlich diese Kombination,
dass Alarm gegeben Tempering und Feier ja auch miteinander kombiniert ist.
Und den Faktor haben wir dann auch. Diese drei Faktoren
brauchen wir. Und die müssen wir jetzt einfach miteinander multiplizieren.
Und zwar so, dass wir dann hinterher Feier aussummieren können.
Also wir multiplizieren das F1 von Feuer, das F3. Oh,
sorry, hier muss ein Strich noch hin, der fehlt.
Das F3 von Feier mit der Achtertabelle,
wo die drei miteinander verbunden sind
Das können wir jetzt nachvollziehen, das ist ein Haufen Multiplikation,
aber im Prinzip haben wir gesehen, wie das funktioniert.
Wir müssen immer den Joint zwischen zwei Tabellen bilden,
was hier relativ einfach ist, weil die eben nur noch einstellig sind.
Wir müssen also die Werte für Feier, die wir hier haben,
mit den Werten, die wir hier für Feier haben,
kombinieren und dann die Summe über alle Ausprägungen von Feier bilden.
Damit kriegen wir einen reduzierten Faktor,
der nur noch von Tempering und Alarm abhängt.
Feuer ist jetzt vollkommen aus der Betrachtung raus, das gibt
es nicht mehr. Alles, was wir jetzt noch haben,
sind eben diese Faktoren hier, die noch übrig sind.
Und wir müssen jetzt wieder sagen, welchen wollen wir
als nächstes angehen
Irgendeinen müssen wir angehen. Es ist wahrscheinlich irgendeiner,
das Tempering natürlich nicht, das ist das, was wir haben wollen.
Wir wollen ja wissen, wie groß ist die Wahrscheinlichkeit für Tempering.
Das soll man natürlich nicht draus addieren wollen.
Also wir nehmen als nächstes beispielsweise den Alarm,
da haben wir zwei Faktoren,
die noch Alarm enthalten und die müssen wir miteinander multiplizieren,
in dem Sinne, wie wir das haben.
Die Join ist jeweils das zweite Attribut. Das heißt,
wir müssen True hier mit True hier kombinieren und kriegen dann
für Leaving und Tempering die Kombination Toto heraus
Und das müssen wir eben überall dort machen, wo Truva ist,
wo Truge gegeben, oh Gott. Wo Truge gegeben ist,
das heißt, wir müssen die Kombination Tru,
Tru ergibt sich als Summe von, als Produkt von diesem,
nee, als Summe soll wir summieren, aus,
als Summe von diesem und von diesem Eintrag.
Die Kombination True Falls ergibt sich aus der Summe von diesem Eintrag,
Quatsch, ich muss erst multiplizieren und dann muss ich aussorbieren.
Jetzt nochmal langsam, also erst multiplizieren, ich glaube,
auf der nächsten Folge steht's. Nee,
da steht nur das Ergebnis, das hilft uns nicht weiter.
Also müssen wir es nochmal durchbuchstabieren, ich muss erst multiplizieren. Das heißt,
ich will denen die Kombination für Leaving True Alarmtrue haben,
also alle Zeilen, wo ich hier tue, habe,
hier tue habe und den Wert für True ebenfalls miteinander multiplizieren,
diesen Wert mit diesem Wert und dann aber auch für Falls,
also diesen Wert mit diesem Wert hier
Miteinander multiplizieren. Und anschließend kann ich dann die Kombination von,
die Zeilen mit Alarm aus addieren.
Und das Ergebnis steht jetzt hier, die Zahlen werden zunehmend komplizierter.
Also ich habe dieses Produkt gebildet, ich summiere Alarm aus
und das ist das, was übrig bleibt.
Dadurch reduziert sich jetzt meine Liste der Faktoren weiter.
Ich kann wieder irgendein Faktor auswählen. Der Einzige,
der nicht mehr was mit Tempering zu tun hat,
ist der Leaving-Faktor. Den muss ich also als nächstes wählen
, die Entscheidung fällt jetzt
Schwer. Wir haben einerseits die Tabelle, die durch Einsätzen
vorhin entstanden ist, und zwar durch Einsätzen von Report gleich True.
Und andererseits haben wir den Faktor der Tempering mit Leaving verbindet.
Wir müssen die beiden wieder multiplizieren und anschließend das Tempering ausaddieren
und das Ergebnis steht dann auf der nächsten Folie.
Das ist dann nur noch eine Tabelle, die Tempering enthält.
Also Faktor 8 enthält nur noch das Tempering. Jetzt ist
der Punkt erreicht, wo wir nur noch Tabellen haben,
die Tempering enthalten, nämlich die Apriori-Wahrscheinlichkeit für Tempering und dieser
Faktor hier
Und die müssen einfach miteinander multipliziert werden. Ich habe also
hier die Apriori-Wahrscheinlichkeit. Hier habe ich diese Faktor,
den ich eben berechnet habe, die werden einfach multipliziert.
Und ich kriege also einen Resultatsfaktor, der mir zumindest den Unterschied,
den Kontrast zwischen Tempering, True und Tempering Falls verdeutlicht.
Also die Wahrscheinlichkeit, dass manipuliert wurde,
es deutlich geringer als die Wahrscheinlichkeit, das nicht manipuliert wurde.
Und das liegt eben ganz einfach daran,
weil wir Smoke of True gesetzt haben.
Smoke hat mir beobachtet
Und wenn Rauch aufsteigt, ist natürlich die Wahrscheinlichkeit,
dass es am Manipulieren der Alarmanlage liegt, relativ gering gegenüber der Wahrscheinlichkeit,
dass es an einem Feuer gelegen hat. Das macht diesen Unterschied aus,
wenn ich die Wahrscheinlichkeiten selber wissen will,
das können wir sie berechnen,
indem wir jetzt sozusagen das Ganze nochmal normalisieren,
indem wir diese Faktor,
den wir eben hatten,
da das Tempering nochmal raussummieren und damit den Normalisierungsfaktor haben und
dann kriegen wir eben diese Wahrscheinlichkeitsverteilung von 1
zu 99 heraus
Ja, das ist ein paar Fondsschritt, wenn wir uns nochmal angucken, was haben wir gemacht.
Wir haben als Erstes den Faktor Smoke Fire genommen,
also die Bedingte Wahrscheinlichkeit, dass Rauchauftritt gegeben,
dass ein Feuer aufgetreten ist und haben das kombiniert mit der Beobachtung,
ja wohl Rauch ist aufgetreten und haben damit einen Faktor,
der nur noch etwas über Feuer aussagt, abgeleitet.
Der zweite Punkt, wo wir das auch gemacht haben,
ist, wir haben einen Faktor,
der etwas über den Zusammenhang zwischen Leute verlassen,
das Haus und Report sagt, also was ist die Wahrscheinlichkeit von Bericht gegeben,
Leute verlassen das Haus und wir haben einen Bericht bekommen,
die, da können wir auch wieder diesen Wert einsetzen und reduzieren,
das zu einem Faktor, der nur noch Leaving enthält.
Das war sozusagen das vajablen Eliminieren durch Einsätzen der Beobachtungen.
Und dann kommt der zweite Teil Vajablen, eliminieren durchaus summieren.
Wir sammeln alle Faktoren, die Feuer enthalten,
weil wir Feuer auszusummieren wollen,
multiplizieren sie miteinander und summieren aus und kriegen dann eben einen Faktor,
der nur noch Tempering und Alarm enthält.
Diese beiden bei Jablen
Dann müssen wir uns entscheiden, wie wir weitermachen. Wir haben uns entschieden,
wir nehmen Alarm als nächstes, also haben wir zwei Faktoren,
die Alarm enthalten, wir multiplizieren die beiden, summieren aus und kriegen einen Faktor,
der nur noch etwas über Tempering und Leaving sagt.
Jetzt haben wir hier einen Faktor, der was über Tempering und Leaving sagt,
hier einen, der etwas über Leaving sagt,
Tempering interessiert uns, wir können also Leaving aussummieren,
müssen diese beiden Faktoren miteinander multiplizieren und Leaving aussummieren,
lässt einen Faktor übrig, der nur noch etwas über Tempering sagt,
wir haben eine Apriori-Wahrscheinlichkeit für Tempering noch nicht berücksichtigt,
Die muss,
kommt jetzt mit dazu.
Hier können wir nichts mehr aussummieren. Wir haben nur noch
die erfragte Variable da. Also wird das einfach miteinander multipliziert
. Wir haben dann den Faktor 9 über Tempering,
der alle Wahrscheinlichkeitstabellen jetzt berücksichtigt hat.
Wir haben nichts mehr, was unberücksichtigt geblieben ist.
Das heißt also, hier können wir auch nichts weiteres mehr hinzuziehen.
Alles, was uns noch bleibt, ist das Ganze
zu normalisieren und dann sind wir fertig.
So, der freie Paramir, der ist schon erwähnt,
dass es eben hier diese Eliminierungsreihenfolge zuerst Feuer,
dann Alarm,
dann Leaving
Ja, und das ist ein Freiheitsgrad, den können wir auch anders wählen.
Und das, was wir uns mal überlegen können,
ist, was sind gute Heuristiken, wie wir vorgehen sollten?
Beim Eliminieren von Variablen. Hier ist also ein weiterer,
ein anderes abstraktes Beispiel gegeben.
Wir haben ein Beliefnetz wieder. Wir wollen wissen,
was ist die Wahrscheinlichkeitsverteilung für die Variable G gegeben,
die Beobachtung F. Das ist ein konkreter Wert für dieses
Und wir wählen irgendeine beliebige Eliminationsreihenfolge und dann können wir eben loslegen,
dass wir diese Wahrscheinlichkeit von G gegeben F, ist zumindest proportional,
das heißt das, weil wir eben noch nicht normieren,
solange wir es nicht erzwingen, wird nicht normiert,
dann werden einfach Faktoren miteinander multipliziert.
Ist eben einfach, dass außer mir in allerrestlichen Variablen,
außer G und F aus diesem Produkt, was wir hier haben.
Ja, und das ist das Produkt, das sind nämlich alle Wahrscheinlichkeitstabellen,
die hier kuriert sind. Also A hat nur eine Apriori-Wahrscheinlichkeit,
aber es gibt eine Wahrscheinlichkeitsverteilung für B gegeben A,
das ist diese hier, für C gegeben B, das ist diese hier.
Eine für D gegeben C, das ist diese, eine für Gustav,
brauchen wir nicht, das ist ja fragte bei,
ach doch, Gustav haben wir natürlich auch,
G gegeben C, das geht hier hinten.
Wir haben E gegeben D, das ist diese hier.
Wir haben F gegeben E, das ist diese hier,
wo wir den Wert F schon eingesetzt haben.
Und wir haben Hage GM E, das ist die hier hinten.
Und jetzt sortieren wir die eben in der Reihen,
wenn wir uns auf die Reihenfolge erst A,
dann B, dann E, dann E, C,
wenn wir uns darauf festgelegt haben,
Dann gucken wir uns als allererstes die Faktoren an,
die A enthalten und klammern alles andere aus.
Also alle Faktoren, die A enthalten, die bleiben unter
der Summe A stehen. Das sind nämlich diese beiden hier.
Und alles andere wird vor die Klammer gezogen.
Oder hier eben hinter die Klammer, das ist ja egal.
Und dann müssen wir uns für den restlichen Ausdruck,
der jetzt eben noch ab hier alles enthält,
gucken, was passiert, wenn wir Haar ausklammern.
Da gibt es nämlich nur eine einzige Wahrscheinlichkeitsverteilung,
das ist die hier, die bleibt unter der Summe über Haar stehen.
Alles andere wird ausgeklammert
Und dann haben wir eben noch alles, was hier dazwischen steht.
Und daraus soll eh ausgeklammert werden. Und das sind diese
beiden Ausdrücke hier. Diese beiden Wahrscheinlichkeitsverteilungen.
Das sind die, die bleiben unter eh stehen.
Und so geht das weiter. Das nächste wäre D aus,
Klammern, das sind diese beiden Wahrscheinlichkeitsverteilungen. Achso, nee,
halt die steht ja wegen eh hier unter Nebensummen drunter.
Bleibt also nur die übrig. Die wird vor die Klammer
gezogen und dann wird über de aussummiert. Nächstes ist B,
was ausgeklammert werden sollte, dass es dieser Ausdruck hier,
die beiden haben wir bereits, unter A,
die kriegen wir dort nicht raus,
weil sie
von A abhängig sind
Also können wir dann noch das C gegeben B ausklammern,
das ist dieser Therm.
Und zum Schluss bleibt noch dieser Therm hier übrig.
Das ist der, das ist der sozusagen über den C
, dann den Skopus hat und darüber summiert.
Das ist also die effiziente Berechnung für die gesuchte Wahrscheinlichkeit P gegeben
F. Wir geben eine Anordnungsvariante, also eine Eliminationsordnung.
Und die Frage ist jetzt, was sind günstige Operationen,
sodass die Berechnung
möglichst simpel wird
Haben Sie irgendwie mal schon mal einen Verdacht? In welcher Reihenfolge sollte ich vorgehen,
dass ich diese vaiablen Eliminationen möglichst effizient durchführen kann?
Weiß es jemand, wie die optimale Reihenfolge in der Datenbankwelt ist,
was die Heuristik ist, nachdem ein Datenbankoptimierer die SQL-Anfragen umformt,
sodass es effizient berechenbar ist?
Ja. Institutionsprojekte zuerst machen
Ja, warum? Reaktion einfach, die Arbeit. Genau
, die Tabellen werden möglichst klein, die dabei entstehen.
Und das ist die Frage,
welche Kombinationen oder welche Variable sollten wir zuerst anfassen,
sodass keine größeren Tabellen entstehen oder dass wir
möglichst kleine Tabellen behalten
Das ist hier schon nicht ungeschickt gemacht, am Anfang jedenfalls nicht.
Als allererstes wird A aussummiert. Warum ist das eine gute
Wahl? Die Palama unabhängig ist und am anderen halt mit
einer Tabelle drin ist, wo nur ein Wert ist,
das heißt, das wird wieder nur ein...
Ganz unabhängig ist es nicht, es ist schon,
es gibt eine Abhängigkeit, ja gut, es ist,
ja, ja natürlich,
es hat keine Elternknoten,
das ist das Wesentliche
Wir haben nur eine Apriori-Wahrscheinlichkeit dafür. Und wenn wir es
aussummieren, dann sehen wir doch hier, was passiert.
Wir haben das Produkt, der Apriori-Wahrscheinlichkeit für A,
mit dieser bedingten Wahrscheinlichkeit. Wenn wir A aussummieren,
bleibt hier drin noch was übrig. Eins. Nö.
Nö. Über A. Na, B bleibt immer noch drin.
Das geht ja dadurch nicht raus. Okay, ja.
Faktor eins, und das liegt der Wahrscheinlichkeit noch da.
Achso, ja genug. Einmal P von B. Also
wir haben die Wahrscheinlichkeitsverteilung von B, bleibt nur übrig.
Das heißt, wir haben das Problem hier oben vereinfacht
Zu einem Problem, wo dieser Knoten nicht mehr existiert und wir für diesen Knoten
eine Apriori-Wahrscheinlichkeit haben, genauso wie wir vorher eine 4A hatten,
die wir ja ja eben beseitigt haben.
Also wir haben das Netz um einen Knoten kleiner gemacht,
ohne dass irgendwie zusätzlich Komplexität entstanden ist.
Und das ist der Idealfall. Also wir sollten immer versuchen,
von den Rändern her das Problem zu bearbeiten,
indem wir eben Vagablen haben, die keine Elternknoten haben.
Und wenn wir die raus eliminieren,
bleibt eben nur die Apriori-Wahrscheinlichkeit für den einzigen Tochterknoten übrig
Und damit haben wir das Problem um eins verkleinert,
aber die Komplexität an keiner Stelle größer gemacht.
Also keine komplexen Tabellen eingerichtet. Das ist also offensichtlich
eine gute Wahl. Wir können das genauso exerzieren hier für
eine solche Wahrscheinlichkeit. Das haben wir eben auch hier,
wenn wir hier aus diesem Ausdruck Haar aussummieren,
dann kommt in diesem Fall tatsächlich eins raus.
Also von den Rändern her, das Ganze zu vereinfachen,
ist immer eine gute Idee,
irgendwo mittendrin einen Knoten zu ersetzen,
das kannst du zusätzlicher Komplexität führen
Also ein paar solche Heuristiken gibt es, aber keine Generelle,
sodass es also immer noch insbesondere ein NP,
hartes Problem ist, die optimale Elimentationsreihenfolge zu finden.
Da ist man also auf ein paar wenige relativ schwache Heuristiken angewiesen.
Zum Glück haben wir nicht für viele praktische Fälle und die
werden wir, das werden wir gleich sehen,
für viele praktische Fälle haben wir nicht Netze beliebiger Struktur vorliegen.
Also sowas, wie wir das eben für unseren Verdrahtungsproblem
hatten hier
Ja, das sieht ja auf den ersten Blick erst mal völlig unübersichtlich aus.
Oh nein, ich hätte lieber nicht zurückblättern sollen. Das ist ja jetzt,
jetzt, ja, das sieht schon völlig unübersichtlich aus.
Wir wären im weiteren Spezialfälle von solchen Netzen betrachten,
die also eine wesentlich einfachere Struktur haben.
Und die eher dem ähneln, was wir eben als dieses
künstliche Problem uns angeguckt hatten.
Und da können wir dann auch wesentlich effizienter die ganzen Berechnungen durchführen,
weil von vornherein klar ist,
an welcher Stelle wir mit der Vereinfachung ansetzen sollten
Das ist eben hier die Entscheidung über A, war eine gute Entscheidung.
Und genauso würden wir als nächstes jetzt lieber erstmal B entfernen.
Das gleiche Rezept können wir ja für B anwenden.
Und dann kriegen wir eben eine Apriori-Wahrscheinlichkeit für C heraus.
Und dann braucht man nur noch diesen Rest zu betrachten.
Also wenn wir in der Richtung der Kausalbeziehung hier einfach vaiable,
für vaiable entfernen, dann ist das relativ effizient.
Barverfahren Nummer eins, Verfahren Nummer zwei, ganz kurz,
die Idee ist stochestische Simulation betreiben.
Und das badiert immer darauf, ich nehme Stichproben von
möglichen Welten
Berechne daraus die Wahrscheinlichkeiten ihres Auftretens. Ja,
also ich zähle immer, welche, welche vajablen Belegungen,
wie oft aufgetreten ist und kann daraus dann eben Wahrscheinlichkeiten abschätzen,
wenn ich denn diese Zahl M groß genug mache.
Das ist immer das Gesetz der großen Zahl, das ich
für hinreichend große Stichprobengröße, gute Approximationen der Wahrscheinlichkeiten bekomme.
Das Ganze heißt auch immer Maximum Likely Hood Estimation. Und die Idee ist jetzt,
sind wir in der Lage über einer Wahrscheinlichkeitsverteilung zu sampeln,
um dann die entsprechende Wahrscheinlichkeitsverteilung schätzen zu können.
Und das eben auch über Posteria-Verteilungen, die uns ja gerade interessieren,
also solche für eine Vagable nach Beobachtung der Werte anderer Variablen.
Das ist ja genau das, was wir machen wollen.
Und das können wir tatsächlich machen. Wir gucken uns hier
nur den Fall an, wie sampled man über einer Dimension.
Wir brauchen das dann auch für mehrere Dimensionen und das Verfahren,
was hier verwendet wird. Das taucht auch in der Übung
wieder auf. Das Problem besteht also darin,
wir haben eine eine Wahrscheinlichkeitsverteilung für diese Variable gegeben und wir wollen jetzt Samples davon generieren.
Das heißt also, Dinge, die nach der Wahrscheinlichkeitsverteilung häufig
auftreten, sollen auch häufig gewählt werden dabei.
Und wie kann man das am besten realisieren,
dass es eben hier genauer beschrieben, wir addieren die Wahrscheinlichkeit kumulativ auf.
Das hat im Deutschen auch eine Bezeichnung, die mir aber
leider Gottes entfallen ist. Wahrscheinlich. Also wie sieht wie,
wir haben Wahrscheinlichkeitsverteilung im kontinuierlichen Bereich immer beispielsweise eine Gaussverteilung und wenn wir jetzt kumulativ aufsummieren,
dann kriegen wir eine Verteilung dieser Art,
dass wir hier immer alle Werte, die kleiner sind,
als eine bestimmte Schranke haben und dann konvergiert das irgendwann gegen eins.
Wie heißt die Tat, das Ding? Das hat in
der Mathematik einen Namen. Das ist mir aber dummerweise,
haben Sie es? Bitte? Nee, nee,
nee, nee, das ist nur die Form der Kurve.
Das hängt jetzt von der, hier drunter können ganz unterschiedliche Verteilungen sein.
Wir werden hier gleich im nächsten Falle sehen, das können auch diskrete Verteilungen sein.
Es geht nicht um die Form der Kurve, sondern darum,
dass das eine kumulative Wahrscheinlichkeit ist, die also für Großes,
für große Werte gegen eins konvergiert, das ist,
die hat die Form einer Signoidkurve, das ist richtig,
aber die hat irgendeinen Namen, ich habe sie vergessen.
Hier ist die Wahrscheinlichkeitsverteilung für vier diskrete Werte mal hypothetisch aufgezeichnet
und dann sieht diese kumulative Kurve eben so aus,
dass ich hier unten einen Sprung mache,
der genau dieser Wahrscheinlichkeit entspricht.
Und hier mache ich einen Sprung, der genau dieser Wahrscheinlichkeit entspricht.
Und hier mache ich einen Sprung, den dieser Wahrscheinlichkeit entspricht.
Und das ist die letzte. Und dann bin ich hier
oben bei 1 angekommen. Und wenn ich jetzt einen Zufallswert
zwischen 1 und 0 wähle oder zwischen 0 und 1 wähle,
dann brauche ich immer nur den entsprechenden Wert hier abzulesen und kann dann eben feststellen,
oder Kriege, die Werte,
den Wert V2 mit der Wahrscheinlichkeit gesampelt,
die ja lauter der Verteilung hat
Das bruht ganz einfach darauf, dass ich eben annehme,
dass ich diese, ein Zufallszahlengenerator habe,
der zwischen 0 und 1, die zahlen gleichmäßig erzeugt.
Und weil dieses Intervall hier größer ist als dieses Intervall,
wird es also den Wert V2 häufiger wählen als den Wert
V3 und zwar genau proportional zu den hier angegebenen,
zu der hier angegebenen Verteilung,
gegeben natürlich die Tatsache,
dass das wirklich ein echter Zufallsprozess ist,
den ich noch reinstecke
Also dies nur als Möglichkeit, wie man eben
einen numerischen Zufallzahlen-Generator in eine diskrete Auswahl umwandeln kann.
Das ist einzig und allein die Botschaft hier. Wir können jetzt
also sozusagen Beobachtungen generieren, die eine bestimmten Zufallsverteilung genügen.
Also wir haben ja eine Apriori-Wahrscheinlichkeit für Tempering beispielsweise gehabt und
wir können jetzt Daten erzeugen für Tempering, Two und Tempering
Falls, die einer gewissen Wahrscheinlichkeitsverteilung gehören.
Und die können wir in die Berechnung der Wahrscheinlichkeiten mit einbeziehen.
Und auf die Art und Weise sind wir in der Lage,
alle Vagablen mit gesampelten Werten zu versehen und und sukzessive an die gewünschte Variable anzunähern.
Das ist der ganze Prozess der stochastischen Simulation. Also ich,
Sample, die Variablen,
immer eine Zwischenzeit und beachte dabei aber die Abhängigkeitsreihenfolge in dem Beliefnetz,
in dem ich immer zuerst die Elternknoten angucke,
ehe ich zu dem Tochterknoten tatsächlich komme,
was eben dafür sorgt, ich kenne alle Elternknoten,
weil ich ja die Werte bereits gesampelt habe,
ich kenne die Wahrscheinlichkeit der Elternknoten,
dann kann ich natürlich ganz,
ganz einfach mit Hilfe der bedingten Wahrscheinlichkeitstabelle die Wahrscheinlichkeit für
den Tochterknoten ausrechnen
Ja. Und ja,
wenn ich also die Werte für X habe,
dann sample ich wieder die Werte für X in Übereinstimmung mit der Wahrscheinlichkeitsverteilung,
die sich aus den Elternknoten ergibt.
Ja, und das ist ein gerichteter arzyklischer Graf.
Kann ich also von den Apriorivat-Verteilungen bis hin zu den letzten
Konsequenzen des Netzes durchdrücken. Und dann habe ich Falscheinigkeitsverteilungen für
alle Knoten, auch unter Berücksichtigung bestimmter Beobachtungen.
Denn Beobachtungen führen ja nur dazu,
dass bestimmte Werte ausgeschlossen sind
Gut, das ist ein Prozess,
den man im einfachsten Falle mit einer Vergleichsverteilung machen kann,
dass man also für jedes Sample, was sich ergibt,
einfach eins draufzählt, dass es wieder eine Beobachtung gab.
Und zwar nehmen wir immer nur Samples,
die mit einer Beobachtung tatsächlich konsistent sind.
Also wir haben eine Beobachtung gegeben und wir berücksichtigen immer nur
die Samples, die mit dieser Beobachtung tatsächlich verträglich sind.
Und auf die Art und Weise kriegen wir dann
die gewünschten Beobachtungen tatsächlich mit ins Spiel rein.
Das ist hier wieder für unser Tempering-Beispiel
mal angegeben
Wir haben also wissen, dass es einen Rauch gegeben hat
und dass es einen Report gegeben hat.
Wir haben ein erstes Sample, eine erste gesampelte Belegung für unsere Variablen erzeugt.
Wird sie berücksichtigt, wird sie nicht berücksichtigt?
Wir sample nur Belegungen, die mit diesen Forderungen hier
verträglich sind
Ja. Ja, genau, Report True ist gefordert,
hier steht ein Falls, also wird es nicht berücksichtigt.
Ja, nächster Sample-Schritt, können wir,
geht das in die Statistik ein oder nicht?
Ja, Smoke ist drue und Report, es true.
Das heißt, das ist ein Sample, was wir berücksichtigen können.
Wir können auf die Art und Weise, das ist das
schöne Feature, dieses Vorgehens, auch unvollständige Beobachtungen berücksichtigen.
Hauptsache, sie sind mit dieser Beobachtung verträglich hier.
Also wir wissen den Wert von Report nicht, aber es
ist verträglich damit. Also das ist durchaus auch ein Nein,
die dürfen wir nicht berücksichtigen, sorry, oder?
Ach, Ass und Mistfalls, ja, sorry,
ich war schon beim nächsten Beispiel.
Hier ist SM2 und Report True, dann,
das können wir mit berücksichtigen. Und das fällt wieder weg,
weil Smokes und Falls ist, das wird nicht berücksichtigt.
Wenn wir jetzt also tausend Samples auf die Art und Weise
ermittelt haben, wie können wir jetzt berechnen,
wie viele Samples tatsächlich berücksichtigt wurden oder wie viele abgelehnt worden sind?
Also können wir das rückwärts schließen
Also wir wissen, die bedingte, die Wahrscheinlichkeit,
dass es einen Rauch gegeben hat,
aufgrund unserer gesampelten Datenmenge ist zwei Prozent.
Und die Wahrscheinlichkeit, dass wir einen Report kriegen, gegeben,
dass es Rauch aufgestiegen ist, ist ein Drittel ungefähr.
Lässt sich jetzt rückwirkend sagen, von diesen tausend Samples,
die wir hier haben,
wie viele Samples liegen diesen Schätzungen zugrunde
Ja mal eine Idee. Jetzt müssen wir den Baukasten der
Wahrscheinlichkeitslehre greifen und gucken, ob da da irgendwas finden,
was darüber Auskunft gibt, ja.
Sie haben schon was gefunden? Nein, Sie ziehen wieder
zurück. Ich vermute mal, dass wir 20,
ich sende jetzt beim Gästen noch kaufen und dann ungefähr sieben beim Zeichen.
Aha. Weil sieben ungefähr ein Drittel von 20 ist? Gut,
aber wie, woher wissen Sie, dass wir,
dass die Wahrscheinlichkeit von Smoke irgendetwas über die Anzahl der Samples
aussagt,
die wir berücksichtigt haben
Ja, wenn das alles sich einnimmt.
Und wenn ein Maisierer wirklich wendet, ausgeführt wurde,
und wir haben eine Wahrscheinlichkeit von zwei Prozent, das ist noch Tools.
Ja. Dann haben wir bei 1000 Cent. 20 Prozent Wahrscheinlichkeit,
das sind 20 Xentus, wo es hat Tools.
Mhm. Und dann beim nächsten Halt, und dann ungefähr 33 Prozent,
so ein Drittel, dass wenn das eine Oktour haben.
Ja. Das würde dann auch ein Repop bekommen.
Das heißt, ein Drittel von 20 ist dann die Berufssieg.
Ja gut, aber welcher lehnen wir tatsächlich ab
Ja, von ihm. Oder wie viele benutzen wir?
Sagen wir so, wir haben ja hier eine Forderung.
Und nur die, die der Forderung genügen, die benutzen wir.
Also beantworten wir lieber die zweite Frage. Die erste ist dann das
einer Kompliment davon. Also wir benutzen sieben insgesamt und schmeißen
die Freunde nach 15 Jahren. Ja, das ist,
wir können es auch auf eine andere Art und Weise ausrechnen,
die Verbundwahrscheinlichkeit von den beiden,
ist das hier mal dem,
ist ungefähr 0,06 noch was,
64 genauer
Und das ist ziemlich dicht dran, an den von ihnen abgeschätzten 7 Prozent.
Ich hatte es auch unten abgerundet und sechs gesagt,
aber sieben ist keine schlechte Schätzung dafür. Gut, also schön,
es gibt zwei verschiedene Arten und Weisen, wie man es sich überlegen kann.
Das ist die Botschaft davon. Das Ganze,
und damit höre ich dann auch auf,
das Ganze kann man jetzt wieder noch machen,
während wir bisher immer jeder Treffer ist genau ein Count, den wir haben.
Also wir haben immer hier eins aufaddiert für jedes Sample,
was wir gefunden haben, was passt.
Das Ganze kann man auch noch machen, indem man es wichtiget,
indem uns irgendeiner sagt, dass eine bestimmte ja,
ein bestimmtes Sample oder eine bestimmte Wert für irgendeine vaiable,
besonders wichtig ist für das, oder eine vaiable,
besonders wichtig ist für die Entscheidung.
Deshalb kann man das also auch noch wichtigen mit einer Gewichtungsfunktion
und dann ist man in der Lage,
sozusagen einen Bias in das Sampling hineinzubringen,
dass man sagt,
bestimmte Dinge im Sampling gefallen mir besser als andere Dinge
und das nennt man dann eine Proposal Distribution
Auf die Art und Weise kann man eben den Sampling-Prozess auch noch steuern.
Man muss allerdings sicherstellen und da sieht man,
dass die Katze sich in den Schwanz beißt,
dass diese Proposal-Distribution, die man reinsteckt in das Sampling,
möglichst dicht an der gewünschten Postilla-Verteilung dran ist.
Das ist sozusagen eine Art Orakel, was ich habe,
was mir sagt, ja, die Wahrscheinlichkeitsverteilung wird ungefähr so aussehen müssen,
ich überlasse es immer noch dem Sampling,
die nötigen Daten dafür zu generieren,
aber ich sage dem Sampling schon mal,
wo ist die besondere Aufmerksamkeit hinrichten soll.
Das müssen wir also nicht unbedingt weiter vertiefen,
das sagt nur,
dass auch da wieder noch
zahlreiche Modifikationen möglich sind
So, jetzt ist eigentlich,
wir sind jetzt bei basischen Netzen oder Beliefnetzen, die keine Zeitdimension haben,
so ziemlich am Ende und ich hätte jetzt ganz gerne zwei Sachen eingebaut,
die etwas mit den Anwendungen zu tun haben und zwar aus zweierlei Sicht.
Einerseits die Sicht der Psychologie,
wo es um menschliche Perzeptionen geht und andererseits die Frage,
wie kann ich Computersysteme bauen im Hinblick auf eine gute Mensch-Maschine-Interaktion,
die Ich würde nur eher Gebrauch machen von solchen Belief-Netzen.
Das überspringe ich jetzt einfach mal,
verspreche aber, es kommt hinterher,
weil ich ganz gerne erst noch die einfachen Sequenzmodelle vorziehen möchte,
die wir in der nächsten Übung dann brauchen.
Und deshalb, ja, hier sind wir. Also,
wir machen jetzt den Schritt auf der formalen Ebene von Modellen über A-Temporale Beobachtung.
Wir haben bis jetzt uns nicht darüber Rechenschaft abgelegt,
was passiert zuerst, was passiert später. Wir haben zwar kausale Beziehungen,
kausale Beziehungen sagen immer auch etwas über temporale Beziehungen,
dass wir sagen,
die Ursache muss zuerst da sein,
ihr die Wirkung eintreten kann
Die meisten Beziehungen sind von der Art,
aber wir haben den temporalen Aspekt überhaupt noch nicht berücksichtigt.
Das soll jetzt passieren. Jetzt gehen wir davon aus,
dass wir eine dynamische Welt haben,
in der man immer ganz klar sagen kann,
was passiert zum Zeitpunkt 1, was passiert zum Zeitpunkt 2,
was passiert zum Zeitpunkt 3 und wo die Abfolge dieser Dinge tatsächlich eine entscheidende Informationsquelle ist,
die ich nicht vernachlässigen kann.
Das heißt, ich muss jetzt meine Beliefnetze,
um eine zeitliche Dimension erweitern und die kriegen dann eben sequenziellen Charakter,
weil ich, weil Zeit eben eine sequenzielle Eigenschaft ist,
wo es sich über einer Zeitachse verändert.
Wir werden immer diskrete Zeit Modelle betrachten und nicht kontinuierliche Zeiten.
Wie ja im Computer Kontinuität sowieso eine Chimäre ist. Also Dynamik heißt immer,
ich habe Informationen, die veraltet mit der Zeit,
die wird un, die wird überflüssig oder unaktuell.
Ich kriege neue Informationen und muss meine Modelle auf die
neue Situation anpassen und das ist eben,
wenn ein Agent irgendwelche sinnvollen Entscheidungen treffen soll,
dann muss er diese Dynamik des Gebietes mit berücksichtigen.
Das ist also egal, ob das der Roboter ist,
der durch die Gegend fährt oder ob es
der Finger auf dem Touchpad ist,
der irgendwelche Bewegungen macht
Oder ob es das Sprachsignal ist, was ich verarbeiten will und
und so weiter. Auch Sequenzen müssen nicht temporale Sequenzen sein.
Das können auch räumliche Sequenzen sein, beispielsweise in Bildern,
bestimmte Kantenzüge in Bildern, kann ich auf die Art und Weise modellieren.
Es können auch beliebige andere Sequenzen sein,
das sind etwa die Anwendungen in der Gentechnik.
Wenn ich also Genomsequenzen habe und irgendetwelche Hypothesen darüber machen soll,
ob dort ablesende oder nicht ablesende Genabschnitte vorliegen,
dann brauche ich auch Modelle, die Sequenzen verarbeiten können,
aber das hat überhaupt nichts mit der Zeit zu tun in
dem Fall
Die Dynamik von solchen Welten,
also wenn es sich denn um Zeitdynamik handelt,
die kann man eben beschreiben,
indem man ein zustandsbasiertes Modell nimmt und zustandsbasiertes Modell heißt immer,
ich bin zu einem Zeitpunkt in einem Zustand,
im nächsten wechsle ich in einen anderen Zustand.
Das kann eben, können Beobachtungen beliebiger Art sein.
Ich bin im Zustand T1 noch wach im Tsushan T2,
bin ich bereits schlafend.
Solche Wechsel können auftreten und hoffentlich wird dann irgendwann mal wieder
ein Zustandsübergang kommen, dass ich im Zeitpunkt N
plus 25
wieder aufwache
Also, was wäre der zentrale Begriff, ist immer der Zustandsübergang zwischen zwei Zeitpunkten.
Und diese Zeitpunkte können entweder von einem Taktgeber gewählt werden,
also für Sprache nimmt man etwa alle zehn Millisekunden einen Messwert am Sprachsignal.
Nein, das ist gar nicht mal ein Masswert, sondern einen ganzen Messvektor,
ein Vector für Bildverarbeitung reicht alle 40 Millisekunden, eine Beobachtung aus.
Das ist nämlich genau unsere Filmfrequenz, die wir immer benutzen.
Also 25 Bilder pro Sekunde, das reicht aus,
um uns den Eindruck von einer kontinuierlichen Bereich ablaufenden Welt zu zeigen,
was auch deutlich macht,
dass unser Zeitauflösungsvermögen im Hörbereich wesentlich besser ist als im Bildbereich.
Also die feinen Unterschiede,
die wir in der zeitlichen Struktur im Hörbereich wahrnehmen können,
erlauben uns eben beispielsweise Musik zu hören oder Sprache zu verstehen.
Mit dem Tempo der das Bildkanals werden wir dazu überhaupt nicht in der Lage.
Ich kann das natürlich auch in anderen Bereichen machen,
dann sind es eben viel, viel gröbere Zeitstrukturen.
Das also, wie ich die Zeitpunkte wähle,
hängt von meiner Anwendung ab
Es muss nicht mal sein, dass ein Taktgeber da drunter liegt,
sondern es kann auch sein, dass ich irgendeinen unrhythmischen Takt verwende,
also in der Sprache, beispielsweise jedes nächste Wort.
Dann ist es von der Wortlänge abhängig oder von der Lesegeschwindigkeit
abhängig oder was immer man als Prozess da betrachtet.
Oder wenn ich über Reiseplanung spreche,
dann können es eben Umsteigerpunkte sein, Bahnhöfe beispielsweise.
Und natürlich erreiche ich Bahnhöfe nicht in einem bestimmten Takt,
sondern mal fahre ich drei Stunden mit der Bahn,
das nächste Mal nur zehn Minuten.
Also das hat dann
ganz einen vadiablen Zeittakt
Die hauptsächlich Verwendungsweise solcher Modelle ist dann immer,
die Wahrscheinlichkeit des nächsten Ereignisses vorherher zu sagen,
oder die Wahrscheinlichkeit von einer ganzen Sequenz vorherzusagen oder einer Teilsequenz.
Und die Anwendung hatte ich schon erwähnt,
das sind also gesprochene und geschriebene Sprache zu verarbeiten.
Genobenanalyse oder aller Sorten von Zeitvorhersagen,
also etwa am Aktienmarkt oder aber auch die Vorhersage von
irgendwelchen Naturkatastrophen
Also wenn ich ein System zur Tsunami-Vorwarnung bauen will,
dann ist es darauf angewiesen, die Zeitstruktur der Beobachtung mit zu berücksichtigen.
Oder etwa, wenn ich einen Vulkanausbruch vorhersagen will,
dann muss ich nämlich aus dem Signal die Strukturen,
die typisch für eine Bevorstände Vulkaneruption sind,
unterscheiden von dem vorbeifahrenden Lastauto beispielsweise.
Was auch Schwingungen verursacht, aber anderer Natur.
Und die andere Natur liegt genau in der unterschiedlichen zeitlichen Struktur.
Und das muss sich voneinander unterscheiden.
Und dann brauche ich eben
solche Sequenzmodelle
Ja, ich glaube, das soll für heute reichen.
Das ist das einfachste Sequenzmodell,
was wir haben, die ein einfaches Marktoff-Modell,
was eben jetzt immer nur die nächste Beobachtung gegeben,
die vorangegangen, vorhersagt,
da befassen wir uns dann nächste Woche damit und
bis dahin wünsche ich Ihnen alles Gute