Maschinelles Lernen und Datenanalyse

In der Mess- und Prüftechnik

PD Stefan Bosse

Universität Bremen - FB Mathematik und Informatik

1 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines -

Regression und Support Vector Machines

Wie funktioniert Regression?

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!

2 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

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 ∈ ℝ. Wenn Rauschen vernachlässigt wird handelt es sich um ein reines Interpolationsproblem.

  • Das Ziel ist es nun, eine Funktion f(x) zu finden, die die Trainingsdaten optimal repräsentiert (also die beste Hypothese g von f finden)
3 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

Beispiel

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).

4 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

Es wird immer einen Fehler ε geben:

rt=f(xt)+ϵ

  • Ziel der Regression ist es diesen Fehler über eine Verlustfunktion zu minimieren in dem Parameter Θ der Funktion f angepasst werden:

arg   minθ   ϵE(gX)=1N(rtg(xt))2

5 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

Lineare Multivariate Regression

  • Es wird angenommen dass die Funktion f(x) durch eine lineare Funktion über x abgebildet werden kann.
  • Dann gilt:

g(x)=w1x1+w2x2+..+wdxd+w0=dj=1wdxd+w0

Schon dieses Problem kann unterbestimmt sein, d.h., es kann unendlich viele Hypothesen g von der unbekannten Funktion f geben!

  • Bei nichtlinearen Zusammenhängen wird die Regressionsfunktion noch komplexer!
6 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

Nichtlineare Univariate Regression

  • Es gibt nur eine Eingabevariable und die Hypothesenfunktion wird durch ein Polynom k-ter Ordnung approximiert:

g(x)=w0+w1x+w2x2+..+wkxk=kj=1wjxj+w0

  • Wird von einem Polynom ersten Grades ausgegangen (Gerade) dann gilt es folgende Gleichung zu bestimmen und das Minimierungsproblem zu lösen:

g(x)=w1x+w0E(w1,w0Xt)=1NNt=1(rt(w1xt+w0))2

7 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

  • Den Minimumspunkt dieser Fehlergleichung findet man durch Gradientenbildung der Parameter, das bedeutet dann:

w1=txtrt¯¯¯x¯¯¯rNt(xt)2N¯¯¯x2w0=¯¯¯rw1¯¯¯x¯¯¯x=txtN,¯¯¯r=trtN

8 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Regressionsverfahren

Nichtlineare Multivariate Regression

  • Sehr hochdimensionales Problem! Und i.A. völlig unterbestimmt (d.h. kein eindeutigen Zusammenhänge zwischen x und y)

g(x)=di=1kj=1wi,jxji+w0

  • Es können auch exponentielle, logarithmische, und sinusoidale Terme hinzukommen!

  • Ein numerisches Lösen ist meist nicht mehr möglich; daher Verwendung nichtlinearer Randbedingungslöser sowie statistische Verfahren wie randomiserte Monte Carlo Simulation und Simmuliertes Abkühlen (Evolutionäre Algorithmen?)

9 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - 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?

???
10 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Direkte Lösungsverfahren

Direkte Lösungsverfahren

Single Value Decomposition (SVD)

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)=bj=1Θjϕj(x)fΘ(x)=ΘTϕ(x)

  • Z.B. ϕ(x) = (1,x,x2,..,xb-1)T, oder ϕ(x) = (1,sin(x),cos(x),sin(2x),...)T
11 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Direkte Lösungsverfahren

  • Die gesamte Trainingstabelle wird in Matrixform repräsentiert, und somit erhält man eine Parametermatrix Φ mit den Basisfunktionstermen für die anzupassenden Funktion f(x)Θ (Design Matrix):

^Φ=ϕ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!

12 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Direkte Lösungsverfahren

  • Die Lösung (der Funktionsparameter Θ) geschieht dann doch Matrixinversion der Designmatrix Φ:

^Θ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

13 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Support Vector Machines (SVM)

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!

  • SVM Verfahren gehören zu den "Maximum Margin" Methoden
