Maschinelles Lernen und Datenanalyse

In der Soziologie

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 41

Probalistisches Lernen

2 / 41

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 / 41

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(A|B)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 / 41

  • 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 / 41

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(T|V)=TP/(TP+FN)=99/(99+1)=0.99(CV19:0.5,0.70.9,Good20)

Spezifizität

P(¬T|¬V)=TN/(TN+FP)=98/(98+2)=0.98(CV19:0.99,0.999,Good20)

6 / 41

Genauigkeit

Accuracy=(TP+TN)/N=(99+98)/200)=0.985

Präzision

Precision=TP/(TP+FP)=99/(98+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.
7 / 41

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

8 / 41

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

9 / 41

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.

10 / 41

  • 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

11 / 41

  • 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
12 / 41

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.

13 / 41

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.

14 / 41

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.

15 / 41

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

16 / 41

  • 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

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.

17 / 41

  • 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!

18 / 41

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

19 / 41

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.

20 / 41

  • 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.
21 / 41

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!

22 / 41

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.
Multi-class-Vorhersage
Dieser Algorithmus ist auch für multi-class-Vorhersage-Funktion verwendbar. Hier können die Wahrscheinlichkeiten mehrerer Klassen von Zielvariablen vorhergesagt werden.
23 / 41

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.
24 / 41

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.

25 / 41

Textanalyse

Natürliche Sprachverarbeitung ist ein komplexer Prozess!

Häufig ist man an einer Informationsgewinnung und Klassifikation aus Texten interessiert

Chat Bots benötigen Datenreduktion Text → Klasse/Merkmale/Topics/Keywords

In der Soziologie ist NLP+ML ein Werkzeug für die Textanalyse

26 / 41

Symbolische vs. Subsymbolische KI

  • Symbolische KI ist regelbasiert!

    • Z.B. Textpassagen anhand von Musterphrasen identifizieren "where is * next #Noun" und Musteranpassung (quasi regulärer Sprachausdrücke aus einer Tabelle suchen)
  • Subsymbolische KI ist Lernerbasiert!

    • Trainierbare ML Verfahren werden verwendet um aus Rohtexten wichtige Informationen abzuleiten
27 / 41

Beispiel für ein regelbasiertes NLP Dialog System

Eliza - Der digitale Psychotherapist

In den 1960er Jahren entwickelte Joseph Weizenbaum ein Programm namens ELIZA, welches es Menschen ermöglichte mit einer Maschine in schriftlicher Form zu kommunizieren, also einen Chatbot (Eliza Doolittle).

  • Eliza kann verschiedene Gesprächspartner simulieren, unter anderem auch einen Psychologen.
    • Die "Einschränkung" ermöglicht die Eingrenzung von Frage-Antwort Mustern (also keine universellen Dialoge) → kein Wissen über die Welt erforderlich!
    • Konzept der Bottom-Up Kommunikation und "Superklassifizierung" (Oberbegriffe): Nutzer spricht vom Vater, Generalisierung auf Familie
    • Konzept der Schlüsselwortsuche und Wörterbüchern (Synonymsuche)!
28 / 41

ELIZA Demo

29 / 41

Natürliche Sprachverarbeitung und Verstehen

  • Digitalisierung von natürlicher Sprache, Erkennung von Semantik, ..

Mustervergleich

if (similarity('Die Vorlesung ist interessant',
'Vorlesungen sind interessant')>0.5) then ..

Schlüsselwortsuche

if ('Die Vorlesung ist interessant'.contains('interessant')) then ..
30 / 41

Syntaxbäume

31 / 41

Natürliche Sprachverarbeitung und Verstehen

Neuronale Netze

Verwendung von zustandsbasierten rückgekoppelten Long-short-term Memory ANN für die Sprachanalyse und Synthese

32 / 41

Klassifizierung und "Superklassifizierung"

  • Suchen von Schlüsselwörten und Ableiten von Themenbereichen (Topics)

33 / 41

NLP und ML

Menschliches Vokabular kommt im freier Textform. Damit ein maschinelles Lernmodell die natürliche Sprache versteht und verarbeiten kann, müssen die Freitextwörter in numerische Werte umgewandelt werden.

Einer der einfachsten Transformationsansätze besteht darin, eine One-Hot-Codierung durchzuführen, bei der jedes einzelne Wort für eine Dimension des resultierenden Vektors steht und ein Binärwert angibt, ob das Wort (1) darstellt oder nicht (0).

34 / 41

  • Die One-Hot-Codierung ist jedoch rechnerisch unpraktisch, wenn es um das gesamte Vokabular geht, da die Darstellung Hunderttausende von Dimensionen erfordert.

  • Worteinbettung stellt Wörter und Phrasen in Vektoren von (nicht binären) numerischen Werten mit viel niedrigeren und damit dichteren Dimensionen dar.

    • Eine intuitive Annahme für eine gute Worteinbettung ist, dass sie die Ähnlichkeit zwischen Wörtern nähern können.

https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html

35 / 41

Verfahren der Merkmalsselektion

  • Count-Based Vector Space Model
  • Context-Based: Skip-Gram Model
  • Context-Based: Continuous Bag-of-Words (CBOW)

Skip-Gram Verfahren

  • Das Skip-Gram Modell liefert Abschätzungen für ⟨Wort,Kontext⟩ Tupelpaare
  • D.h. es gibt ein Wörterbuch mit diesen Tupeln für das Training für probalistische Wahrscheinlichkeitsfunktionen P(Vc|Vt) (c:Kontext, t:Text, Satz).
  • In der Regel werden Satzfenster (Ausschnitte, z.B. jeweils 5 Worte) analysiert
36 / 41

Training des Skip-Gram Modells

  • Minimierung der folgenden Zielfunktion über eine Softmaxnormalisierung:

(Vt,Vc)DlogP(Vc|Vt)=(Vt,Vc)Dlogeuckeuk

  • Dabei quantifiziert uc die Nähe eines Wortes zu seinem Kontext:

uc=EtOc

mit Et ist eine Matrix die Eingabeworteinbettungen enthält, und Oc entsprechend die Matrix für Ausgabeworteinbettungen.

37 / 41

Worteinbettung

www.r-craft.org/r-news/get-busy-with-word-embeddings-an-introduction
Hoch- und niedrigdimensionale Worteinbettungsmatrizen

38 / 41

Word2Vec

  • Ein neuronales Netzwerk welches sowohl Skip-Gram als auch Continuous Word-of-Bag Modelle lernt

39 / 41

Einfache Schlüsselwortkodierung

  • Es gibt ein Wörterbuch mit Schlüsselwörtern W={w1,..,wn}

  • Jedes Schlüsselwort wird durche eine Stelle in einem n-dimensionalen Vektor repräsentiert

    • One-hot: Auftreten des Wortes im Satz=1, sonst 0
    • Count: Anzahl des Auftreten des Wortest im Satz
    • Semantik: Zuordnung zu semantischen Begriffen
  • Der Kontext und die Stellung von Wörtern im Satz/Text werden nicht berücksichtigt

40 / 41

Zusammenfassung

  • Textanalyse ist ein Werkzeug für qualitative und quantitative Methoden in der Soziologie

  • Wichtig ist der Kontext und die Semantik von Wörtern!

  • ML Verfahren könnnen helfen die Zuordnung Text-Kontext und Text-Semantik andhand von Beispielen zu erlernen

  • Natürtliche Sprachverarbeitung ist komplex und wird ebenso von Dialogrobotern benötigt

41 / 41