Maschinelles Lernen 1
x = x
Dozent: Prof. Dillmann, Prof. Zöllner
Meine Zusammenfassung. Ohne Gewähr etcpp, ist unvollständig und frisst deine Hausaufgaben. Fehler gefunden? daniel@danielgeier.com
Beim Zusammenschreiben habe ich mich an Martin Thoma’s und honnels Zusammenfassung vergriffen. Danke!
Einführung
- Maschinelles Lernen
- Ein System lernt aus Erfahrung E in Hinblick auf eine Klasse von Aufgaben T und einem Performanzmaß P, wenn seine Leistungen bei Aufgaben aus T gemessen mit P durch Erfahrung aus E steigt.
Beispiel: Lernen, Schach zu spielen
- T = Schachspielen
- P = Prozent der gewonnenen Spiele
- E = Spiele gegen sich selbst
- Wissensrepräsention
- Wie kann Wissen/Hypothesen repräsentiert werden? ⇒ Entscheidungsbäume, Formale Grammatiken, Aussagenlogik, …
Einordnungskriterien von Lernverfahren
Typ der Inferenz
- Induktiv
- Aus Trainingsbeispielen auf ein allgemeines, dahinter liegendes Konzept schließen (Version Space- Algrotithmus)
- Deduktiv
- Vorhandenes generelles Wissen wird eingesetzt um spezielle Regeln für Trainingsbeispiele zu bestimmen (Erklärungsbasierte Generalisierung)
Ebene des Lernens
- Symbolisch
- Ein Teil der Semantik der Daten erkennbar und Lernverfahren macht davon explizit Gebrauch (Entscheidungsbäume)
- Subsymbolisch
- Lernverfahren fasst Daten als Signale auf, z. Bsp. Reelle Zahlen (Neuronale Netze)
Lernvorgang
- Überwacht
- Trainingsbeispiele haben bereits zugehörige Klassen annotiert (k-Nearest Neighbor)
- Unüberwacht
- Ohne Klassenzugehörigkeit (k-Means)
Beispielgebung
- inkrementell
- Trainingsbeispielle können einzeln in das System eingegeben werden und das System verfeinert mit jedem Beispiel seine Hypothese (bereits eingelernte Trainingsdaten müssen dafür nicht nochmal betrachtet werden (ID5R)
- nicht inkrementell
- Hinzunahme zusätzlicher Trainingsbeispiele erneut die ursprünglichen mitverarbeiten (ID3)
Umfang der Beispiel
- umfangreich
- vier/fünfstellige Zahlen (Neuronale Netze)
- gering
- eine Hand voll Beispiele (Case-Based-Reasoning)
Hintergrundwissen
- empirisch
- statistisch ausgewertetes Erfahrungswissen (SVMs)
- axiomatisch
- logischer Unterbau des Lernverfahrens mit echten formalen logischen Ableitungen (Erklärungsbasierte Generalisierung)
Die Kriterien sind in folgender Tabelle nochmals für alle Algorithmen zusammengefasst:
ind | ded | symb | subsymb | üb | unüb | inkr | n. inkr | viel | gering | emp | axio | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version Space | x | x | x | x | x | x | |||||||||||
NN | x | x | x | x | x | x | |||||||||||
SVM | x | x | x | x | x | x | |||||||||||
k-means | x | x | x | x | x | x | |||||||||||
Agglom H. C. | x | x | x | x | x | x | |||||||||||
COBWEB | x | x | x | x | x | x | |||||||||||
Bayes | x | x | x | x | x | x | |||||||||||
ID3 | x | x | x | x | x | x | |||||||||||
C4.5 | x | x | x | x | x | x | |||||||||||
ID5R | x | x | x | x | x | x | |||||||||||
Random Forest | x | x | x | x | x | x | |||||||||||
HMM | x | x | x | x | x | x | |||||||||||
k-NN | x | x | x | x | x | x | |||||||||||
CBR | x | x | x | x | x | x | |||||||||||
EBL | x | x | x | x | x | x |
Induktives Lernen (Konzeptlernen)
- Induktion
- Trainingsbeispiele ⇒ Hypothese
- Deduktion
- Vorhandes Hintergrundwissen + Neuformulierung von Wissen ⇒ Hypothese
- Induktive Lernhypothese
- “Jede Hypothese, die die Zielfunktion über einer genügend großen Menge von Trainingsbeispielen gut genug approximiert, wird die Zielfunktion auch über unbekannten Beispielen gut approximieren.”
- Konzeptlernen
- „Schließen auf eine booleanwertige Funktion aus Trainingsbeispielen ihrer Inputs und Outputs.“ Ziel: Hypothese finden mit Also die Hypothese stimmt mit dem Konzept von jedem Trainingsbeispiel überein. ist der Instanzraum.
- Konzept
- Beschreibt eine Untermenge von Objekten/Ereignissen, z.B:
- Spezifität
- Je spezifischer Die Hypothese h, desto weniger Trainingsbeispiele erfüllen h.
- Konsistenz
- Keine negativen Beispiele werden positiv klassifiziert.
- Vollständigkeit
- Alle positiven Beispiele werden als positiv klassifiziert.
Lernen
Specific-To-General-Suche
h = spezifischste Hypothese
für jedes unerfüllte positive Trainingsbeispiel:
erweitere h
Wird benutzt bei Lernen von Präzedenzgraphen, vgl. Untertasse-Tasse-Teller.
Beurteilung
- Hypothesenraum beschrieben durch Konjunktionen von Attributeinschränkungen STG liefert spezifischste vollständige Hypothese
- Falls Trainingsbeispiele korrekt und Zielhypothese in H enthalten Endhypothese auch konsistent
- Sind Trainingsbsp. konsistent?
- Wenn es echte Daten sind, wohl nicht…
- Endkonzept = korrektes Zielkonzept?
- Bsp. faules Obst. Hier ist die Farbe wichtig, aber wenn man nur die Form/whatever als Attribute hat, kommt auch kein gutes Endkonzept raus.
- Warum spezifischste Hypothese?
- Man will oft was eher Generelles ⇒ Version Space
(General-To-Specific-Suche)
h = generellste Hypothese
für jedes erfüllte negative Trainingsbeispiel:
enge h ein
Version Space
„Der Versionsraum bezüglich des Hypothesenraums H und der Menge von Trainingsbeispielen D ist die Untermenge der Hypothesen von H, die mit den Trainingsbeispielen in D konsistent ist.“
Candidate Elimination Algorithm
watup
x = 1;
2 = 2;
S = {#} // Spezifischste Hypothese
G = {?} // Generellste Hypothese
if n == negatives Beispiel:
Lösche aus S die Hypothesen, die n abdecken.
Spezialisiere alle Hypothesen in G, bis sie:
- n nicht abdecken
- allgemeiner als eine Hypothese in S bleiben.
Lösche aus G alle Hypothesen, die spezifischer als eine andere Hypothese aus G sind.
if p == positives Beispiel:
Lösche aus G die mit p inkonsistenten Hypothesen.
Verallgemeinere alle Hypothesen in S, bis sie:
- p abdecken
- spezifischer als eine Hypothese in G bleiben.
Lösche aus S alle Hypothesen, die allgemeiner
als eine andere Hypothese aus S sind.
Beurteilung
Konvergiert zur korrekten Hypothese (falls Beispiele konsistent und Hypothese im Hypothesenraum)
Induktiver Bias
- Grundlegende Eigenschaft von induktiver Inferenz
- „Ein induktives Lernsystem, das keine a priori-Annahmen über die Identität des Zielkonzepts macht, hat keine rationale Basis, um unbekannte Instanzen zu klassifizieren.“
Hypothesenraumbias
Raum der Hypothesen beschränken. Sehr gute Klassifikation i.A. durch eine komplexe Hypothese erreicht. Aber: Overfitting!
Beispiele:
-
logische Konjunktionen
-
lineare Schwellwertfunktionen
-
Geraden, Polynome …etc
-
3-NN (Nearest Neighbour)
Präferenzbias
Bevorzugung von Hypothesen. Wähle das , das möglichst viele Beispiele richtig klassifiziert. Misklassifikation muss in Kauf genommen werden.
Beispiele:
- Bevorzuge Hypothesen mit weniger Disjunktionen
- Bevorzuge kleinere Entscheidungsbäume
Reinforcement Learning
Markov Decision Process
5-Tupel aus :
- Endliche Zustandsmenge (states).
- Die Menge von möglichen Aktionen im Zustand .
- Die Wahrscheinlichkeit im Zeitschritt im Zustand zu sein, wenn man zum Zeitpunkt im Zustand ist und die Aktion ausführt.
- Die direkte Belohnung, wenn durch die Aktion vom Zustand in den Zustand gekommen ist.
- Der Diskontierungsfaktor, welche die Bedeutung von direkten Belohnungen im Vergleich zu künftigen Belohnungen anzeigt. (Klarmachen was und bewirken.)
Außerdem gilt die Markov-Bedingung: Der aktuelle Zustand ist nur vom vorherigen abhängig.
Zustandsänderungen werden beschrieben durch die Funktion :
Strategielernen - Policy Learning
- Policy
- Eine Policy ist die Vorschrift, in welchem Zustand welche Aktion ausgeführt werden soll.
- Policy Learning
- Unter Policy Learning versteht man die Suche nach einer optimalen Policy .
- Value-Funktion
- Die Funktion heißt Value-Funktion. Sie gibt den erwarteten Wert (nicht die Belohnung, da bei der V-Funktion noch eingeht) eines Zustands unter der Policy an. Mit wird der Wert unter der optimalen Policy bezeichnet.
Simple Value Iteration
Schätze durch (bis Konvergenz):
Simple Temporal Difference Learning
Wie Simple Value Iteration, aber mit Lernrate .
Q-Lernalgorithmus
- Q-Funktion
- Die Funktion gibt den erwarteten Wert einer eines Zustandes unter der Policy , wenn die Aktion ausgeführt wird an. Es gilt:
wird anfangs mit 0 initialisiert. Beim Training wird die Folgeaktion mit dem höchsten -Wert ausgewählt und dementsprechend angepasst.
Probabilistische Auswahl von Aktionen
Welche Aktion wählen? ⇒ Exploration vs. Exploitation
Suchstrategie im Laufe des Lernprozesses von global (neue Aktionen) nach lokal (bekannte Aktionen) zu bewegen. Dazu gibt es einen Parameter . Kleines = global, großes = lokal.
Optimierungen
- In jeder Lernepisode alle anpassen
- Änderungen zu abhängigen -Werten propagieren
- Mit adaptivem Model lernen, d.h. meiste Aktionen in simulierter Umgebung ausführen, einige wenige Aktionen in realer Umgebung. Dabei das Modell anpassen.
Generalisierung
kontinuierlicher Zustandsraum ⇒ -Tabelle zu groß, zu viele Iterationen
Lösung: Kombination mit Methoden höherer Generalisierung. z.B.: Neuronale Netze
Nichtdeterministische MDP
Folgezustand tritt entsprechend einer Verteilung auf ⇒ was machen?
Lösung: Erwartungswert als Bewertung.
Lernen von Aktionssequenzen
Reward erst nach Aktionensequenz oder sogar erst ganz am Ende bekannt (z.B. Schach Win/Lose).
TD()-Lernen
- Eligibility Traces
- Speichern zeitliche Informationen, z.B. frühere Zustände.
- Vorwärtssicht
- gewichtete Anpassung anhand den nachfolgenden Schätzungen.
- Rückwärtssicht
- gewichtete Fehlersignale (temporal differences) in Schätzungen nach hinten weitergeben.
SARSA()-Algorithmus mit Eligibility Traces
Ist anscheinend Q-Learning mit Eligibility Traces. Algorithmus: meh.
Lerntheorie, Algorithmenunabhängige Verfahren (für überwachtes induktives Lernen)
Allgemeines
- Occam’s Razor
- Die einfachste Theorie ist allen anderen vorzuziehen.
- Lernmaschine
- Besteht aus
- Hypothesenraum
- Lernverfahren (um die optimale Hypothese zu finden)
- Modell (gegeben durch Auswertung von )
Probleme beim Lernen
-
statistisch: Zu großer Hypothesenraum ⇒ mehrere Hypothesen eignen sich gleich gut
-
Komplexität: Problem zu komplex, Lernverfahren findet u.U. keine optimale Lösung
-
Repräsentation: Hypothesenraum enthält keine gute Approximation der Zielfunktion
CUT von Stoff den ich schon kenne (Fehlerfunktion ⇒ Lern-, Verifikations- und Generalisierungfehler, Distanzfunktionen, Gradientenabstieg, Overfitting, Modellwahl/-güte (vgl. occam’s razor), cross validation)
Bagging & Boosting
Siehe auch Bagging, boosting and stacking in machine learning.
Bootstrap
Wiederholtes zufälliges Sampling (Zufallsstichprobe) aus dem Sample das man hat.
Bagging (Bootstrap aggregating)
- Bootstrap ⇒ mehrere Samples
- für jedes Sample eigenes Modell
- Modelle kombinieren
Boosting
Mehrere weak classifier werden sequentiell auf wiederholt modifizierten Varianten der Daten trainiert. Diese werden dann durch majority voting zu einem starken Klassifikator kombiniert.
Der Originalalgorithmus:
- Zerlege in mehrere Datensätze, z.B. in
- Wähle und bestimme das Modell
- Wähle für aus neue Beispiele s.d. 50% durch korrekt geschätzt werden und erstelle damit
- Wähle für Beispiele bei denen und gegensätzlich sind und bestimme
- Kombiniere die Modelle:
AdaBoost (Adaptive Boosting)
# Alle Datenpunkte gleich gewichtet
gewichte = {1, ..., 1}
for i in range():
Trainiere Klassifikator i mit gewichteten Daten
for x in X:
w = zugehöriges Gewicht
if x richtig klassifiziert:
w verkleinern
else:
w vergrößern
Die Viola-Jones Gesichtserkennung verwendet AdaBoost. Zusätzlich wird Kaskadierung verwendet, d.h. es wird erst ein schneller schlechter Klassifikator mit hoher FP-Rate verwendet und nur weiter klassifiziert, falls dieser positiv klassifiziert.
Probably Approximate Correct (PAC)
-
Wir wollen eine approximate correct -genaue Hypothese finden mit .
-
Diese wird mit Wahrscheinlichkeit gefunden.
-
Das geschieht in polynomialer Zeit abhängig von mit Speicheraufwand abhängig vom Konzept .
- Stichprobenkomplexität
- Anzahl benötiger Lerndaten . Es gilt D.h. je größer der Hypothesenraum, je größer die Sicherheit und je kleiner der Fehler, umso mehr Daten werden benötigt.
Zum Beispiel:
- Hypothesen aus Konjunktionen mit bis zu 10 Literalen.
- zu 95% Sicherheit Hypothese gefunden
- Fehler < 0.1
VC-Dimension (Vapnik-Chervonenkis)
Sagt aus, wieviele Punkte (aus 2 Klassen) eine Hypothese (Klassifikator) maximal separieren kann.
Nun kann man den Testfehler genauer abschätzen als mit PAC.
Structural Risk Minimization
Strukturiere den Hypothesenraum nach VC-Dimension und wähle so, dass der Fehler minimiert wird. Das geltende Prinzip hier “so niedrig wie möglich aber so hoch wie nötig”, denn höhere VC-Dimensionen führen zu Overfitting.
Neuronale Netze
Perzeptron
Lernalgorithmus
Ausm Skript:
Start:
Gegeben Lerndatenmenge P ∪ N
Der Gewichtsvektor w(0) wird zufällig generiert.
Setze t := 0.
Testen:
Ein Punkt x in P ∪ N wird zufällig gewählt.
Falls x ∈ P und w(t)x > 0 gehe zu Testen
Falls x ∈ P und w(t)x ≤ 0 gehe zu Addieren
Falls x ∈ N und w(t)x < 0 gehe zu Testen
Falls x ∈ N und w(t)x ≥ 0 gehe zu Subtrahieren
Addieren:
Setze w(t+1) = w(t) + x.
Setze t := t+1. Gehe zu Testen.
Subtrahieren:
Setze w(t+1) = w(t) - x.
Setze t := t+1. Gehe zu Testen.
Multilayer Perceptron
Gradientenabstieg
Die Aktivierungsfunktion ist oft die Sigmoidfunktion:
Anpassung von durch
Backpropagation
How the backpropagation algorithm works.
Bei der Herleitung benutzt man dann ganz oft die Kettenregel.
Radial Basis Function Netze (RBF)
Benutzen in der hidden layer radialsymmetrische Basisfunktionen, z.B. Gaussfunktion.
Konstruktive Lernverfahren (Schrittweises Vergrößern)
- Cascade Correlation
- Netz ohne hidden layer initialisiert. Wenn der Fehler nicht mehr kleiner wird, neues candidate neuron einfügen und einzeln trainieren. Und von vorne!
- Dynamic Decay Adjustment (DDA)
- Konstrukives Verfahren für RBF-Netze
Optimierungen für NN
- Momentum Term
- Normierung der Schrittweite
- RPROP (Lernratenanpassung)
- Verbesserung der Generalisierung: z.B Optimal Brain Damage
Support Vector Machine (SVM)
(Alle hier sind Vektoren.)
Gesucht: Hyperebene , die Klassen trennt. Dazu muss minimiert werden ⇒ Lagrange-Multiplikatoren . Die Datenpunkte für die heißen support vectors.
Soft Margin
Erlaube geringe Anzahl Missklassifikationen. Regulierungsparameter : Maß, wie viel Abweichung vom Margin erlaubt ist.
If is close to , then we don’t pay that much for points violating the margin constraint. We can minimize the cost function by setting to be a small vector - this is equivalent to creating a very wide “tube” or safety margin around the decision boundary (but having many points violate this safety margin - see Figure 11.1.1). If is close to , then we pay a lot for points that violate the margin constraint, and we are close the hard-margin formulation we previously described - the difficulty here is that we may be sensitive to outlier points in the training data. \ [Quelle]
Kernel Trick
Idee: Transformiere Daten in anderen Raum, wo sie besser separierbar sind.
z.B. Monomtransformation
Transformation zeitaufwendig und in Berechnung sowieso nur Skalarprodukt verwendet ⇒ Berechne das Skalarprodukt im transformierten Raum durch einen Kernel.
z.B. Kernel zur Monomtransformation
Liste von Kernelfunktionen
- (Skalarprodukt)
- (Polynomial)
- (RBF)
- (Sigmoid)
Version Space Duality
Es folgen fesche Begründungen dafür wieso SVMs nicht nur praktisch, sondern auch theoretisch toll™ sind.
Erweiterungen
### k-Klassen-Klassifizierung - one vs. all - one vs one - multiple - k-class SVM von Waktins
Gewichtete SVM
je ein C für positive und negative Klassen
Dichte-Träger Schätzung
so was wie Clustering mit SVMs
Pro/Kontra
Pro:
- Optimale VC-Dimension ⇒ korrektes Lernen
- Verarbeitung hochdimensionaler Daten
- Schnelle Auswertung
- …
Contra:
- Vorverarbeitung extern (vgl. deep learning)
- Finden des Kernels und der Parameter
- Trainingsaufwand
- …
Unüberwachte Lernverfahren
k-Means Clustering
C = [k Clustermittelpunkte] (zufällig oder nach Heuristik platziert)
while c ändern sich noch signifikant:
for c in C:
S = Alle Punkte, für die c der näheste Mittelpunkt ist
c = Mittelpunkt von S
Pro/Kontra
- Resultate hängen stark von Initialisierung ab
- Algorithmus mit verschiedenen Initialisierungen ausführen
- Beim k muss man rumprobieren, wenn kein Domänenwissen ⇒ Overfitting
- Resultate hängen von Metrik ab
- Viele Dimensionen ⇒ Alle Daten unähnlich (curse of dimensionality)
Fuzzy k-Means Clustering
haben variable Zugehörigkeit zwischen 0 und 1 zu allen Clustern: (wat)
Agglomerative Hierarchical Clustering
Hat mehr Struktur als k-means. Ballungen bestehen wieder aus Ballungen.
t = Minimalabstand den Cluster haben müssen
D = [[x] for x in X]
c = 0
while (c < maximale Anzahl Schritte) und (die minimale Distanz < t):
D_i, D_j = die zwei Cluster aus D mit der minimalen Distanz
D.ersetze(D_i und D_j durch merge(D_i, D_j))
c++
Pro/Kontra
- simpel
- besser als k-means, wenn k unbekannt, aber man ne Idee hat wie man d und t sinnvoll wählt.
- Unabhängig von Initialisierung
- Rauschanfällig
Begriffliche Ballung
Die Verfahren oben sind klassische Ballungsverfahren deren Ähnlichkeitsmaß kontextfrei ist. COBWEB hingegen ist ein begriffliches Ballungsverfahren, dass konzeptuelle Zusammenhänge einbezieht. Das war in den 90ern (als die Folien geschrieben wurden) gerade total in.
COBWEB
Lernen durch inkrementelles Aufbauen und Anpassen eines Strukturbaums. Nominale Attributwerte sind ok.
Grundprinzip
- Repräsentation: Begriffshierarchie als Baum
- Maximiere Ähnlichkeit in Klassen
- Maximiere Unterschiede zwischen Klassen
- Die Distanzfunktion heißt category utility.
- Für jedes x wird berechnet, durch welche Aktion CU am größten wird (Erzeuge Knoten, Vereinige 2 Knoten, Teile Knoten auf)
Bayessches Lernen
Allgemeines
Wir suchen die maximum a posteriori (MAP) Hypothese :
Die Annahme führt zur Maximum-Likelihood-Hypothese. Das bedeutet wir haben kein Vorwissen über die priors.
Naiver Bayes Klassifikator
Bayessche Netze
Bedingte Unabhängigkeit des Naiven Bayes zu restriktiv ⇒ Beschreiben bedingter (Un)Abhängigkeiten
Sonstiges
aka Sachen, die in den Prüfungsprotokollen nie gefragt werden.
- Konzeptlernen
- Lernen einer rell-wertigen Funktion
- Optimaler Bayes-Klassifikator
- Expectation-Maximization Algorithmus (siehe auch HMM)
Entscheidungsbäume
## ID3 ```python while !Trainingsdaten perfekt abgebildet: k = nächster Knoten A = bestes Entscheidungsattribut für k k.attribut = A
for v in (alle Attribute, die A annehmen kann):
b = k.erstelle_neues_blatt(v)
b.daten = (|positive Beispiele von v|, |negative Beispiele von v|) ```
Das beste Attribut ist das, durch das die Entropie minimiert wird. ist hier die Trainingsmenge, der Anteil der positiven Beispiele ist und der Anteil der negativen Beispiele.
Der Gewinn den man durch A erhält ist die erwartete Reduzierung der Entropie durch die Einsortierung der Attribute über A. Durch diese Minimierung der Entropie erreicht man einen Baum mit niedrigerer Tiefe.
Verschiedene Attribut-Erweiterung
Attribute mit vielen Werten
bevorzugt Attribute mit vielen Werten.
Lösung: Bestrafen von Attributen durch Normierung mit Splitt Information.
Kontinuierliche Attributwerte
Wähle als Schwellwert das Mittel der Klassenmittel.
Fehlende Attributwerte
Setze bei fehlenden Werten
- den häufigsten Wert der Beispiele
- den häufigsten Wert der Beispiele der gleichen Klasse
- einen zufälligen Wert mit der Verteilung der anderen Werte
Reduced Error Pruning
Um Overfitting zu vermeiden, werden sukzessive die Knoten entfernt, deren Entfernung die Klassifikation der Testdaten am meisten erhöht.
Induktiver Bias
ID3 bevorzugt
- Attribute mit großem Informationsgewinn nahe der Wurzel
- kleine Bäume
C4.5
Weiterentwicklung von ID3 mit regelbasiertem Pruning
Beispiel:
IF (Vorhersage = sonnig) AND (Luftfeuchtigkeit = hoch)
THEN (Tennis = nein)
IF (Vorhersage = sonnig) AND (Luftfeuchtigkeit = normal)
THEN (Tennis = ja)
Rule Post-Pruning
Trainiere Baum
Konvertiere Baum in IF-THEN-Regeln
while !Genauigkeit wird schlechter:
Generalisiere/"Prune" Regeln (d.h. entferne Vorbedingungen)
Sortiere Regeln nach Klassifikationsgüte und verwende Sie in dieser Reihenfolge
ID5R
Ist wie ID3 aber inkrementell. Knoten speichern Zähler für jeden möglichen Attributwert. Algorithmen für Update und Beispiel: siehe Skript weil mäh.
Random Forests
Mehrere zufällige Entscheidungsbäume mit majority voting.
- Kein Pruning
- Benutze zufällige Untermenge der Attribute/ der Trainingsdaten
- Bäume sollen möglichst unkorreliert sein
- Bootstrap für Trainingsdaten
Hidden Markov Modelle
Ein HMM ist ein Fünf-Tupel .
- Menge der Zustände
- Menge der Ausgabezeichen
- Matrix der Übergangswahrscheinlichkeiten um von nach zu kommen
- Menge der Emissionswahrscheinlichkeiten in das Zeichen auszugeben
- Menge der Anfangswahrscheinlichkeiten , so dass der Startzustand ist.
Arten von HMM
- Ergodisch
- Jeder Zustand ist von jedem anderen erreichbar
- Links-nach-rechts-Modell (Bakis)
- der Zustandsindex steigt monoton mit der Zeit
Evaluationsproblem
= Was ist die Wahrscheinlichkeit, die Ausgabesequenz rauszubekommen? Das heißt was ist ?
Lösung: Forward-Algorithmus. Hier werden die Wahrscheinlichkeiten für alle Zustände im Zeitschritt aus den Zuständen zur Zeit berechnet:
Dynamisches Programmieren wird verwendet um bereits ausgerechnete wiederzuverwenden.
Der Backward-Algorithmus funktioniert analog zum Forward-Algorithmus, fängt aber “von hinten” an.
Dekodierungsproblem
= Was ist die Zustandsfolge , die am wahrscheinlichsten hervorgebracht hat?
Lösung: Viterbi-Algorithmus. Eine Erklärung.
Lernproblem
= Wie muss ich die Parameter anpassen, so dass wahrscheinlicher wird? Das heißt wie findet man ?
Lösung: Baum-Welch-Algorithmus
Markov Logik Netze
= Prädikatenlogische Formeln + Verbindungen
Die Formeln sind gewichtet und erlauben Widersprüche (⇒ soft constraint)
Lernen
Suche der Gewichte, die am wahrscheinlichsten die Daten generiert haben. Irgendwie spielt da diskriminatives Lernen ne Rolle.
Aaach das kommt doch eh alles nicht dran
Instanzbasiertes Lernen
Instanzbasiertes Lernen ist lazy learning. Beim Lernprozess werden die Trainingsbeispiele nur abgespeichert. Deswegen ist das Lernen auch sehr schnell. Bei der Klassifikation hingegen muss jedes Mal eine Approximation der Zielfunktion erstellt werden.
k-Nearest Neighbor (k-NN)
Hat den induktiven Bias, dass Instanzen so wie ähnliche Instanzen klassifiziert werden (wer hätts gedacht).
Aufbau
- Distanzfunktion
- Anzahl der Nachbarn
- Gewichtung nach Distanz
Pro/Kontra
Pro:
- Robust gegen verrauschte Trainingsdaten (insbesondere mit Gewichtung)
- Training schnell
Kontra:
- Distanzmaß gewichtet alle Attribute gleich stark ⇒ Curse of Dimensionality
- Speicherorganisation
- Klassifikation langsam
Case Based Reasoning (CBR)
Allgemeines Framework des “analogen Schließens”. Neue Fälle werden mit ähnlichen, schon gelösten Fällen verglichen und eine Lösung, die schonmal funktioniert hat, wird dem neuen Fall angepasst.
Ein Fall ist eine aufgetretene Problemsituation + resultierende Erfahrungen und besteht aus mindestens:
- Problembeschreibung
- Lösung(sversuch)
- Ergebnis
Der CBR-Zyklus
Retrieve
Ähnliche Fälle werden gefunden anhand
- ähnlicher Syntax (knowledge-poor)
- ähnlicher Semantik (knowledge-intensive)
Effektives Retrieval durch Indexstrukturen. Indizes sind z.B. Features mit hoher Aussagekraft.
Reuse
Lösung muss adaptiert werden:
- Keine Adaption, nur Übertragen
- durch Benutzer adaptiert
- automatische Adaption (transformational oder derivational)
Revise
Die Lösung wird evaluiert und verbessert.
Retain
- Neuen Fall speichern
- Alten Fall generalisieren
- Neue Merkmale/Indizes
Pro/Kontra
Pro:
- Kann mit wenig Information arbeiten
- Lernen ist einfach (one-shot)
- Günstig für Probleme die durch Regeln schlecht erfassbar sind
- …
Kontra:
- Speicherkosten
- Klassifikation kann lange dauern
- Hängt stark von Repräsentation ab
- …
Deduktives Lernen
Deduktive Lernverfahren benutzen Hintergrundwissen über die Problemdomäne und brauchen wenig/keine Lernbeispiele.
Beispiel Schach-Gabel:
- Induktiv: viele Beispiele nötig
- Deduktiv: Bereichstheorie (hier: Schachregeln) erlaubt, wesentliche Merkmale zu extrahieren
Erklärungsbasiertes Lernen (EBL)
- Prozess, der implizites Wissen in Explizites umwandelt
- System muss erklären können, wieso ein Trainingsbeispiel eine Ausprägung
des zu lernenden Konzepts darstellt
- Dazu brauchst es erklärende Fähigkeiten
Bestandteile eines EBL-Systems:
- Zielkonzept
- Beschreibung des zu lernenden Konzepts
- Trainingsbeispiel
- Beispiel für das Konzept
- Bereichstheorie (domain theory)
- Regeln und Fakten die erklären wieso das Trainingsbeispiel ein Beispiel für das Zielkonzept ist
- Operationalitätskriterium
- Prädikat über Konzeptbeschreibung, das Form der erlernten Beschreibungen spezifiziert
Gesucht:
- Generalisierung des Trainingsbeispiels, das
- hinreichende Definition des Zielkonzepts darstellt
- Operationalitätskriterium erfüllt
Erklärungsbasierte Generalisierung
Ziel: Trainingsbeispiel ⇒ Generalisierung
Schritt 1: Explain
- Konstruiere in der Bereichstheorie eine Erklärung, wie das Trainingsbeispiel das Zielkonzept erfüllt.
- Konstruiere die Erklärungsstruktur als Baum so, dass die Blätter das Operationalitätskriterium erfüllen
Die Trainingsbeispiele im Baum oben sind age(Num5, 5)
, robot(Num5)
,
r2d2(Num5)
und manufacturer(Num5, GR)
.
Schritt 2: Generalize
- Bestimme hinreichende Bedingungen, so dass die in Schritt 1 gefundene Erklärungsstruktur gültig ist
- Formuliere diese Kriterien in Terme, die das Operationalitätskriterium erfüllen
Notwendigkeit von Beispielen
- EBL kann ich manchen Bereichen keine Beispiele selber erzeugen
- Beispiele sind Fingerzeige für Deduktion
- Man kann Beispiele als typisch auswählen
Wird tatsächlich gelernt?
EGB verändert deduktive Hülle der Wissensbasis nicht. Das heißt es wird nichts Neues gelernt. Aber in der Praxis sind Zeit/Rechenleistung begrenzt ⇒ Lernen von Makros/Generalisierungen - Speedup-Learning.
Den Aufwand für das Lernen neuer Regeln kann man reduzieren:
- Aufnahme neuer Regeln/Makros beschränken
- Nützlichkeit neuer Regeln messen
- Fürs Messen ggf. Beispielprobleme lösen
- Regel je nach Ergebnis erhalten oder verwerfen
Pro/Kontra
Pro:
- Gelerntes Wissen ist korrekt
- ! nur falls ursprüngliches Wissen korrekt
- kein impliziter induktiver Bias
- explizite Formulierung der Bereichstheorie
Kontra:
- wird mysteriöserweise verschwiegen ;)
Hybride Lernverfahren
Kann man induktives und deduktives Lernen kombinieren?
Induktives Lernen | Deduktives Lernen | |
---|---|---|
Ziel | Hypothese passt zu Daten | Hypothese passt zu Bereichstheorie |
Rechtfertigung | Statistische Inferenz | Deduktive Inferenz |
Vorteile | benötigt wenig Vorwissen | benötigt wenige Beispiele |
Probleme | Spärliche Daten, inkorrekt gewählter Bias | imperfekte Bereichstheorie |
Versuch: Finde Hypothese die sowohl zu Trainingsbeispielen als auch Bereichstheorie passt, z.B. mittels wobei die induktiven bzw. deduktiven Fehlerraten sind und die induktiven bzw. deduktiven relativen Gewichte.
Knowledge-Based Artifical Neural Networks (KBANN)
- Initialisere NN mittels Bereichstheorie
- Verfeinere Netz durch Backpropagation und Trainingsbeispiele
Trainingsalgorithmus
Pro Instanzattribut ein Eingabeneuron erstellen
for Klausel in Bereichstheorie:
Neues Neuron erstellen
Eingänge mit geprüften Attributen verknüpfen und Schwellwert setzen
Verbinde Schichten mit jeweils nächster Schicht (kleine zufällige Gewichte)
Backpropagation mit Trainingsbeispielen anwenden
Anwendungen
- Lernen von physikalischen Objektklassen (Beispiel: Zielkonzept Tasse)
- Erkennen biologischer Konzepte in DNA (Beispiel: bestimmte genetische
Regionen - Promotoren)
- KBANNs zeigen gute Resultate
Evolutionäre Algorithmen
Grundalgorithmus
while !optimal:
Selektiere Eltern
Generiere Nachkommen
Bewerte Fitness von Nachkommen
Selektiere überlebende Populationsmitglieder nach Fitness
Generierung von Nachkommen
Exploration vs. Exploitation
- Exploration
- Erforschen des Hypothesenraums
- Exploitation
- Lokale Optimierung
- Exploration findet wahrscheinlicher schlechtere Nachkommen
- Exploitation birgt die Gefahr der lokalen Minima
- ⇒ Explorationsgrad gemäß Fitness der aktuellen Generation wählen
Mutation
⇒ Nachkomme stammt von einem Elternteil ab
- Einen Teil der Bits zufällig ändern
- Eine Teilsequenz invertierena oder n anderer Stelle einfügen
Rekombination
⇒ Nachkomme stammt von mehreren Elternteilen ab
Selektion
Zwei Arten der Selektion:
- Selektion der Eltern für die Erzeugung von Nachkommen (Mating)
- Selektion der Population der nächsten Generation (Iteration)
Populationsmodelle (⇒ Mating)
- Inselmodell (lokal)
- Evolution läuft getrennt, nur manchmal werden Individuen ausgetauscht
- Nachbarschaftsmodell (nahe Umgebung)
- Nachkommen werden nur von Individuen erzeugt, die die beste Fitness in ihrer Nachbarschaft besitzen
- Eine einfache Menge (global)
- Die global Besten entwickeln sich rasch weiter andere Entwicklungslinien werden unterdrückt
Populationsmitglieder (⇒ Iteration)
Wird von 3 Parametern bestimmt
- Populationsgröße
- Anzahl der Nachkommen
- Anzahl der Eltern
- -Strategie: Auswahl bezieht sich nur auf Nachkommen (⇒ Exploration)
- -Strategie: Auswahl bezieht Eltern ein, Suche nach Eliten (⇒ Exploitation, günstig bei gut berechenbarer Fitnessfunktion)
Selektionsmethoden
Verschiedene Formen der Ersetzung:
- Nachkommen ersetzen alle Eltern (Generationenmodus)
- Nachkommen ersetzen Teil der Eltern
- Nachkommen ersetzen ähnlichste Eltern
- Bestes Individuum überlebt (Elitemodus)
- Daumenregel (Braun):
- Beste 1/4 der Population sollen 3/4 der Nachkommen erzeugen.
Fitness-based Selection
Wahrscheinlichkeit das ausgewählt wird ist abhängig von der relativen Fitness . Normiert durch Anteil der Nachkommen an der Population.
Ranking-based Selection
Wahrscheinlichkeit hängt ab vom Fitnessrang und dessen Güte (das ist nurn Beispiel für ne Gütefunktion). ⇒ weniger abhängig von der Fitnessfunktion.
Tournament Selection
Wähle aus Gruppen von n Individuen jeweils das beste aus.
Probleme
- Genetischer Drift
- Individuen vermehren sich zufällig mehr als andere
- Crowding, Ausreißerproblem
- fitte Individuen und ähnliche Nachkommen dominieren Population
- Entwicklung der Individuen verlangsamt
- Vielfalt der Population eingeschränkt
Lösung:
- Verschiedene Populationsmodelle, Selektionsmethoden
- Populationsgröße optimieren
Arten von Evolution
- Lamarksche Evolution
-
- Individuen ändern sich/lernen nach Erzeugunug
- Genotyp ändert sich
- Baldwinsche Evolution
-
- Individuen ändern sich auch hier nach Erzeugnug
- Genotyp bleibt unverändert
- Hybride Verfahren
- Haben veränderbare oder fixe Phänotypen
Genetische Programmierung
Hintergrund: Kinematisches System, Roboter der sich in Simulation bewegt. Die Fitnessfunktion ist die Abweichung von einer vorgegebener Trajektorie. Individuen sind Programme gespeichert in Baumstruktur.
- Mikromutation
- Veränderung einzelner Werte einer Instruktion
- Makromutation
- Austausche ganzer Instruktionsblöcke
- Mikrocrossover
- Änderung eines Parameters einer Instruktion
- Makrocrossover
- Austausch einer Instruktion
- Homologes Crossover
- Austausch von Instruktionen eines spezifischen Gelenks
Pro/Kontra
Pro:
- Gut parallelisierbar
- Optimierungsprobleme in Simulation lösbar
Kontra:
- Meist sehr rechenintensiv
- Um anwendungsspezifisches Wissen einsetzen zu können, müssen allgemeine Algorithmen spezialisiert werden
Klausur
Aufgaben:
- Für verschiedene Probleme entscheiden, ob man ML einsetzen sollte
- Reinforcement Learning erklären
- Q-Algorithmus vervollständigen
- Was ist ein Markov Decision Process
- Naive Bayes Beispiel rechnen
- Biases erklären
- Probleme beim Lernen erklären (Komplexitätsproblem)
- Definition Entscheidungsbaum
- Wie funktioniert ID3
- Was ist Entropie, Gewinn
- Q vs Eligibility-Traces Pfad auf Karte zeichnen
- Verfahren beschreiben, dass SRM nutzt und wieso das was bringt