Design Cycle Mahanalobis Distanz - Informatik

Werbung
Überwachtes Verfahren = Beim trainieren ist jede Klasse eines Datensatzes bekannt
Unüberwachtes Verfahren = Während dem Training ist nicht bekannt, um welche Klasse es sich bei
einem Datensatz handelt.
Überwacht
k-NN
CART (Classification and Regression Trees)
Nicht-überwacht
Parametrisches Verfahren = Es wird anfangs eine Annahme über die Wahrscheinlichkeits-Verteilung
getroffen (z.B. Es handelt sich um eine GaussGlocke)
Nicht-parametrisches Verfahren = Es wird anfangs keine Annahme über die WahrscheinlichkeitsVerteilung getroffen.
Parametrisch
Perceptron
Nicht-parametrisch
CART (Classification and Regression Trees)
k-NN
Die Aktivierungsfunktion eines normalen neuralen Netzes ist die sig-Funktion.
Die Aktivierungsfunktion eines MLP/Backpropagation neuralen Netzes ist differenzierbar (meist die
sigmoid- oder tanh-Funktion)
Design Cycle
1.
2.
3.
4.
5.
Daten sammeln
Feature-Selektion
Modellauswahl
Klassifikator trainieren
Klassifikator evaluieren
Mahanalobis Distanz
d = die Distanz
x = Merkmalsvektor
µ = Mittelwertvektor
Σ = Kovarianzmatrix
Bayes Theorem berechnen:
Gegeben:
i (= Fall)
P(x=i | w=1)
P(x=i | w=2)
1
0.8
0.1
2
3
0.1
0.4
0.1
0.5
a priori:
- P(w=1) = 0.4
- P(w=2) = 0.6
Schritt 1 – Nenner des Theorems berechnen
Der Nenner ist die Wahrscheinlichkeit für das Auftreten der Beobachtung und entspricht der Summe
aller möglichen Zähler (aller Fälle):
i (= Fall)
P(x=i)
1
(0.4 * 0.8) + (0.6 * 0.1)
= 0.38
2
(0.4 * 0.1) + (0.6 * 0.4)
= 0.28
3
(0.4 * 0.1) + (0.6 * 0.5)
= 0.34
Schritt 2 – a posteriori berechnen
Mit Hilfe der berechneten Daten (alles, was oben fettgedruckt ist) können wir nun die a posterioriWahrscheinlichkeiten für jede Klasse berechnen (einfach die berechneten Daten richtig in die
Hauptformel einsetzen):
j (= Klasse)
P(w=j | x=1)
P(w=j | x=2)
P(w=j | x=3)
1
0.8 * 0.4 / 0.38 = 0.842
0.1 * 0.4 / 0.28 = 0.142
0.1 * 0.4 / 0.34 = 0.118
2
0.1 * 0.6 / 0.38 = 0.158
1 - 0.142 = 0.857
1 – 0.118 = 0.882
Schritt 3 – Klasse und Fehler ablesen
Zur Bestimmung der Klasse schaut man einfach in der a posteriori-Tabelle welche Klasse für welchen
x-Wert die höhere Wahrscheinlichkeit hat (fett/kursiv gedruckt).
Die Fehlerwahrscheinlichkeit für eine bestimmte Klasse entspricht der Wahrscheinlichkeit der
„falschen“ Auswahl (die niedrigere Wahrscheinlichkeit für den jeweiligen x-Wert).
Die gesamte Fehlerwahrscheinlichkeit berechnet sich:
P(error) = (0.158 * 0.38) + (0.142 * 0.28) + (0.118 * 0.34) = 0.14 = 14% Fehlerwahrscheinlichkeit
Matrix-Berechnungen
Gegeben:
Mittelwert-Vektoren
Einfach das arithmetische Mittel der oberen Zahlen, sowie das arithmetische Mittel der unteren
Zahlen berechnen:
geschätzte Kovarianz-Matrix berechnen
Für jeden Vektor-Wert die Differenz zu seinem Mittelwert berechnen und im sogenannten DifferenzVektor zusammenfassen:
Diesen Vektor mit sich selbst (natürlich transponiert) multiplizieren und die Ergebnismatrix-Werte
durch n = (Vektorenzahl – 1) teilen (in diesem Fall = 3):
Die Kovarianz ist ein Maß für die statistische Abhängigkeit zwischen den Variablen. Sie beschreibt die
gemeinsame Varianz beider Variablen. Eigenschaften der Kovarianz-Matrix:


Symmetrisch
positiv semi-definiet => sie hat nicht-negative Eigenwerte
Eigenwerte/-vektoren berechnen
Die Eigenwerte berechnen sich durch lösen des Gleichungssystems, welches sich aus der
Determinante einer Matrix (in unserem Fall die Kovarianz-Matrix) minus Lamda * Einheitsvektor
ergibt:
Durch lösen dieses Gleichungssystems bekommt man zwei Lamdas. Der Eigenvektor jedes dieser
Lamda berechnet sich, indem man einfach einsetzt in:
Der Eigenvektor des größeren Lamdas (Haupteigenvektor) liegt in der Richtung der größten Varianz
der Daten. Der andere liegt orthogonal dazu.
5 Fragen zu CART
1. Wie viele Verzweigungen sollen an einen Knoten angehängt werden? Bei zwei wäre es ein
binärer baum
2. Welche Eigenschaft (Merkmal) soll an einem Knoten getestet werden?
3. Wann soll ein Knoten in ein Blatt umgewandelt werden?
4. Wenn ein Baum „zu groß“ wird, wie kann er kleiner und einfacher gemacht werden?
(Pruning)
5. Wenn ein Blatt nicht rein ist, wie soll eine Entscheidung über die Klasse getroffen werden?
(Ein reiner Knoten beinhaltet nur Mitglieder einer Klasse)
Das Perceptron
Die Ausgabe des Perceptron durch folgende Funktion berechnet:
ist der Bias
w ist der Gewichtsvektor
x ist der Merkmalsvektor
Es gilt nun den Bias und den Gewichtsvektor so zu wählen, dass obige Formel für eine Klasse (bzw.
Baumentscheidung) -1 ergibt und für die andere +1.
Durch eine Transformation in Homogene Koordinaten (bedeutet, dass man den Bias als zusätzliche
Dimension in den Gewichtsvektor integriert) kann die Berechnung der Entscheidungsfunktion
vereinfacht werden (Skript Folie 310).
Ein einstufiges Perceptron (= das oben beschriebene) kann nur linear trennbare Mengen erkennen
(= man kann alle Klassen mit einer geraden Linie trennen) => keine Lösung für das XOR-Problem!
Der Trainingsalgorithmus sieht folgendermaßen aus:
Initialisiere w und
(Lamda = Lernrate, siehe Skript Folie 322ff.)
do
for all samples
if (sample is misclassified)
end if
end for
until all samples correctly classified
Dieser Algorithmus terminiert IMMER für linear separierbare Trainingssets.
Dieser Algorithmus terminiert NIE für nicht-linear separierbare Trainingssets.
Herunterladen