Maschinelles Lernen und Datenanalyse

In der Mess- und Prüftechnik PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen -

Probalistisches Lernen

2 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Wahrscheinlichkeiten und Bayes Regel

Wahrscheinlichkeiten und Bayes Regel

Witten, DMPMLTaT, pp. 335

  • In einem probalistischen Ansatz sind die Dateninstanzen gemessene Ereignesse oder Beobachtungen.
    • Die Dateninstanzen in D bilden Zufallsvariablen ab!

Es sei A eine Zufallsvariable mit diskreten Werten {ai}. Dann ist P(A) oder kurz P(a) die Wahrscheinlichkeitsfunktion für das Auftreten eines aiA!

Es sei x eine Zufallsvariable mit kontinuierlichen Werten [v0,v1]. Dann ist p(x) die Wahrscheinlichkeitsverteilung der Werte x ∈ [v0,v1].

3 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Wahrscheinlichkeiten und Bayes Regel

Dann ist p(x=xi) die Wahrscheinlichkeit des Auftretens des Wertes xi von x.

  • Besondere Rolle nehmen binäre Ereignisse ein (also A={0,1}). Etwas tritt ein oder ist wahr oder nicht.

Wenn A und B diskrete Zufallsvariablen sind, dann kann man über eine Produktregel die gemeinsame (vereinte) Wahrscheinlichkeit für das Auftreten von A und B bestimmen:

P(A,B)=P(AB)P(B)

Die gemeinsame Wahrscheinlichkeit ist ein statistisches Maß, das die Wahrscheinlichkeit berechnet, dass zwei Ereignisse zusammen und gleichzeitig auftreten. Gemeinsame Wahrscheinlichkeit ist die Wahrscheinlichkeit, dass Ereignis B gleichzeitig mit Ereignis A Auftritt.

4 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Wahrscheinlichkeiten und Bayes Regel

  • P(A) ist die Wahrscheinlichkeit eines Ereignisses A
  • P(A|B) ist die bedingte Wahrscheinlichkeit von A mit dem bedingten Ereignis B (d.h. B muss eintreten damit auch A eintritt): BA

  • P(B|A) ist dann das "inverse Problem": AB

Bayes Regel (Umkehr der Schlussfolgerung)

  • Interessant wäre es zu wissen wenn P(A|B) bekannt wie es mit P(B|A) aussieht:

P(B|A)=P(A|B)P(B)P(A)

5 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Binäre Klassifikation

Binäre Klassifikation

Hat man ein Experiment n-mal wieder holt (n Fälle oder Dateninstanzen in der Datentabelle), gibt es vier verschiedene Zähler bei einer binären Klassifiation mit y: Inferenz durch Modell/Vorhersage , y0: Vorgabe/Wirklicher Wert:

  • Ergebnis: {True, False}
  • Zähler:
    • True Positiive (TP): Die Anzahl der Fälle, in denen y=y0=True ist.
    • False Positive (FP): Die Anzhal der Fälle, in denen y0=False und y=True ist.
    • True Negative (TN): Die Anzahl der Fälle, in denen y=y0=False ist.
    • False Negative (FN): Die Anzhal der Fälle, in denen y0=True und y=False ist.
6 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Binäre Klassifikation

Binäre Klassifikation

Statitische Parameter

Accuracy=TP+TNTP+FP+FN+TNPrecision=TPTP+FPRecall=TPTP+FNSpecificity=TNTN+FPf1=2RecallPrecisionRecall+Precision

7 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Ein Beispiel: Der Mythos des Infektionstests

Ein Beispiel: Der Mythos des Infektionstests

  • Es gibt einen Test auf eine Virusinfektion
    • Dieser wird im Labor getestet: 100 Proben Klasse negativ (kein Virus, ¬V), 100 Proben Klasse positiv (mit Virus, V)
    • Der Test zeigt T (positiv) an, ansonsten ¬T (negativ)
    • Die Analyse der Testexperimente zeigt: TP=99, FP=2, FN=1, TN=98

