In der Werkstoff- und Prüftechnik
Prof. Dr. Stefan Bosse
Universität Koblenz - FB Informatik - Praktische Informatik
Universität Siegen - FB Maschinenbau / LMW
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
Bisher wurden vor allem kategorische Zielvariablen betrachtet. Nun soll ein Schwerpunkt auf numerischen Variablen liegen.
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
Bisher wurden vor allem kategorische Zielvariablen betrachtet. Nun soll ein Schwerpunkt auf numerischen Variablen liegen.
Regressionsverfahren passen eine parametrisierte mathematische Funktion an Messdaten an.
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
Bisher wurden vor allem kategorische Zielvariablen betrachtet. Nun soll ein Schwerpunkt auf numerischen Variablen liegen.
Regressionsverfahren passen eine parametrisierte mathematische Funktion an Messdaten an.
Neben den "klassischen" Regressionsverfahren wie Least Square Fit gehören grundsätzlich auch Support Vector Machines (SVM) und Künstliche Neuronale Netzwerke dazu!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
SVM gehören zu den Regressionsverfahren
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
SVM gehören zu den Regressionsverfahren
SVM nutzen aber bei der Parameteranpassung (Training) eine andere Fehlerfunktion (Loss) als bei anderen gängigen Regressionsverfahren (z.B. Least-Square Minimierung)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
SVM gehören zu den Regressionsverfahren
SVM nutzen aber bei der Parameteranpassung (Training) eine andere Fehlerfunktion (Loss) als bei anderen gängigen Regressionsverfahren (z.B. Least-Square Minimierung)
SVM können primär kategorische und weniger numerische Zielvariablen abbilden
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN ::
SVM gehören zu den Regressionsverfahren
SVM nutzen aber bei der Parameteranpassung (Training) eine andere Fehlerfunktion (Loss) als bei anderen gängigen Regressionsverfahren (z.B. Least-Square Minimierung)
SVM können primär kategorische und weniger numerische Zielvariablen abbilden
SVM sind aber (zunächst) lineare Klassifikatoren!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
Klassifikationsprobleme sind durch Booleschen Ausgabevariablen gekennzeichnet (Klasse ci={true,false})
Bei Regressionproblemen findet hingegen eine Ausgabe mit kontinuierlichen Variablen statt, idealerweise y ∈ [0,1]
D.h. es gibt Trainingsdaten mit:
D=Xt={→xt,rt}Nt=1
wobei r ∈ ℝ (kontinuierliche Zielvariable). Wenn Rauschen vernachlässigt wird handelt es sich um ein reines Interpolationsproblem.
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
19
Lineare Gerade, Polynome zweiter Ordnung und sechster Ordnung werden an denselben Satz von Punkten angepasst. Die höchste Ordnung ergibt eine perfekte Passform, aber angesichts dieser vielen Daten ist es sehr unwahrscheinlich, dass die reale Kurve so geformt ist. Die zweite Ordnung scheint besser zu sein als die lineare Anpassung bei der Erfassung des Trends in den Trainingsdaten (Extrapolation).
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
Es wird immer einen Fehler ε geben (Rauschen in den "Trainingsdaten" r):
y(→xt)=rt=f(→xt)+ϵ
arg minθ ϵ→E(g∣X)=1N∑(rt−g(→xt))2
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
yp(→x)=g(→x)=w1x1+w2x2+..+wdxd+w0=d∑j=1wdxd+w0
Schon dieses Problem kann unterbestimmt sein, d.h., es kann unendlich viele Hypothesen g von der unbekannten Funktion f geben!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
g(x)=w0+w1x+w2x2+..+wkxk=k∑j=1wjxj+w0
g(x)=w1x+w0E(w1,w0∣Xt)=1NN∑t=1(rt−(w1xt+w0))2
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
w1=∑txtrt−¯¯¯x¯¯¯rN∑t(xt)2−N¯¯¯x2w0=¯¯¯r−w1¯¯¯x¯¯¯x=∑txtN,¯¯¯r=∑trtN
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
g(→x)=d∑i=1k∑j=1wi,jxji+w0
Es können auch exponentielle, logarithmische, und sinusoidale Terme hinzukommen!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
Warum können hochdimensionale Polynome nicht mehr mit gradientenbasierten Verfahren numerisch auf einem Computer (gut oder überhaupt) lösbar sein? Hinweis: Wie entwickeln sich Gradienten bei Polynomen sehr hoher Ordnung oder gar Exponentialterme wie bn?
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Regressionsverfahren
Warum können hochdimensionale Polynome nicht mehr mit gradientenbasierten Verfahren numerisch auf einem Computer (gut oder überhaupt) lösbar sein? Hinweis: Wie entwickeln sich Gradienten bei Polynomen sehr hoher Ordnung oder gar Exponentialterme wie bn?
Nicht begrenzter und steigender Gradient!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Direkte Lösungsverfahren
4
Erweiterung der Eigenwertanalyse und verwendet Matrixalgebra und Inversionsmethoden
Ansatz: Dekomposition einer (nichtlinearen) Funktion f(x,Θ) mit b Basisfunktionen ϕ, z.B. sin oder ähnlich, mit Parametersatz Θ:
fΘ(→x)=b∑j=1Θjϕj(x)fΘ(→x)=→ΘT→ϕ(x)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Direkte Lösungsverfahren
^Φ=⎛⎜⎝ϕ1(→x1)..ϕb(→x1)………ϕ1(→xn)..ϕb(→xn)⎞⎟⎠
Die Größe der Design Matrix als Ausgangspunkt für SVD/LS Verfahren wächst quadratisch mit der Anzahl der Trainingsdateninstanzen!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Direkte Lösungsverfahren
^ΘLS=(ΦTΦ)−1ΦTy^ΘLS=ΦGy
mit ΦG als generalisierte Inverse der Matrix Φ
Die generalisierte Inverse wird dann mit dem SVD Verfahren mit sogenannten links- und rechtssingulären Vektoren bestimmt.
Vertiefung: M. Sugiyama, Introduction to Statistical Machine Learning. 2016, Kapitel 22.2
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Support Vector Machines (SVM)
Obwohl die SVM zu den linearen (oder nichtlinearen) Regressionsverfahren gehören, wird die SVM primär für die binäre Klassifikation eingesetzt!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Binärer Klassifikator
f(→x):→x→y=→wT→x+γ
Dabei sind w und γ die Parameter des Modells die durch das Training an das Problem angepasst werden müssen.
w ist ein Normalenvektor der bei einem binären Klassifikationsproblem die beiden Instanzklassen trennt
y kann tatsächlich auch außerhalb der Grenzen [-1,1] liegen (klar: Polynome haben keine Grenzen)!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Binärer Klassifikator
4
(Oben) w ist der Normalenvektor und γ die Verschiebung der Trennungsgrenze für zwei Klasseninstanzen (Unten) Verschiedene w/γ Varianten der Trennungsgrenze mit unterschiedlichen Rändern (Sicherheitsbereichen)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
f(→xi)yi=(→wT→xi+γ)yi>0,∀i
für alle Dateninstanzen D={(xi,yi)}n.
Da w und γ beliebig gewählt werden können, kann die Randbedingung auch mit (..)yi ≥ 1 gewählt werden.
Weiterhin kann es sinnvoll sein alle Dateninstanzen um den Ursprung des Koordinatensystems zu zentrieren
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
Wichtig: Die Werte für y liegen im Intervall [-1,1]!
Alle Probleme die (..)yi ≥ 1 erfüllen mit einem (w,γ) sind linear separierbar.
Es gibt unendlich viele Lösungen (also Entscheidungsgrenzen)
Man wählt das (w,γ) aus bei der alle Dateninstanzen die größte Trennung besitzen (breitester Trennbereich, siehe Abb.)
Der Abstand der Dateninstanzen D ist definiert als das Minimum des normalisierten Abstandes:
mi=(→wT→xi+γ)yi/||→w||
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
mini(→wT→xi+γ)yi||w||=1||w||
Vertiefung: M. Sugiyama, Introduction to Statistical Machine Learning. 2016., Kapitel 27
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
mini1/2||w||2,(→wT→xi+γ)yi⩾1,∀i
Hier wird aber keine Lösung für w und γ gefunden wenn das Problem nicht strikt linear separierbar ist (also keine einzige Gerade die Klassen trennen kann)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
Die SVM mit harten Trennungsbereich erfordert lineare Separierbarkeit der Dateninstanzen
Die weiche Trennung durch eine SVM führt einen Fehlerparametervektor ξ={ξi}n für die Bestimmung des Trennbereichs ein:
min∀i:w,ξ,γ[1/2||w||2+C∑iξi],(→wT→xi+γ)yi⩾1−ξi,ξi⩾0,∀i
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
4
Weicher Trennbereich einer SVM (Soft margin SVM). Durch ξ werden kleine Klassifikationsfehlerbereiche erlaubt.
Die Ausreißer können durch Rauschen und Messunsicherheit (random. und systematischer Fehler) aber auch aufgrund eines nichtlinear separierbaren Problems entstehen!
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Training
Dabei ist C ein einstellbarer Parameter der den Fehler steuert und für den gilt:
C=αi+βi
Größere C Werte machen den Abstandsfehler kleiner und für große C geht die weiche in eine harte SVM über
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Multiklassen SVM
Jedes Multiklassenproblem mit m verschiedenen (diskreten) Klassenwerten kann auf m binäre Klassifikationsprobleme transformiert werden
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: R SVM (custom)
model <- svm( x = data.frame, y? = vector, # scaled to [-1,1]? formula? = y ~ x, # threshold function on output? highest value of multi-svms is winner threshold = boolean, # default : 1.0. C in SVM. C = number, # default : 1e-4. Higher tolerance --> Higher precision tol = number, # default : 20. Higher max_passes --> Higher precision max_passes = number, # default : 1e-5. Higher alpha_tolerance --> Higher precision alpha_tol = number, kernel = string|list, # linear, rbf, .. list(type= 'rbf', sigma= 0.5) .. # list( type = "polynomial", c = 1, d = 5=)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Beispiel
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Künstliche Neuronale Netze
Ein KNN ist eine Komposition aus einer Vielzahl von Abbildungsfunktionen G=(g1,g2,..,gm). Es gibt Parallelen zu Regressionsverfahren mit Funktionen.
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Künstliche Neuronale Netze
M(X):X→Y,X={xi},Y={yj}KNN=⟨Nx,Nd,Ny,E⟩Nx={ni:ni↔{xj}},Nd={nd:ni↔nj},Ny={nk:nk↔yk}n=g(→p,→w,b):→p→o=f(∑iwipi+b)E={eij:ni↦njwij}
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Künstliche Neuronale Netze
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Das Neuron
15
Ein einzelnes Neuron mit einem einzelnen Eingang p und einem Ausgang o. w ist ein Gewichtungsfaktor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Das Mehreingangsneuron
15
Ein einzelnes Neuron mit einem Eingangsvektor p und einem skalaren Ausgang o. w ist ein Gewichtungsfaktorvektor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Neuronale Netze und Matrizen
15
Ein einzelnes Neuron mit einem Eingangsvektor p und einem skalaren Ausgang o. w ist ein Gewichtungsfaktorvektor (ein Gewicht für eingehendes p) und b ist ein Bias (Offset); jetzt in Matrizenform (Annotation)
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Schichten von Neuronalen Netzen
15
Neuronales Netzwerk mit Neuronen in einer Schicht angeordnet
Stefan Bosse - Automatische Schadensdiagnostik - Modul E Regressionsverfahren, SVM und KNN :: Struktur eines KNN
15