Genetische Algorithmen für natürliche Sprache: Wortzerlegungen

Werbung
Genetische Algorithmen für natürliche
Sprache: Wortzerlegungen
ADS: Algorithmen und Datenstrukturen 2
Aufgabe: Zerlege Wörter in Teile, wobei die Teile entsprechend der Aufgabenstellung
näher spezifiziert sind (Wörter, Silben, ...)
Fitness: Eine Zerlegung ist gut, wenn gleiche Teile wiederholt verwendet werden
können.
Teil 12
Prof. Peter F. Stadler & Sebastian Will
Bioinformatik/IZBI
Institut für Informatik
& Interdisziplinäres Zentrum für Bioinformatik
Universität Leipzig
Alle Individuen haben das gleiche Geschlecht.
Ein Elternteil erzeugt jeweils ein Kind, welches sich nur durch wenige Mutationen
unterscheidet.
2. Juli 2014
Fitness: Anzahl der verwendeten Wortteile
[Letzte Aktualisierung: 03/07/2014, 16:46]
1 / 24
Wortzerlegungen II
10
ADS 2, V12
2. Juli 2014
2 / 24
Falsche Freunde bei der Kompositazerlegung
Vorgegeben ist eine Menge von Wörtern. Hier:
Weinflasche Weinglas Bierflasche Bierglas
Induviduen enthalten zu jedem Wort eine Trennstelle, z.B.
Wein-flasche Weingl-as Bierf-lasche Biergl-as (Fitness: 8)
Weinf-lasche Weingl-as Bier-flasche Bierg-las (Fitness: 8)
Diese Trennstellen werden zu Beginn zufällig gewählt.
Dia-logbuch
Dichte-rohr
Dress-urprodukt
Eins-endung
Fernzug-riff
Gast-anker
Namensfest-stellung
Schmuser-ocker
Silbe-ruhr
Wandbild-schirm
Brauer-eileiter
Eid-otter
Fernseher-satzteil
Gel-demission
Ein Kind davon den zwei Individuen oben mit Crossover nach Position 2:
Wein-flasche Weingl-as Bier-flasche Bierg-las (Fitness: 6)
Optimal:
Wein-flasche Wein-glas Bier-flasche Bier-glas (Fitness: 4)
Nützliche Teile (hier: Wörter) werden maximal oft wiederverwendet.
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
11
2. Juli 2014
3 / 24
Stochastische Optimierungsalgorithmen (Whd.)
Gen-darm
Graben-gel
Kult-urologie
Obstbaum-esse
Profi-thai
Rind-erdung
Schlacht-hausfreund
Silbe-radler
Teil-erfinder
Wanderin-sekt
Herr-scherkopf
Made-gasse
Nichte-uropa
Barsch-lampe
Gegen-übermensch
Jode-mission
Lehre-rohr
Oberleib-wächter
Rater-teilung
Schlag-hosenträger
Strumpfhosen-anzug
Treffer-zähler
Zita-delle
Rollers-kater
Step-partikel
Rost-ocker
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
12
2. Juli 2014
4 / 24
Stochastische Optimierungsalgorithmen (Whd.)
Problemstellung
Lösungensmenge X , Bewertungsfunktion f : X → R.
Finde globales Minimum von f
Grundprinzip
Start: endliche Menge A von erlaubten Lösungen (“Population”) mit
|A| = n.
Schleife
(1) Erzeuge erweiterte Lösungsmenge B, |B| = m > n.
(2) Selektiere eine neue Population A0 ⊂ B mit |A0 | = n in der die
besseren Lösungen angereichert sind.
Motiviation durch Prozesse in der Natur:
Evolution als Wechselspiel von Mutation (allergemeiner: Erzeugung von
Variabilität und Selektion (aus den vorhandenen Varianten)
Schrittweise Energie-Minimierung in physikalischen Systemen (z.B.
Gefrieren von Flüssigkeiten ... )
Abbruchbedingung
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
5 / 24
Random Generate and Test
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
6 / 24
Fitness- / Energielandschaften
Sei G = (X , E ) ein ungerichteter Graph und f : X → R. Dann heißt
(X , E , f )
A = {x}, eine einzelne Lösung
B = {x, y }, wobei y ∈ X eine zufällig gezogene Lösung ist.
Wertelandschaft.
A0 = {y } if f (y ) < f (x), sonst A0 = {x}.
Je nachdem, ob man globale Minima / Maxima sucht, wird (X , E , f )
auch Energielandschaft / Fitnesslandschaft genannt.
Keine Garantie, dass ein globales Minimum gefunden wird.
FRAGE: wie kann man die Struktur von f ausnutzen?
IDEE: Gute Lösungen werden “irgendwie” ähnlich zu anderen guten
Lösungen sein.
Nachbarschaft von Knoten x ∈ X :
N(x) := {y ∈ X : {x, y } ∈ E }
Definiere Nachbarschaft durch “Moves”
Sinnvolles Moveset: G soll stark zusammenhängend sein
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
7 / 24
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
8 / 24
Fitness-Landschaften
Adaptive Walk
Formale Beschreibung des Optimierungsproblems als Funktion über der
Knotenmenge des Graphen G
Die Frage nach geometrischen Eigenschaften wie
Start: wähle x ∈ X zufällig
Schleife:
(1) wähle y ∈ N(x) gleichverteilt
(2) falls f (y ) < f (x), setze x → y .
Zahl von lokalen Minima
Tiefe und Breite von Tälern
Abbruchbedingung
Sattelpunkte zwischen Tälern
Folge der Lösungen enspricht einem Pfad in G , entlang dem f strikt
abnimmt. (“Adaptive Walk”)
Lokales Minimum: f (y ) ≥ f (x) für alle y ∈ N(x).
Pfade bleiben in lokalen Minima stecken. Bei geeigneter
Abbruchbedingung erreichen alle Pfade ein lokales Minimum.
PROBLEM: Lösungen können sehr schlechter Qualität sein, d.h.
f (x) f (min).
Rauhheits-Maße
und deren Einfluss auf die Optimierung ist Gegenstand der Forschung
Veränderung des Movesets verändert die Landschaft und damit das
Optimierungsverhalten.
Suche problemangepasste Movesets. Idee: einzene Moves sollten die
Qualität der Lösung (meistens) nicht zu drastisch verändern.
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
9 / 24
Gradient Descent
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
10 / 24
Metropolis-Walks
Um lokalen Minima zu entkommen, lasse auch “aufwärts” Schritte zu:
Start: wähle x ∈ X zufällig
Start: wähle x ∈ X zufällig
Schleife:
(1) wähle y ∈ N(x) gleichverteilt
(2) falls f (y ) < f (x), setze x → y
Schleife:
(1) bestimme die Menge Z (x) aller z ∈ N(x) für die f (z) minimal
über N(x) ist.
sonst setze x → y mit Wahrscheinlichkeit
wähle y ∈ Z (x) gleichverteilt
(2) falls f (y ) < f (x), setze x → y .
exp(−(f (y ) − f (x))/T )
Abbruchbedingung: stop falls f (y ) ≥ f (x).
Abbruchbedingung
Folge der Lösungen enspricht einem Pfad in G , entlang dem f so steil wie
möglich abnimmt. (Weg des steilsten Abstieg, “Gradient Descent”.
Endet immer in einem lokalen Minimum.
Teurer als adaptive walk, weil N(x) durchsucht werden muss.
Steil bergauf = exponentiell selten
Eigenschaft: Wenn man lange genug wartet, besucht man zu einem bestimmten
Zeitpunkt t die Lösung x mit Wahrscheinlichkeit
p(x) = exp(−f (x)/T )/Z
Für kleine T : Lösungen mit kleinen Funktionswerten werden angereichert.
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
11 / 24
Simulated Annealing (SA)
2. Juli 2014
12 / 24
ADS 2, V12
2. Juli 2014
Definiere Markov-Kette auf X durch Übergangswahrscheinlichkeit Px→y
von Knoten (Zustand) x ∈ X zu y ∈ N(x)
(
1
wenn f (y ) ≤ f (x)
|N(x)|
Px→y =
1
exp([f
(x)
−
f
(y
)]/T
)
sonst
|N(x)|
und Px→x = 1 −
13 / 24
P.F. Stadler & S. Will (Bioinf, Uni LE)
2. Juli 2014
14 / 24
Zu Beginn der Simulation herrscht eine hohe Temperatur, so dass die Knoten
stark um ihren Ausgangspunkt schwingen. In Abhängigkeit der wirkenden
Kräfte und der Temperatur des Systems werden die Knoten in jedem
Iterationsschritt zur optimalen Position hinbewegt. Durch eine anfangs sehr
hohe Temperatur soll verhindert werden, dass die Knoten sich in einem
lokalen Minimum stabilisieren. Wenn die Temperatur weiter abgekühlt ist,
bleibt die relative Lage der Knoten zueinander stabil, und es werden nur
noch die Abstände optimiert.
U. Quasthoff
7
2. Juli 2014
ADS 2, V12
Benachbarte Knoten ziehen sich entsprechend der Kantenbewertung an. Nicht
benachbarte Knoten stoßen einander ab. Gesucht ist die energetisch
günstigste Position der Knoten in der Ebene.
• stark zusammenhängende Knoten liegen nah beieinander
U. Quasthoff
y ∈N(X ) Px→y
Erzeugung der Graphen mit SA
Folgende Kriterien sind plausibel, aber nicht gleichzeitig zu erfüllen:
• niedrige Anzahl der Kreuzungspunkte der Kanten
• geringe Ausdehnung des Gesamtgraphen
• Maximierung des kleinsten Winkels zwischen benachbarten Kanten
• symmetrische Auslegung symmetrischer Teilgraphen
ADS 2, V12
P
Simuliertes Abkühlen: Parameter T wird mit der Zeit erniedrigt.
Darstellung von Graphen mittels SA
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
Metropolis und Simuliertes Abkühlen
IDEE: Reduziere die “Temperatur” T im Laufe der Simulation
Kirkpatrick, Gelatt and Vecchi (1983) and V. Černý (1985)
WICHTIGE ROLLE:
“cooling schedule” Tk , typischerweise eine monoton fallende Funktion der
Schrittzahl k
Der Algorithmus konvergiert falls Tk ≥ d/ log(k) für große k.
Das ist in der Praxis aber zu langsam, man braucht exponentiell viele
Schritte k um eine gegebene Genauigkeit |f (x) − f (min)| zu erreichen.
Anwendung auf harte Probleme, für die keine effizienten (polynomialen)
Algorithmen bekannt sind.
P.F. Stadler & S. Will (Bioinf, Uni LE)
P.F. Stadler & S. Will (Bioinf, Uni LE)
15 / 24
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
8
2. Juli 2014
16 / 24
Erfüllbarkeitsproblem für Boolesche Variable
Simulated-Annealing für einen Graphen
n Boolesche Variable: x1 , x2 , , . . . , xn ∈ {0, 1} (falsch/wahr)
2 Literale zu jeder Variablen: xi (Variable selbst), x¯i (negierte
Variable)
Eine Klausel c ist eine Disjunktion (Oder-Verknüpfung) von Literalen,
z.B.
c = (x1 ∨ x¯2 )
Ein Boolescher Ausdruck in konjuktiver Normalform ist eine
Konjunktion (Und-Verknüpfung) Boolescher Klauseln, z.B.
(x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 ) ∧ . . .
Erfüllbarkeitsproblem: Gibt es eine Belegung der Variablen, so dass
der gegebene Boolesche Ausdruck wahr ist?
U. Quasthoff
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
9
2. Juli 2014
17 / 24
Verbundwahrscheinlichkeit und Faktorisierung
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
18 / 24
Marginale
Lösungsansatz benutzt Inferenz-Verfahren aus der Statistik.
Jedem Vektor x = (x1 , x2 , . . . , xn ) ∈ {0, 1}n wird Wahrscheinlichkeit
p(x) zugewiesen
1/Z falls x Lösung ist.
p(x) =
0
sonst
Marginal pi (xi ) bzgl. einer Variablen xi bekommt man durch
Summmieren über alle anderen Variablen, z.B.
X
X
X
p1 (x1 ) =
···
p(x)
x2 ∈{0,1} x3 ∈{0,1}
Z = Anzahl Lösungen. Damit ist p korrekt normiert, also
P
x∈{0,1}n p(x) = 1.
xn ∈{0,1}
Wenn Marginal pi (0) > 0 ist, weiss man, dass es mindestens eine
Lösung x mit xi = 0 gibt und kann die Variable xi eliminieren.
Entsprechend für pi (1) > 0.
Verbundwahrscheinlichkeit kann als Produkt über Klauseln
geschrieben werden
Y
p(x) = Z −1
c(x)
c∈C
Ergebnis des Produkts ist 1, wenn für Belegung x alle Klauseln erfüllt
sind, 0 sonst.
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
19 / 24
Beispiel
P.F. Stadler & S. Will (Bioinf, Uni LE)
(x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 )
Lösungsmenge ist
Der zugehörige Faktorgraph ist ein ungerichteter bipartiter Graph
X = {0001, 0010, 0011, 1001, 1010, 1011, 1100, 1101, 1110, 1111} .
x3
x1
Anzahl Lösungen Z = |X | = 10.
c1
x2
c2
x4
Marginale:
Zwei Typen von Knoten
p1 (0) = 3/10,
p2 (0) = 6/10,
p3 (0) = 4/10,
p4 (0) = 4/10,
v-Knoten repräsentieren Variable xi
p1 (1) = 7/10
p2 (1) = 4/10
p3 (1) = 6/10
p3 (1) = 6/10
f-Knoten repräsentieren Klauseln (Funktionen) cr
Kante zwischen v-Knoten i und f-Knoten r existiert, gdw. Klausel cr
von Variable xi abhängt.
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
21 / 24
Mitteilungen (message passing)
ADS 2, V12
2. Juli 2014
22 / 24
Ist der Faktorgraph ein Wald, so
wählt man in jeder Zusammenhangskomponente einen beliebigen
Knoten des Faktorgraphen als Wurzel w .
r ∗ ∈N(i)\{r }
Von den Blättern beginnend berechnet man iterativ Mitteilungen, die
in Richtung w gesendet werden.
f-Knoten r sendet Mitteilg. νr →i (xi ) an benachbarte v-Knoten i
X
Y
νr →i (xi ) =
cr (y )
µi ∗ →r (yi ) ,
y
P.F. Stadler & S. Will (Bioinf, Uni LE)
Konvergenz
Versenden von Mitteilungen auf dem Faktorgraphen:
v-Knoten i sendet Mitteilg. µi→r (xi ) an benachbarten f-Knoten r
Y
µi→r (xi ) =
νr ∗ →i (xi )
y
20 / 24
Betrachte Booleschen Ausdruck
(x1 ∨ x¯2 ) ∧ (x2 ∨ x3 ∨ x4 )
wobei
läuft.
2. Juli 2014
Faktorgraph
Betrachte Booleschen Ausdruck
P
ADS 2, V12
Sind alle Mitteilungen bei w eingetroffen, werden “auslaufende”
Mitteilungen (von w wegführend) gesendet, bis bei allen Blättern eine
Mitteilung eingetroffen ist.
i ∗ ∈N(r )\{i}
die Summation über alle Belegungen der Variablen in N(r ) \ {i}
Aus einer konsistenten Lösung dieser Gleichungen ergibt sich das Marginal
pi (xi ) als
Y
pi (xi ) ∝
νr →i .
Man kann zeigen, dass die so gefundenen Mitteilungen eine
konsistente Lösung sind.
Hat der Faktorgraph Zyklen, so
werden die Mitteilungen so lange neu berechnet, bis sich innerhalb
einer Toleranz konstante Werte einstellen (Abbruchkriterium).
r ∈N(r )
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
23 / 24
P.F. Stadler & S. Will (Bioinf, Uni LE)
ADS 2, V12
2. Juli 2014
24 / 24
Herunterladen