Sensitivität

P(TV)=TPTP+FN=9999+1=0.99(CV19:0.5,0.70.9,Good20)

Spezifizität

P(¬T¬V)=TNTN+FP=9898+2=0.98(CV19:0.99,0.999,Good20)

8 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Ein Beispiel: Der Mythos des Infektionstests

Genauigkeit

Auracy=TP+TNN=99+98200=0.985

Präzision

Precision=TPTP+FP=9998+2=0.99

  • Es gibt eine Vorbedingung (Vorwahrsch.) bei einer Testanwendung: Der Wahrscheinlichkeit einer Infektion P(V) wenn eine Stichprobe gemacht wird (also n=1). Diese wird mit P(V)=0.001 angenommen.
9 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Ein Beispiel: Der Mythos des Infektionstests

Anwendung der Bayseschen Regel

P(V|T)=P(T|V)P(V)P(T),P(T)=P(T,V)+P(T,¬V)=P(T|V)P(V)+(1P(¬T|¬V))(1P(V))

  • Bei P(V)=0.001 (zufällige Stichprobe ohne Anlass und Differentialdiagnose) ergibt sich:

P(V|T)=0.99×0.0010.99×0.001+(10.98)(10.001)=0.047P(V)=0.70×0.0010.70×0.001+(10.999)(10.001)=0.41=0.50×0.0010.50×0.001+(10.99)(10.001)=0.047

10 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Ein Beispiel: Der Mythos des Infektionstests

P(¬V|¬T)=P(¬T|¬V)P(¬V)P(¬T),P(¬T)=1P(T)=P(¬T|¬V)P(¬V)+(1P(T|V))P(V)

  • Bei P(V)=0.001 (zufällige Stichprobe ohne Anlass und Differentialdiagnose) ergibt sich:

P(¬V|¬T)=0.98×0.9990.98×0.999+(10.99)0.001=0.999

11 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Naiver Bayes Klassifikator

Naiver Bayes Klassifikator

  • Zurück zum Golfspielproblem!

Witten Die Ein- und Ausgabevariablen mit bedingter Verteilung (also Y|X)

Annahme: Alle Eingabevariblen x={Outlook, Temperature, Humidity, Windy} sind unabhängig.

12 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Naiver Bayes Klassifikator

  • Wenn es nun eine Messung E=x gibt (Evidenz) mit einer Hypothese vom Ergebnis H=y mit Cy={yes|no}, dann gilt quasi als Training (wir kennen ja den Zusammenhang EH): P(E|H)

  • Es wird angenommen dass alle Variablen gleichwertig sind → unbekannte Modellannahme oder a-priori Wissen!

Nun gibt es ein weiteres unbekanntes Beispiel:

P(y=yes)=2/9×3/9×3/9×3/9×9/14=0.0053P(y=no)=3/5×1/5×4/5×3/5×5/14=0.026

13 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Naiver Bayes Klassifikator

  • Es gilt also nach der Bayes Regel:

P(C=yes|E)=ΠiP(Ei|C=yes)×P(C=yes)P(E)P(C=no|E)=ΠiP(Ei|C=no)×P(C=no)P(E)

  • Das ist ein einfacher Klassifikator
14 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Naiver Bayes Klassifikator

Funktionale Beschreibung

Es gilt:

cC=hbayes(x)=argmaxj=1,mP(cj)i=1,nP(xi|cj)

mit c als eine Klasse aus allen möglichen Klassenwerten C der Zielvariable y und x als eine Dateninstanz.

15 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerke

Bayes Netzwerke

Naive Bayes Netzwerke bieten einen einfachen Ansatz mit klarer Semantik, um probabilistisches Wissen darzustellen, zu verwenden und zu lernen. Naiv ↔ Alle xi sind unabhängig!

