PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
In der Soziologie
PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Witten, DMPMLTaT, pp. 335
Es sei A eine Zufallsvariable mit diskreten Werten {ai}. Dann ist P(A) oder kurz P(a) die Wahrscheinlichkeitsfunktion für das Auftreten eines ai ∈ A!
Es sei x eine Zufallsvariable mit kontinuierlichen Werten [v0,v1]. Dann ist p(x) die Wahrscheinlichkeitsverteilung der Werte x ∈ [v0,v1].
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Dann ist p(x=xi) die Wahrscheinlichkeit des Auftretens des Wertes xi von x.
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
P(A|B) ist die bedingte Wahrscheinlichkeit von A mit dem bedingten Ereignis B(d.h. B muss eintreten damit auch A eintritt): B → A
P(B|A) ist dann das "inverse Problem": A → B
P(B|A)=P(A|B)P(B)P(A)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
P(T|V)=TP/(TP+FN)=99/(99+1)=0.99(CV19:0.5,0.7−0.9,Good20)
P(¬T|¬V)=TN/(TN+FP)=98/(98+2)=0.98(CV19:0.99,0.999,Good20)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Accuracy=(TP+TN)/N=(99+98)/200)=0.985
Precision=TP/(TP+FP)=99/(98+2)=0.99
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
P(V|T)=P(T|V)P(V)P(T),P(T)=P(T,V)+P(T,¬V)=P(T|V)P(V)+(1−P(¬T|¬V))(1−P(V))
P(V|T)=0.99×0.0010.99×0.001+(1−0.98)(1−0.001)=0.047≈P(V)=0.70×0.0010.70×0.001+(1−0.999)(1−0.001)=0.41=0.50×0.0010.50×0.001+(1−0.99)(1−0.001)=0.047
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
P(¬V|¬T)=P(¬T|¬V)P(¬V)P(¬T),P(¬T)=1−P(T)=P(¬T|¬V)P(¬V)+(1−P(T|V))P(V)
P(¬V|¬T)=0.98×0.9990.98×0.999+(1−0.99)0.001=0.999
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Witten Die Ein- und Ausgabevariablen mit bedingter Verteilung (also Y|X)
Annahme: Alle Eingabevariblen x={Outlook, Temperature, Humidity, Windy} sind unabhängig.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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 E ↔ H): 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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Es gilt:
c∈C=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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Witten Ein anderes Bayes Netzwerk für das gleiche Problem!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Barber, BRaML, 2011
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Es werden zwei Funktionen zum Erlernen der Netzwerke benötigt (Struktur und Berechnung):
Barber, BRaML, 2011, pp. 288
Witten, DMPMLTaT, pp. 335
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und 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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Symbolische KI ist regelbasiert!
"where is * next #Noun"
und Musteranpassung (quasi regulärer Sprachausdrücke aus einer Tabelle suchen)Subsymbolische KI ist Lernerbasiert!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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).
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
if (similarity('Die Vorlesung ist interessant', 'Vorlesungen sind interessant')>0.5) then ..
if ('Die Vorlesung ist interessant'.contains('interessant')) then ..
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
Verwendung von zustandsbasierten rückgekoppelten Long-short-term Memory ANN für die Sprachanalyse und Synthese
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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).
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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.
https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
https://blog.cambridgespark.com/tutorial-build-your-own-embedding-and-use-it-in-a-neural-network-e9cde4a81296
∑(Vt,Vc)∈DlogP(Vc|Vt)=∑(Vt,Vc)∈Dlogeuc∑keuk
uc=Et⋅Oc
mit Et ist eine Matrix die Eingabeworteinbettungen enthält, und Oc entsprechend die Matrix für Ausgabeworteinbettungen.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
www.r-craft.org/r-news/get-busy-with-word-embeddings-an-introduction
Hoch- und niedrigdimensionale Worteinbettungsmatrizen
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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
Der Kontext und die Stellung von Wörtern im Satz/Text werden nicht berücksichtigt
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Probalistisches Lernen und Textanalyse
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