14 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Binärer Klassifikator

Binärer Klassifikator

  • Ein binärer Klassifikator soll durch eine lineare Funktion repräsentiert werden (y={-1,+1}):

f(x):xy=wTx+γ

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
15 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - 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)

16 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Training

Training

  • Das Lernen von w und γ erfordert die Berechnung des Abstandes von allen Dateninstanzen (x,y)i von der Trenngrenze. Die Abstände müssen positiv sein:

f(xi)yi=(wTxi+γ)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

17 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - 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=(wTxi+γ)yi/||w||

18 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Training

  • D.h. SVM zu trainieren ist das Minimierungsproblem zu lösen:

mini(wTxi+γ)yi||w||=1||w||

Vertiefung: M. Sugiyama, Introduction to Statistical Machine Learning. 2016., Kapitel 27

  • Jede Dateninstanz die nicht in den Trennbereich "eindringt" ist ein Supportvektor!
19 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Training

Harter Trennungsbereich (Hard SVM)

  • Bei einer "harten" Trennung einer SVM gilt dann:

mini1/2||w||2,(wTxi+γ)yi1,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)

20 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Training

Weicher Trennungsbereich (Soft SVM)

  • Die SVM mit harten Trennungsbereich erfordert lineare Separierbarkeit der Dateninstanzen

    • Ist in der Realität aber nicht immer oder eher selten gegeben
  • Die weiche Trennung durch eine SVM führt einen Fehlerparametervektor ξ={ξi}n für die Bestimmung des Trennbereichs ein:

mini:w,ξ,γ[1/2||w||2+Ciξi],(wTxi+γ)yi1ξi,ξi0,i

  • Sie lässt einzelne nicht (linear) separierbare Datenpunkte zu.
21 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - 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!

22 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - 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

  • αi = 0 impliziert mi ≥ 1: die i-te Trainingsinstanz xi ist auf der Margengrenze oder innerhalb der Marge und ist korrekt klassifiziert.
  • αi = C impliziert mi ≤ 1: xi ist auf der Margengrenze oder außerhalb der Marge. Wenn ξi > 1, mi < 0 dann ist xi falsch klassifiziert.
  • 0 < αi < C impliziert mi = 1: xi ist auf der Margengrenze und ist korrekt klassifiziert.
  • mi > 1 impliziert αi = 0: wenn xi innerhalb der Marge ist, αi = 0.
  • mi < 1 impliziert αi = C: wenn xi außerhalb der Marge ist, αi = C.
23 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Multiklassen SVM

Multiklassen SVM

Jedes Multiklassenproblem mit m verschiedenen (diskreten) Klassenwerten kann auf m binäre Klassifikationsprobleme transformiert werden

  • Anders als bei ANN ist bei SVMs aber nur eine One-hot Kodierung möglich (ggfs. mit Softmaxfunktion).

24 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - ML Framework API für SVM

ML Framework API für SVM

ML.learn({
algorithm:ML.ML.SVM,
x:number [][],
y:number [],
// 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 : { type: 'rbf', sigma: 0.5 }
// { type: "polynomial", c: 1, d: 5}
}) → model
25 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Beispiel

Beispiel

26 / 27

Stefan Bosse - Maschinelles Lernen - Regression und Support Vector Machines - Beispiel

Sugiyama, ItSML, pp 303

Zusammenfassung

  • Regressionsverfahren werden auf kontinuierliche Zielvariablen angewendet (der Hypothesenraum kann bei nichtlinearen Problemen sehr groß werden)

  • Eine SVM wird als binärer Klassifikator verwendet und wird i.A. durch eine lineare Funktion (Kernel) repräsentiert

    • Das Problem sollte dann linear separierbar sein!
  • Multiklassenprobleme werden auf Multi-SVMs zurückgeführt

    • Verwendung einer Softmax Funktion für eindeutige Klassentrennung
  • Das Training einer SVM ist ein Minimierungsproblem dass den Trennbereich maximiert und den Fehler minimiert

27 / 27