PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
In der Mess- und Prüftechnik PD Stefan Bosse
Universität Bremen - FB Mathematik und Informatik
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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. LS Minimierung)
SVM können primär kategorische und weniger numerische Zielvariablen verwenden
SVM sind (zunächst) lineare Klassifikatoren!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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||
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
mini(→wT→xi+γ)yi||w||=1||w||
mini1/2||w||2,(→wT→xi+γ)yi⩾1,∀i
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
4 Weicher Trennbereich einer SVM (Soft margin SVM). Durch ξ werden kleine Klassifikationsfehlerbereiche erlaubt.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Jedes Multiklassenproblem mit m verschiedenen (diskreten) Klassenwerten kann auf m binäre Klassifikationsprobleme transformiert werden
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
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
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Sugiyama, ItSML, pp 303
Eine SVM wird als binärer Klassifikator verwendet und wird i.A. durch eine lineare Funktion (Kernel) repräsentiert
Multiklassenprobleme werden auf Multi-SVMs zurückgeführt
Das Training einer SVM ist ein Minimierungsproblem dass den Trennbereich maximiert und den Fehler minimiert
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Bisher wurden nur "vorwärtsgerichtete" ANN betrachtet (Feed forward/ FF-ANN)
Die Ausgänge von FF-ANN hängen nur von aktuellen Eingängen ab!
Rückgekoppelte ANN (Recurrent / RNN) besitzen Zusatnd und Gedächtnis!
Eignung für Daten- und Zeitserienprädiktion!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Ein vorwärtsgekoppeltes ANN (Feed forward) besteht aus Neuronen die jeweils durch Funktionen f(i):i → o repräsentiert werden können.
Die Funktionen f werden als azyklischer gerichteter Graph dargestellt (also das NN), d.h., kein Neuron hat ein Eingangssignal von nachfolgenden Neuronen (die das Ausgangssignal dieses Neurons enthalten)
D.h: Das aktuelle Ausgangssignal y eine FF-ANN hängt nur von den aktuellen Eingangssignalen x ab!
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Ausgänge von Ausgangs- oder inneren Neuron werden auf Eingänge von vorherigen Neuronen gekoppelt
Dadurch werden die Netzwerke zustandsbasiert, d.h., die aktuellen Ausgänge hängen neben den aktuellen Werten der Eingänge von der Historie der Werte von Ein- und Ausgängen ab!
Recurrent ANN (RNN) sind durch hohe "Instabilität" schwierig mit gradientenbasierten Verfahren zu trainieren!
Daher im Laufe der Zeit verbesserte Architekturen wie LSTM oder GRU Netzwerke
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
fδ({si}ni,n):sn−m,sn−m+1,..sn→sn+δ
Datenserie und Prädiktion s(n+δ)
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
fδ({xi}ni,n):{xn−m,xn−m+1,..xn}→yn+δ
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
(Oben) Die Datenserie kann sequentiell (in ein RNN/LSTM) oder auch (Unten) parallel in ein FNN eingegeben werden
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Eine LST Zelle besteht aus:
Ein wichtige Rolle bei der Speicherung vergangener Daten (Gedächnis) ist das Vergessen gesteuert durch das "Forget Gate"
Beispiel für eine "gedämpfte" Gedächnisfunktion: Ein Tiefpassfilter 1. Ordnung
f(x,n)=f(n−1)⋅α+β⋅x
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Aufbau einer LSTM Zelle mit zentraler Speicherzelle (Neuron) und den Gattern
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
fδ(xn):xn→xn+δ
Für jedes δ={1,2,..,m} muss eine eigene Prädiktorfunktion fδ erzeugt und trainiert werden
Konfiguration des Netzwerks: [1,l,1], wobei l={1,2,..} die Anzahl der LSTM Zellen in der inneren Schicht ist.
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Diskrete Daten- und Zeitserien x(i) kommen in der Mess- und Prüftechnik als Sensorsignal häufig vor, aber auch bei
Die Vorhersage von unbekannten zukünftigen Datenwerten aus historischen bekannten Datenwerten erfordert zustandsbasierte Prädiktorfunktionen sofern es
PD Stefan Bosse - Maschinelles Lernen und Datenanalyse - Modul H: Support Vector Machines und Zustandsbasierte Netze
Die Long Short Term Memory Zelle ist eine bekannte Architektur für eine RNN PF mit Zustand (Speicher)
Problem beim Trainieren von RNN ist Instabilität und der Zustandsspeicher (wirkt sich auf Fehlerberechnung ungünstig aus)