Ein bayesisches Netzwerk ist eine Form eines grafischen Modells zur Darstellung multivariater Wahrscheinlichkeitsverteilungen.

16 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerke

Witten Bayes Netzwerke sind eine Kombination aus Bäumen (gerichteten Graphen) und Wahrscheinlichkeitstabellen (Look-up Tabelle) die dann durch bedingte Wahrscheinlichkeiten das Ergebnis (der Hypothese von y) abschätzen.

17 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerke

Witten Ein anderes Bayes Netzwerk für das gleiche Problem!

18 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerke

  • Für das gleiche Problem können verschiedene Bayes Netzwerke aufgebaut werden, die genau die gleiche Wahrscheinlichkeitsverteilung darstellen.
    • Dies geschieht durch Änderung der Art und Weise, wie die gemeinsame Wahrscheinlichkeitsverteilung faktorisiert wird, um bedingte Unabhängigkeiten auszunutzen.

Barber, BRaML, 2011

19 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerk: Struktur und Parameter

Bayes Netzwerk: Struktur und Parameter

https://www.uib.no/en/rg/ml/119695/bayesian-networks Bayessche Netzwerke bestehen aus Struktur und Parametern

20 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerk: Struktur und Parameter

  • Die Struktur ist ein gerichteter azyklischer Graph (DAG), der bedingte Unabhängigkeiten und Abhängigkeiten zwischen Random-Variablen ausdrückt, die Knoten zugeordnet sind.

  • Die Parameter bestehen aus bedingten Wahrscheinlichkeitsverteilungen, die jedem Knoten zugeordnet sind.

  • Ein Bayessches Netzwerk ist daher eine kompakte, flexible und interpretierbare Darstellung einer gemeinsamen Wahrscheinlichkeitsverteilung.

  • Es ist auch ein nützliches Werkzeug bei der Wissenserlangung, da gerichtete azyklische Graphen die Darstellung kausaler Beziehungen zwischen Variablen ermöglichen.

21 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Netzwerk: Struktur und Parameter

Typischerweise wird ein Bayessches Netzwerk aus Daten gelernt.

22 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Belief Netzwerke

Belief Netzwerke

Ein "Belief" Netzwerk ist eine Verteilung der Form:

p(x1,x2,..,xD)=ΠDi=1p(xi|pa(xi))

mit pa(xi) als die Elternvariable der Variablen xi.

  • Dargestellt als gerichteter Graph, wobei ein Pfeil von einer Elternvariablen auf eine untergeordnete Variable zeigt.

  • Ein Belief Netzwerk ist ein gerichteter azyklischer Graph (DAG), wobei der i-te Knoten im Graph dem Faktor p(xi|pa(xi)) entspricht.

Übergang zu Markovschen Entscheidungsprozessen und Graphen!

23 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Entscheidungslerner

Bayes Entscheidungslerner

Bayes Lerner

Es werden zwei Funktionen zum Erlernen der Netzwerke benötigt (Struktur und Berechnung):

  1. Eine Funktion um ein gegebenes Netzwerk zu evaluieren
  2. Eine Funktion um geeignete Netzwerke aus dem Raum aller möglichen Netzwerke zu finden (Suche)

Barber, BRaML, 2011, pp. 288
Witten, DMPMLTaT, pp. 335

24 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Entscheidungslerner

Ein einfacher und sehr schneller Lernalgorithmus ist K2

  • Er beginnt mit einer bestimmten Reihenfolge der Attribute (d.h. Knoten).

  • Dann verarbeitet er jeden Knoten der Reihe nach und wird Kanten von zuvor verarbeiteten Knoten zu dem aktuellen Knoten hinzuzufügen.

  • In jedem Schritt wird die Kante hinzugefügt, die die Trefferwahrscheinlichekit (Score) des Netzwerks maximiert. Wenn es keine weitere Verbesserung gibt, wird der nächste Knoten bearbeitet.

  • Als zusätzlicher Mechanismus zur Vermeidung von Überanpassungen kann die Anzahl der Eltern für jeden Knoten auf ein vordefiniertes Maximum beschränkt werden.

