Maschinelles Lernen

  • 2,595 views
Uploaded on

Einführung in verschiedene Algorithmen des Maschinellen Lernens

Einführung in verschiedene Algorithmen des Maschinellen Lernens

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,595
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Machine Learning Algorithms Vom Gradientenabstieg über Monte Carlo bis hin zu Genetischen Algorithmen Martin Szugat (Martin.Szugat@GMX.net) Hauptseminar: „The Machine Learning Approach“ Im WS 2003/04 bei Prof. Dr. Zimmer
  • 2. Agenda
    • Grundlagen
    • Dynamische Programmierung
    • Gradientenabstieg
    • EM/GEM-Algorithmus
    • Markov-Chain Monte-Carlo Methoden
    • Simulated Annealing
    • Genetische Algorithmen
      • Proteinstrukturalignierung
    • Zusammenfassung
  • 3. Bayes‘sche Schlussfolgerung
    • Modell M; Daten D; Wahrscheinlichkeiten P nach Bayes
    • Maximiere P(M|D) : A posteriori Wahrscheinlichkeit
    • P(D) : Beweis  Gleich bei unterschiedlichen Modellen
    • P(M) : A priori Wahrscheinlichkeit für das Modell
      • Standardverteilungen, Einschränkungen, etc.
    • P(D|M) : Wahrscheinlichkeit d. Daten unter d. Modell
    •  Maximiere Likelihood!
    log P(M|D) = log P(D|M) + log P(M) - log P(D)
  • 4. Modellbildung
    • Bilde Modell M=M( w ) mit Parametern w
    • Berechne/Schätze Verteilung von P( w |D)
    • Finde Parameter w , so dass P( w |D) maximal
    • Bestimme Erwartungswerte für P( w |D)
      • Kombination mehrerer Modelle M=M( w )
      • z.B.: E( f ) = ∫ f ( w ) P( w |D) d w
  • 5. Dynamische Programmierung
    • Ziel: Maximiere Likelihood P(D| w )
    • Idee: „Divide & Conquer“, „Reuse“
      • Zerlege ein Problem in Teilprobleme
      • Löse Teilprobleme mit vorherigen Teillösungen
      • Setze Teillösungen zur Lösung zusammen
    • Beispiele:
      • Needleman-Wunsch, Smith-Waterman, ...
  • 6. Gradientenabstieg
    • Ziel: Maximierung von P( w |D) bzw. P(D| w )
    • Ansatz: Minimierung von f ( w ) = -log P( w |D)
    • Voraussetzung: f ist differenzierbar
    • w t : Parameterwerte zum Zeitpunkt t
    • η : Schrittweite, Lernrate
  • 7. GA - Skizze
  • 8. GA - Anwendung
    • Iterative Anwendg.  Annäherung an Minima
      • Konvergenzkriterium: | w t + 1 - w t | < ε
    • Mehrfache Anwndg.  Globale Minima
      • Variation über Startwerte w 0 , Lernrate η
    • Verwendung: Neurale Netzwerke
      • Backpropagation-Algorithmus
      • Einstellen der Gewichte
  • 9. GA - Beispiel
    • Sei f ( w ) = ½ w ², also f ‘( w ) = w .
      • Somit f ‘( w 0 ) = 0 für w 0 = 0.
    • Setze η = 0,5 und w 0 = 2.
    • Also: w t + 1 = w t - 0,5 w t
    2 / 2 n ... 0,125 0,25 0,5 1 2 w t 0,125 4 ... ... 0,5 2 0,25 3 2 / 2 n n 1 1 / 0 ∆ w t
  • 10. EM/GEM-Algorithmus
    • Abk. f. (Generalized) Expectation Maximization
    • Anwendung bei: Versteckten Variablen H
      • Fehlende oder nicht beobachtbare Daten
      • P(H|D, w ) = P(D, H| w ) P(D| w )
    • Verwendung in: Hidden Markov Modellen
      • Baum-Welch-Algorithmus
      • Schätzung der Parameter
  • 11. EM – Prinzip I
    • Ansatz: Maximierung von ( E : Erwartungswert)
    • Iteration über die Parameter w t , Zeitpunkt t
      • E (expectation) : Berechne Verteilung Q* über H:
      • M (aximization) : Optimiere Parameter w t :
  • 12. EM - Skizze
  • 13. EM – Freie Energie
    • Definiere als Energie für die versteckten Variablen:
    • Für die Verteilung Q über H nach Boltzmann-Gibbs:
    • Für die freie Energie gilt:
  • 14. EM – Prinzip II
    • Umformulierung:
    • E : Berechne Boltzmann-Gibbs-Vert. Q*(H),
      • so dass F ( w t - 1 , Q) minimal ist.
    • M : Bestimme w t ,
      • so dass F ( w t , Q*) minimal ist.
      • Fixiere dabei Q*.
  • 15. EM – Zusammenfassung
    • Minimierung der freien Energie:
      • Abwechselnd: Q und w variieren
      • ( w t , Q t )  ( w t , Q t + 1 )  ( w t + 1 , Q t + 1 )  ...
    • EM-Algorithmus konvergiert gegen
      • Lokales Minimum von - log P(D| w )
    • GEM-Algorithmus minimiert - log P(D| w )
      • Ohne zwingend ein Minimum zu finden!
      • Beispiel: Gradientenabstieg
  • 16. Markov-Chain Monte-Carlo Methoden
    • Ziel: Berechne Erwartungswert v. P(x 1 , …, x n )
      • x i : Modellparameter, Versteckte Variablen, Daten
    • Ansatz: Zwei Ideen
    • Monte Carlo :
    • Stichproben S t = (x 1 t , …, x n t ) erzeugt von
    • Markov-Kette mit Verteilung P(x 1 , …, x n )
  • 17. Markov-Ketten I
    • System mit Zuständen S = {s 1 , s 2 , …, s |S| }
    • Folge von Zuständen: S 0 ,S 1 , …, S t , … (Zeitp. t )
    • Variablen S t bilden Markov-Kette gdw.
      • P(S t + 1 | S 0 , …, S t ) = P(S t + 1 | S t )
      • Zukunft abh. v. Vergangenheit nur durch Gegenwart
    • Markov-Kette determiniert durch
      • Anfangsverteilung P(S 0 )
      • Übergangswahrscheinlichkeiten: P t = P(S t+1 | S t )
  • 18. Markov-Ketten II
    • Stationäre ~: Übergangswahrscheinlich. konst.
      • Übergangsmatrix: T = (t ij ), Wahrscheinlichkeit s j ->s i
    • Stabile Verteilung:
      • Wird nicht verlassen!
    • Ergodische ~: Konvergieren stets in dieselbe Verteilung (  Gleichgewichtsverteilung)
    • Aufgabe: Finde Gleichgewichtsverteilung!
  • 19. Gibbs-Sampling
    • Gegeben: Bedingte Verteilung P(x i |x j : j ≠ i)
    • Iterative Auswahl der Variablen X i :
      • Wähle x 1 t + 1 gemäß P(X 1 |x 2 t , x 3 t , ..., x n t )
      • Wähle x 2 t + 1 gemäß P(X 2 |x 1 t + 1 , x 3 t , ..., x n t )
      • ...
      • Wähle x n t + 1 gemäß P(X n |x 1 t + 1 , x 2 t + 1 , ..., x n - 1 t )
  • 20. Metropolis Algorithmus
    • Ziel: Erzeuge Stichproben von P(s), s = (x 1 , ..., x n )
    • Ansatz: Zwei Mengen von Hilfsverteilungen
      • Q = (q ij ) : Selektionsverteilung, s j -> s i
      • R = (r ij ) : Akzeptanzverteilung, s j -> s i
    • Methode: Iteration über die Zustände S t = s j :
      • Wähle Zustand s i gemäß Verteilung q ij .
      • Akzeptiere Zustand s i gemäß Verteilung r ij .
      • S t + 1 = s i mit Wahrscheinlichkeit r ij .
      • S t + 1 = s j mit Wahrscheinlichkeit 1 - r ij .
  • 21. Metropolis - Verteilungen
    • Für Q symmetrisch (q ij = q ji ) :
      • Wähle für R:
    • Für Q unsymmetrisch:
      • Wähle für R:
    • Für Übergangsmatrix t ij gilt folglich (Q sym.) :
    • Ausreichendes Kriterium für stabile Verteilung!
    • Gleichmäßige Verteilung für Q  Ergodizität
  • 22. Metropolis - Energie
    • P als Funktion der Energie:
    • Verteilung R umformuliert:
      • Eliminierung von Z!
    • Algorithmus umformuliert:
      • Wähle Zustand s i gemäß Verteilung q ij .
      • E(s i ) ≤ E(s j ) : Akzeptiere s i E(s i ) > E(s j ) : Akzeptiere s i mit Wahrscheinlichkeit:
  • 23. Simulated Annealing
    • Ziel: Minimiere Funktion f (x 1 , ..., x n )
    • Ansatz: „Abkühlen“ von Funktionen
    • Ursprung: Langsames Abkühlen von Metallen
      • Führt zu starken makroskopischen Eigenschaften
      • Auf Grund molekularer Zustände niedriger Energie.
    • Idee: f als Funktion der Energie eines Systems
      • Mit Zuständen s = (x 1 , ..., x n )
      • Und für alle s : f (s) ≥ 0.
  • 24. Boltzmann-Gibbs-Verteilung
    • System im Zustand s bei Temperatur T (k: Boltzmann):
    • Bei niedrigen Temperaturen dominieren die Zustände (Anzahl m) niedrigster Energie die Verteilung:
  • 25. SA - Skizze
  • 26. SA - Vorgehensweise
    • Beginne mit hoher Temperatur T 0 .
    • Senke die Temperatur T t in Abh. v. t .
      • Annealing Schedule
    • Grundzustände treten in Vordergrund.
    • Annäherung an das Minima von f .
  • 27. Annealing Schedule
    • Logarithmisch:
      • Sehr wahrscheinlich globales Minimum
      • Aber: Langsam!
    • Für K = ∆ E /k:
      • ∆ E = E (s max ) – E (s min )
      • Sicher globales Minimum!
    • Geometrisch:
      • Mit 0 < μ < 1
      • Annäherung an globales Minimum
  • 28. Genetische Algorithmen
    • Heuristische Suche: Suboptimale Lösungen
    • Ansatz: „Survival of the Fittest“:
      • Zufällige Population  Stichproben d. Lösungen
      • Mehrfache Mutation  Optimierung m. Operatoren
      • und Selektion  Evaluierung mit Fitnessfunktion
    • Maschinelles Lernen?
      • Kein allg. Modell, sondern spezielle Lösung
  • 29. Proteinstrukturalignierung mittels Genetischem Algorithmus
    • „ Protein Structure Alignment Using a Genetic Algorithm“, Joseph D. Szustakowski und Zhiping Weng, 1999
    • KENOBI, Version 1.0:
      • http:// zlab.bu.edu / zlab / publications / kenobi.pdf
    • KENOBI, Version 2.0:
      • http://zlab.bu.edu/k2/index.shtml
    • K2SA:
      • http:// zlab.bu.edu /k2sa/
  • 30. Proteinstrukturalignierung
    • Ziel: Räumliche Überlagerung der Reste
    • Zweck: Strukturelle Ähnlichkeit
      •  Funktionelle Ähnlichkeit
      •  Evolutionäre Verwandtschaft
    • Nutzen: Strukturvorhersage
      • Konservierte Bereiche  Strukturmotive
      • Tests: „Gold Standard“
        • Tatsächliche vs. Vorhergesagte Struktur
  • 31. KENOBI - Methode
    • Phase: Genetischer Algorithmus
      • Alignierung der Sekundärstrukturelemente
      • Verfeinerung des besten Alignments
    • Phase:
      • Überlagerung des Proteinrückgrats
      • Erweiterung des Alignments
      • Verfeinerung des Alignments
  • 32. Fitnessfunktion: Elastic Similarity Score I
    • Intramolekulare Distanzen
      • Distanzmatrizen d A , d B für Reste aus Protein A, B
    • Summe über je zwei Paare i, j von Resten
      • Ungepaarte Reste werden nicht berücksichtigt
    • Für i = j: Konstanter Schwellenwert ( θ = 0,20)
    • Für i ≠ j:
    Envelope-Funktion *: Durchschnitt Abweichung
  • 33. Fitnessfunktion: Elastic Similarity Score II
    • Maximierung der Anzahl an Paaren
      • von überlagerten Resten
    • Minimierung der Distanzen
      • zwischen den Paaren
    • Beispiel: 1., 2. und 3. Rest von Protein A
    • gepaart mit 1., 2. und 3. Rest von Protein B
    •  S ≈ 9 θ
  • 34. 1. Phase: Genetischer Algorithmus
    • Erzeuge eine Population von SSE-Alignments
    • Verändere die Alignments mit Operatoren:
      • mutate, hop, swap und crossover
    • Bewerte die veränderten Alignments (  ESS) und akzeptierte oder verwerfe Veränderungen
    • Falls Abbruchsbedingungen nicht erfüllt, Beginne wieder bei Schritt 2.
  • 35. 1. Phase: Anfängliche Population
    • Zufällige Erzeugung von 100 Alignments
    • SSE werden nach Typ (Helix, Strand) gepaart
    • Ggf. Auffüllen mit Nullelementen (  Padding)
    • Ggf. Stutzen der SSE (  Trimming)
    • Je zwei Paare von SSE bilden Dublette
    • High-scoring (  ESS) Dubletten bevorzugt
  • 36. 1. Phase: Operatoren I
    • mutate: 3% pro Paar
      • SSE um eins verlängern, verkürzen oder verschieben
      • innerhalb von festen Grenzen.
    • hop: 5% pro Alignment
      • Zwei Paare vom selben Typ
      • werden zufällig gewählt
      • und vertauscht.
      • Ggf.: Trimming
  • 37. 1. Phase: Operatoren II
    • swap: 5% pro Alignment
      • Zwei Alignments werden zufällig gewählt
      • und sämtliche Paare eines Typs
      • werden getauscht.
    • crossover: Alle Alignments
      • Zufällige Zuweisung eines Partners.
      • Zufällige Bestimmung eines Crossover-Punktes
      • Austausch aller SSE jenseits des Punktes
      • Ggf.: Reparatur der Alignments
  • 38. 1. Phase: Fitness der Population
    • Elastic Similarity Score (ESS)
      • S‘ < S  Änderungen werden verworfen
      • S‘ ≥ S  Änderungen werden übernommen
    • Außerdem wird berechnet:
      • Durchschnittlicher Score
      • Bester Score
      • Liste der zehn besten Alignments
  • 39. 1. Phase: Abbruch des GA
    • Vorgegebene Anzahl an Runden
    • Bester Score bleibt unverändert
      • während 20 aufeinander folgenden Runden
    • Durchschnittlicher Score = Bester Score
    • Auswahl des besten Alignments
  • 40. 2. Phase: Erweiterung
    • Überlagerung der Proteinstrukturen
      • Minimale Distanz
    • Suche im Proteinrückgrat
      • nach Paaren von äquivalenten Resten
      • Besonders in non-SSE
    • Verfeinerung des Alignments
  • 41. KENOBI – Diskussion
    • Einfache Anwendung  Keine Parameter
    • Schnelle Verarbeitung  Alignierung der SSE
    • Keine Alignierung von Proteinen
      • Geringer Länge, ohne Sekundärstrukturelemente
    • Ausschließlich α -Helices und β -Strands als SSE
  • 42. Zusammenfassung
    • Maximiere P(M|D) bzw. P(D|M)
      • Minimiere -log P( w |D) bzw. -log P(D| w )
    • Maschinelles Lernen-Algorithmen
      • Optimierungsprobleme
    • Abhängigkeit von
      • Modell M, Parameter w , Daten D, Unbekannten H
    • Probleme:
      • Lokale vs. Globale Maxima, Rauschen, Komplexität, ...
    • Faktor Mensch  Auswahl von
      • Trainingsmenge, Startparameter, Modell, ...
  • 43. Datenauswahl
    • Datenmengen für
      • Training : Lernphase
      • Validierung : Lernerfolg
      • Test : Gesamtperformance
    • Verschiedene Trainingsmengen
      • Verschiedene Modelle
    • Ausgeglichenheit der Trainingsmenge bzgl. Klassen
      • Balancierung: Keine Unter-/Überrepräsentierung
      • Gewichtung der Datenklassen nach Häufigkeit
    • Online/Batch-Learning
  • 44. Modellkomplexität
    • Under-/Overfitting: Modell zu schwach/stark justiert
      • Abh. v. Freiheitsgraden = Anzahl der Parameter
    • Early-Stopping: E T fällt  E V steigt
      • E T : Trainingsfehler, E V : Validierungsfehler
      • Schwellenwert für E T , Feste Anzahl an Trainingsrunden
    • Ensemble: Kombination vieler Modelle
      • E f (X) ≤ f E(X) (Jensen‘s Ungleichung)
      • f : konvexe Fehlerfunktion, X : Zufallsvariable (f. Ensemble)
      • Durchschnitt oder Gewichtung der Modelle
  • 45. Noch Fragen???
    • May the source be with you ...