25 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Entscheidungslerner

  • Da nur Kanten von zuvor verarbeiteten Knoten berücksichtigt werden und es eine feste Reihenfolge gibt, kann dieses Verfahren keine Zyklen einführen.

Randomisiertes Sampling

  • Das Ergebnis hängt jedoch von der anfänglichen Reihenfolge ab, daher ist es sinnvoll, den Algorithmus mehrmals mit unterschiedlichen zufälligen Ordnungen auszuführen.
26 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Bayes Entscheidungslerner

Klassifikation und Bewertung

  • Bei Entscheidungsbäumen gibt es keine Information wie "sicher" eine Klassifikation ist (Vorhersage- oder Vertrauenwahrscheinlichkeit), die aber häufig sehr wicht ist!

  • Bei ANN ist der Ausgangswert eines Neurons zwar ein Indikator für die Aktivierungsstärke, ist aber modellbasiert keine Wahrscheinlichkeit der Vorhersage (höchstens grobe Näherung)

  • Bei NB Klassifizieren gibt es als Ergebnis immer eine (statistisch) modellbasierte Wahrscheinlichkeit!

27 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Anwendungen von Naiven Bayes-Algorithmen

Anwendungen von Naiven Bayes-Algorithmen

Echtzeit-Vorhersage
Naive Bayesfunktionen sind ein einfacher und schneller Klassifikator und geben Wahrscheinlichkeiten aus für die Beurteilung. Somit könnte es für Vorhersagen in Echtzeit verwendet werden.
Mehrklassen-Vorhersage
Dieser Algorithmus ist auch für Mehrklassen-Vorhersage Funktionen verwendbar. Hier können die Wahrscheinlichkeiten mehrerer Klassen von Zielvariablen vorhergesagt werden.
28 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Anwendungen von Naiven Bayes-Algorithmen

Textklassifizierung / Spam-Filterung / Stimmungsanalyse
Naive Bayes-Klassifikatoren, die hauptsächlich in der Textklassifizierung verwendet werden (aufgrund eines besseren Ergebnisses bei Problemen mit mehreren Klassen und der Unabhängigkeitsregel), weisen im Vergleich zu anderen Algorithmen eine höhere Erfolgsrate auf. Infolgedessen werden sie häufig in der Spam-Filterung (Identifizierung von spam-e-Mails) und in der Stimmungsanalyse (in der social-media-Analyse) verwendet, um positive und negative Kundenstimmungen zu identifizieren).
Empfehlungssystem
Der Naive Bayes-Klassifikator und die "kollaborative Filterung" erstellen zusammen ein Empfehlungssystem, das maschinelles Lernen und Data Mining Techniken verwendet, um versteckte Informationen zu filtern und vorherzusagen, ob ein Benutzer eine bestimmte Ressource möchte oder nicht.
29 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Zusammenfassung

Zusammenfassung

Trainingsdaten

xp(xy)yp(y)

Vorhersagemodell

p(yx)=p(xy)p(y)p(x)

30 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Zusammenfassung

Zusammenfassung

  • Bayes Klassifikation erfolgt über die Berechnung bedingter und abhängiger Wahrscheinlichkeitsverteilungen

  • Das "Training" liefert P(x|y), die Inferenz benötigt die inverse Abhängigkeit und verwendet P(y|x)

  • Ein naiver Bayes Klassifikator nimmt unabhänge Varibalen xi an → Entspricht nicht immer "physikalischen Modellen und Kausalitäten"!

  • Ein Bayes Klassifikator muss Tabellen mit bedingten Verteilungen/Wahrscheinlichkeiten verwenden.

31 / 32

Stefan Bosse - Maschinelles Lernen - Probalistisches Lernen - Zusammenfassung

32 / 32