ThesisPDF Available

Modellbasierte Hyperparameteroptimierung für maschinelle Lernverfahren auf großen Daten

Authors:

Abstract

Systeme deren Performance abhängig von deren Parametereinstellungen sind erfordern eine Parameteroptimierung. Moderne Algorithmen zum Lösen von komplexen und rechenintensiven Problemen bringen oft eine Vielzahl an Parametern mit sich und können als solche Systeme aufgefasst werden. Aktu- elle Ansätze der Parameteroptimierung verwenden Optimierungsverfahren, um in den hochdimensionalen Parameterräumen eine optimale Einstellung zu finden. Dies benötigt viele Ausführungen des zu optimierenden Systems. Um diese Anzahl zu reduzieren werden Modelle gebildet, welche die Performance in Abhängigkeit der Parameter vorhersagen. Wenn die Kosten je Evaluation hoch sind, kann auch dieser Ansatz Rechenintensiv sein. Um die Evaluationskosten zu senken, können schnellere aber ungenauere Systeme als Ersatz verwendet werden. Der hier vorgestellte Multi Fidelity Models Based Optimization (mfMBO) Algorithmus nutzt Systeme unterschiedlicher Genauigkeit um mehrstufig die optimale Einstellung in kürzerer Zeit zu ermitteln. Im Rahmen dieser Arbeit wird der Algorithmus sowohl zur Optimierung von deterministischen Funktionen als auch zum Tuning der SVM -Hyperparameter angewendet. Beim Tuning werden Evaluationskosten gesenkt, indem das Ler- nen auf Stichproben der Trainingsdaten durchgeführt wird. Es wird gezeigt, dass mfMBO in diesem Szenario bei beschränktem Budget konventionelle Optimierungsverfahren wie die Random Search und parEGO schlagen kann.
Technisch e U n i versität Dortmu n d
Fakultät Statistik
Masterarbeit
Modellbasierte Hyperparameteroptimierung für maschinelle Lernverfahren
auf großen Daten
eingereicht von: Jakob Richter ‹jakob.richter@udo.edu›
eingereicht am: 17. April 2015
Dozenten: Prof. Dr. Bernd Bischl
Prof. Dr. Jörg Rahnenführer
Inhaltsverzeichnis
1 Abstract 1
2 Einleitung 3
3 Notation 7
4 Problemstellung 9
4.1 Lösungsansätze ............................... 9
4.2 Vorbetrachtung ............................... 10
5 Methoden 13
5.1 SMBOAnsatz ................................ 13
5.1.1 Surrogatmodell............................ 14
5.1.2 Kriging ................................ 15
5.2 Multi Fidelity Based Models Optimization . . . . . . . . . . . . . . . . 19
5.2.1 Summenmodell............................ 20
5.2.2 Modellkorrelation .......................... 21
5.2.3 mfMBO Algorithmus ........................ 22
5.3 Lernverfahren ................................ 25
5.3.1 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . 26
5.3.2 Lernen auf Stichproben . . . . . . . . . . . . . . . . . . . . . . . 28
5.4 Modellvalidierung .............................. 28
6 mlrMBO Implementierung 31
6.1 Tuning einer beliebigen Multi Fidelity Zielfunktion . . . . . . . . . . . . 31
6.2 Tuning eines mlr Learners ......................... 36
7 Experimente 41
7.1 Deterministische Zielfunktionen . . . . . . . . . . . . . . . . . . . . . . 41
7.1.1 Sasena ................................ 42
7.1.2 Hartman ............................... 43
7.1.3 Auswertung.............................. 45
7.1.4 Analyse................................ 47
7.2 Hyperparameteroptimierung . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.1 Auswertung.............................. 51
7.2.2 Analyse................................ 52
8 Zusammenfassung und Ausblick 55
A Anhang 61
A.1Abbildungen................................. 61
A.1.1 Problemstellung ........................... 61
A.1.2 Auswertung deterministischer Funktionen . . . . . . . . . . . . . 65
A.1.3 Auswertung des Hyperparametertunings . . . . . . . . . . . . . . 66
A.2Tabellen ................................... 72
A.2.1 Datensätze .............................. 72
A.2.2 Auswertung deterministischer Experimente . . . . . . . . . . . . 73
A.2.3 Auswertung des Hyperparametertunings . . . . . . . . . . . . . . 75
A.3Code ..................................... 77
1 Abstract
Systeme deren Performance abhängig von deren Parametereinstellungen
sind erfordern eine Parameteroptimierung. Moderne Algorithmen zum Lösen
von komplexen und rechenintensiven Problemen bringen oft eine Vielzahl an
Parametern mit sich und können als solche Systeme aufgefasst werden. Aktu-
elle Ansätze der Parameteroptimierung verwenden Optimierungsverfahren,
um in den hochdimensionalen Parameterräumen eine optimale Einstellung zu
finden. Dies benötigt viele Ausführungen des zu optimierenden Systems. Um
diese Anzahl zu reduzieren werden Modelle gebildet, welche die Performance
in Abhängigkeit der Parameter vorhersagen. Wenn die Kosten je Evaluation
hoch sind, kann auch dieser Ansatz Rechenintensiv sein. Um die Evaluati-
onskosten zu senken, können schnellere aber ungenauere Systeme als Ersatz
verwendet werden. Der hier vorgestellte Multi Fidelity Models Based Optimi-
zation (mfMBO) Algorithmus nutzt Systeme unterschiedlicher Genauigkeit
um mehrstufig die optimale Einstellung in kürzerer Zeit zu ermitteln. Im
Rahmen dieser Arbeit wird der Algorithmus sowohl zur Optimierung von
deterministischen Funktionen als auch zum Tuning der SVM -Hyperparameter
angewendet. Beim Tuning werden Evaluationskosten gesenkt, indem das Ler-
nen auf Stichproben der Trainingsdaten durchgeführt wird. Es wird gezeigt,
dass mfMBO in diesem Szenario bei beschränktem Budget konventionelle
Optimierungsverfahren wie die Random Search und parEGO schlagen kann.
1
2 Einleitung
Hohe Evaluationskosten eines Systems führen zu ebenfalls erheblichen Kosten der Pa-
rameteroptimierung dieses Systems. Es soll die Einstellung der Parameter gefunden
werden, mit der ein System die optimale Performance für ein spezifisches Problem
liefert. In der Forschung finden verschiedene Verfahren zur Parameteroptimierung (auch
Tuning) Anwendung. Grundlegende Verfahren wie die Random Search [2] oder die Grid
Search werten das System für eine gegebene Menge an Parametereinstellungen aus. Sie
sind dabei rechenintensiv und führen tendenziell zu viele Auswertungen dort durch, wo
keine gute Performance erwartet wird, während dort, wo eine gute Performance des zu
optimierenden Systems erwartet wird, zu wenige Auswertungen durchgeführt werden.
Ein Verbesserungsansatz ist durch evolutionäre Algorithmen (z.B. CMA-ES [12] und
GGA [1]) gegeben, welche schrittweise den Parameterraum dort genauer untersuchen,
wo im vorherigen Schritt gute Ergebnisse gefunden wurden. Ähnlich dazu existiert das
Iterated F-Racing [3], welches nach stochastischen Kriterien gute Parameterkandidaten
auswählt und anhand dieser eine Wahrscheinlichkeitsverteilung schätzt, aus welcher
wiederum neue Kandidaten für die Parameter gezogen werden. Eine weitere, aktuelle
Methode versucht die Performance in Abhängigkeit von den Parametern durch ein
Surrogatmodell abzubilden (Model Based Optimization) und somit neue Evaluationen
nur dort durchzuführen, wo die Performance unbekannt ist, oder eine Verbesserung des
bisherigen Optimums zu erwarten ist. Die Verbesserung des Modells und die Explo-
ration des Parameterraums geschieht dabei kombiniert. Das Verfahren ist als SMBO
(Sequential Model Based Optimization und SMAC (Sequential Model Based Algorithm
Configuration) [16] bekannt. Welche Technik verwendet wird, um die Response Surface
zu modellieren, ist dabei oen. Besonders verbreitet sind Kriging [14, 11] und Random
Forest Regression [16].
Die Parameteroptimierung findet insbesondere auch im Bereich des Machine Learnings
als Hyperparameteroptimierung Anwendung. Viele Verfahren zur Klassifikation und Re-
gression benötigen fallspezifische Einstellungen der Hyperparameter. Lernverfahren wie
die Support Vector Machine funktionieren erst durch Hyperparameteroptimierung gut.
Die Performance im Szenario der Klassifikations- und Regressionsprobleme kann etwa die
Fehlklassifikationsrate oder die mittlere quadratische Abweichung sein. Die Performance
eines Lernverfahrens (kurz Lerner) unter einer bestimmten Hyperparametereinstellung
3
2 Einleitung
wird dabei durch eine Resamplingmethode (z.B. 10-fache Kreuzvalidierung) evaluiert.
Für die Evaluationskosten einer Hyperparametereinstellung ist neben der Wahl des
Lernverfahrens die Größe des Datensatzes entscheidend. Dies führt zu dem Ansatz, die
Hyperparameteroptimierung nur auf einer Stichprobe des Datensatzes durchzuführen,
der klein genug ist, um ezient berechnet zu werden. Inwiefern die Ergebnisse für
den Teildatensatz für den ganzen Datensatz repräsentativ sind, bleibt dabei jedoch
unklar.
Für
R
[20] existiert mit
mlrMBO
[4] ein Paket, welches umfangreiche Möglichkeiten
zur Parameteroptimierung zur Verfügung stellt, während mit dem
R
Paket
mlr
[6] ein
einheitliches Interface für viele für
R
verfügbare Klassifikations- und Regressionsverfahren
bereitgestellt wird. Beide Pakete in Kombination können genutzt werden, um komfortabel
und eektiv die Hyperparameter der unterstützten Verfahren zu optimieren. Eine
Integration des hier vorgestellten Algorithmus in diesen Workflow ist ebenfalls Ziel
dieser Arbeit.
Der erarbeitete Multi Fidelity Models Based Optimization (kurz mfMBO) Algorithmus
kombiniert den SMBO-Ansatz mit der Idee der Optimierung auf einer kleineren Stichpro-
be und erweitert diese um die Idee, die Größe des Teildatensatzes nicht als fest, sondern
als variabel zu betrachten. Der in dieser Arbeit vorgestellte mfMBO Algorithmus nimmt
dabei beliebige diskrete Werte (Level) für die Stichprobengröße entgegen. In einem
initialen Schritt wird für jedes Level ein Surrogatmodell gebildet. Iterativ werden die
Surrogatmodelle durch Evaluationen auf den Teildatensätzen verbessert. Die Korrelation
der verschiedenen Modelle mit dem Modell auf der größten Stichprobe, die Unsicherheit
eines jeden Modells in einem Punkt und die Evaluationskosten in einem Punkt geben
dabei Ausschlag dafür, welche Parametereinstellung auf welchem Level als nächstes
evaluiert wird. Kern der Arbeit ist es den mfMBO Algorithmus vorzustellen und anhand
von deterministischen Beispielen sowie anhand von echten Datensätzen tiefere Einsichten
in die Funktionsweise zu gewinnen, diese zu überprüfen und gegen aktuelle Verfahren
zu benchmarken.
Die Arbeit baut dabei grundlegend auf Ideen von Huang et al. [15] auf und bietet
eine Implementierung des mehrstufigen Verfahrens in
R
unter Nutzung von
mlr
und
mlrMBO
an. Die Schätzung der Response Surface je Level erfolgt in dieser Arbeit ebenfalls
durch eine Aufsummierung der Surrogatmodelle der unteren Level. Erweitert wird der
4
Algorithmus um eine grundsätzliche Freistellung des Lernverfahrens für das Surrogat-
modell. In dieser Arbeit wird beispielhaft das populäre Regressionsverfahren Kriging
zur Surrogatmodellbildung verwendet.
5
3 Notation
Unter der Optimierung wird die Minimierung einer Zielfunktion
f
(
x
)verstanden.
Die Zielfunktion
f
(
x
)muss nicht deterministisch sein. Es darf also gelten
f
(
x
)=
˜
f(x)+xmit xN(0,2)uiv.
x
=(
x1,...,x
d
)
œX
ist eine Parametereinstellung bzw. ein Punkt im Parameter-
raum X.
xúist die Parametereinstellung, welche f(x)minimiert.
ˆ
xúist die durch einen Algorithmus gefundene optimale Parametereinstellung.
y
ist der Funktionswert von
f
(
x
)oder auch die Performance von
f
unter der
Parametereinstellung x.
yú:= f(xú)=min{f(x)|xœX}ist das Optimum der Funktion.
yist ein Vektor von Realisierungen der Zielfunktion (f(x1),f(x2),...).
dist die Anzahl der Parameter und somit die Dimension des Parameterraums.
X
ist der Parameterraum. In dieser Arbeit gilt
XµRd
. Als Parameterraum
wird der Raum bezeichnet, in dem für die Parameteroptimierung nach einer
optimalen Parametereinstellung gesucht wird. Der theoretisch mögliche größere
Parameterraum wird außer Acht gelassen.
Mbezeichnet das Surogatmodell.
ˆ
f(x)ist die Schätzung von f(x)durch das Surrogatmodell M.
Y(x)ist die theoretische Verteilung von ˆyim Punkt x.
ˆs2
(
x
)ist die Unsicherheit der Vorhersage
ˆ
f
(
x
)am Punkt
x
. In der Regel gilt:
ˆs2(x)=V ar(Y(x)).
2ist die Residualvarianz der Prognose ˆ
yzu den tatsächlichen Werten y.
X=(x1,...,xn)Tbezeichnet die nTrainingspunkte und ist eine ndMatrix.
{(x,y)|y=f(x)xœX}bezeichnet die Response Surface.
m
ist die Anzahl der Multi Fidelity Level und
m
ist der Index des Highest Fidelity
Levels.
lœ{1,...,m}bezeichnet ein Fidelity Level.
p={p1,...,p
m}sind die zu den Leveln zugewiesenen Fidelity Parameter.
Hyperparameter sind ebenfalls Parameter.
7
4 Problemstellung
Das in dieser Arbeit betrachtete Problem ist das Hyperparametertuning einer SVM
auf großen Datensätzen. Dies ist notwendig, da Support Vector Machines eine gute
Performance erst durch datenspezifische Hyperparametereinstellungen erreichen. Im
Large Scale Data Bereich weisen die Datensätze eine Größe auf, die die Kosten für das
Modelltraining auf dem vollen Datensatz so stark wachsen lassen, dass die vielen zur
Hyperparameteroptimierung notwendigen Evaluationen auch ein großzügiges Budget
schnell überschreiten können. Insbesondere die SVM benötigt jedoch datenspezifische
Hyperparametereinstellungen, sodass Tuning unerlässlich ist. Für ein zuverlässiges
Ergebnis des Tunings sind viele Auswertungen nötig, um den Hyperparameterraum
ausreichend zu explorieren. Um Kosten zu sparen, ist es demnach nicht sinnvoll, die
Anzahl der Auswertungen im Tuning (Iterationen) zu reduzieren. Folglich ist es notwen-
dig, die Kosten pro Iteration gering zu halten. Erste Lösungsansätze dazu finden sich in
Abschnitt 4.1, gefolgt von der Vorbetrachtung (4.2), welche die Anforderungen an den
Algorithmus zur Lösung des Problems ausarbeitet.
In Kapitel 5 werden zunächst die Grundlagen der modellbasierten Hyperparameteropti-
mierung im Abschnitt SMBO Ansatz (5.1) erläutert, bevor dann in Kapitel 5.2 der Multi
Fidelity Models Based Optimization Algorithmus zunächst durch seine Komponenten und
abschließend in 5.2.3 vollständig beschrieben wird. Die für die Problemstellung relevante
SVM wird in 5.3 kurz vorgestellt. In Kapitel 6 wird detailliert geschildert, wie die Imple-
mentierung des Algorithmus aus
mlrMBO
heraus aufrufbar ist. Es folgen die Experimente
und Benchmarks des Algorithmus in Kapitel 7 anhand von deterministischen Funktionen
sowie Klassifikations- und Regressionsproblemen. Kapitel 8 bietet abschließend neben
der Zusammenfassung der Ergebnisse einen Ausblick auf Verbesserungsmöglichkeiten
des Algorithmus sowie weitere Entwicklungen.
4.1 Lösungsansätze
Um die Kosten pro Iteration im Tuning gering zu halten, besteht eine Möglichkeit
darin die Validierungskosten durch eine weniger rechenintensive Resamplingmethode
(z.B. Holdout) zu verringern, mit der Folge, dass die Schätzung der Performance mit
einer stärkeren Varianz behaftet ist. Eine weitere angewendete Lösung besteht darin,
9
4 Problemstellung
das Tuning auf einer Stichprobe der Daten durchzuführen und die dann gewonnenen
Einstellungen für das Gesamtproblem zu übernehmen. Dies wirft jedoch die Frage auf,
inwiefern sichergestellt ist, dass die Lösung tatsächlich repräsentativ für den gesamten
Datensatz ist. Diese beiden Ansätze stellen die Motivation für die Entwicklung des
mfMBO Algorithmus in Kapitel 5.2. Dieser soll unter verrauschten Beobachtungen
funktionieren und während der Laufzeit feststellen, wie repräsentativ verschiedene
Stichprobengrößen des Datensatzes sind, um so je Iterationsschritt, durch die Wahl
einer möglichst kleinen aber repräsentativen Stichprobengröße, die Evaluationskosten
gering zu halten.
Welche speziellen Eigenschaften der gegebenen Problemstellung dabei ausgenutzt werden
können, ist im folgenden Kapitel beschrieben.
4.2 Vorbetrachtung
In einer Vorstudie wird das Verhalten des Kostenparameters
C
und der Kernelbreite
einer SVM auf die Fehlklassifikationsrate über verschiedene Stichprobengrößen hinweg
untersucht. So ist es möglich dieses beobachtete Verhalten auszunutzen, um den Algorith-
mus darauf aufbauend zu entwickeln und zu motivieren sowie synthetische Beispiele zu
entwerfen, die das Verhalten widerspiegeln und somit eine genaue Analyse des Algorith-
mus erlauben. Um einen umfassenden Einblick in das Verhalten zu erlangen, wird eine
größere Zahl an Datensätzen ausgewählt. Die Performance der SVM unter verschiedenen
Hyperparametereinstellungen wird im Gitterdesign ermittelt. Dabei wird die SVM auf
10%
,
20%
,...
und 100% der Trainingsdaten gelernt, bevor die Fehlklassifikationsrate auf
dem Testdatensatz der Validierung ermittelt wird. Neben der Performance selbst wird
durch die 10-fache Kreuzvalidierung auch die Standardabweichung der Performance
für jede gegebene Hyperparametereinstellung ermittelt. Der Hyperparameterraum für
die inverse Kernelbreite
und den Kostenparameter
C
ist für die Parameter festgelegt
als:
:= 1
œ[217,25]¥[7.62 ·106,32] (4.1)
œ[1
32,131072] (4.2)
Cœ[102,106]=[0.01,1000000] (4.3)
10
4.2 Vorbetrachtung
Da die Gitterauswertung auf allen Leveln relativ rechenintensiv ist, wurden mittelgroße
Klassifikationsdatensätze mit zwischen
n
=1000und 13000 Beobachtungen aus der
OpenML-Datenbank [26] ausgewählt. Informationen zu den in der Vorbetrachtung analy-
sierten Datensätzen sind in Tabelle 1 auf Seite 72 zu finden.
Exemplarisch lässt sich das Verhalten in Abbildung 1 und 2 beobachten. Weitere Plots
und die Beschreibung der Beobachtungen für die anderen Datensätze aus Tabelle 1
finden sich im Anhang in Kapitel A.1.1 ab Seite 61.
sigma
C
z
p=0.1
sigma
C
z
p=0.5
sigma
C
z
p=1
Abbildung 1: satimage
Datensatz: Zwischen Level
p
=0
.
1und
p
=1gibt es kaum einen Unterschied.
Gut zu erkennen ist hier, dass mit einer größeren Stichprobe eine tendenziell kleinere
Kernelbreite (ein größer Wert für
) optimal ist. Ebenfalls führen kleinere Werte für
C
mit größer Stichprobe ebenfalls in das Tal.
sigma
C
z
p=0.1
sigma
C
z
p=0.5
sigma
C
z
p=1
Abbildung 2: optdigits
Datensatz: Trotz des geringen Unterschiedes in der Struktur der Response
Surface zwischen Level
p
=0
.
1und
p
=1ist bemerkbar, dass die Minimumstelle des
Lowest Fidelity Levels auf dem Highest Fidelity Level nicht die optimale Performance
liefern würde.
Für alle Datensätze ist beobachtbar, dass mit zunehmender Stichprobengröße die
optimale Kernelbreite
tendenziell kleiner wird. Für den Kostenparameter
C
ist eine
11
4 Problemstellung
solche Bewegung nicht so deutlich auszumachen, wenn auch festgestellt werden kann,
dass der negative Einfluss eines kleineren Wertes für
C
(also ein größerer Margin) auf die
Performance mit steigendem Stichprobenumfang abnimmt. Die Schwankungen, wie gut
eine Hyperparametereinstellung bei unterschiedlichen Strichproben bei konstantem
p
ist
(Gekennzeichnet durch die Färbung in den Abbildungen), sind nicht wenig verwunderlich
an den Randbereichen des Tals besonders hoch.
Für den mfMBO Algorithmus wird folglich gefordert, dass er das Tal bereits auf dem
Lowest Fidelity Level erkennt und auf den Higher Fidelity Leveln in dem bereits als
vielversprechend erkanntem Bereich für
X
weitere Evaluationen vornimmt. Dort sollen
feinere Strukturen modelliert werden, welche auf den Lower Fidelity Leveln noch nicht
ausgeprägt waren. Zusätzlich soll der Algorithmus mit einer Verschiebung des Tals mit
steigender Fidelity umgehen können. Dennoch sollten auch ungewöhnliche Fälle wie in
Abbildung 19 abgefangen werden können.
12
5 Methoden
Im Folgenden werden die theoretischen Grundlagen für die Multi Fidelity Models Based
Optimization (mfMBO) und der Algorithmus selbst erläutert. Die mfMBO hat mit be-
kannten modellbasierten Optimierungsverfahren gemein, dass die Zielfunktion als Black
Box Funktion betrachtet wird. Zusätzlich wird davon ausgegangen, dass die Auswertung
der Black Box Funktion so hohe Kosten verursacht, dass es sinnvoll ist, zusätzliche
Kosten in Kauf zu nehmen, um die Anzahl der Black Box Auswertungen zu minimieren.
Dies geschieht bei modellbasierten Optimierungsverfahren durch Surrogatmodelle, die
die Black Box Funktion möglichst gut approximieren.
Die Grundidee des modellbasierten Optimierens wird durch den SMBO Ansatz in Ka-
pitel 5.1 beschrieben. Der Aufbau des Surrogatmodells ist in Kapitel 5.3 beschrieben.
Vor der Beschreibung des eigentlichen mfMBO Algorithmus in Kapitel 5.2.3 ist es
schon an dieser Stelle notwendig das Summenmodell in Abschnitt 5.2.1 als eine wichtige
Komponente des Algorithmus zu erklären. Da die Wahl des Regressionsverfahrens durch
den mfMBO Algorithmus nicht fest vorgegeben ist, soll auch nur kurz das für die Durch-
führung verwendete Kriging in Abschnitt 5.1.2 vorgestellt werden. Grundsätzlich lässt
sich jedes Regressionsverfahren, welches über einen vernünftigen Unsicherheitsschätzer
verfügt, benutzen. Vorsicht ist etwa beim Random Forest geboten. Dieser ist zwar beliebt,
um für Parameterräume mit kategorialen Variablen das Surrogatmodell zu bilden, liefert
jedoch lediglich den out of bag error, welcher über die Unsicherheit der Prognose keine
Aussage treen kann, sondern vielmehr eine Schätzung des Rauschens der Performance
um einen Punkt darstellt.
5.1 SMBO Ansatz
Die Idee der sequentiellen modellbasierten Optimierung [16] ist es, die Minimierung
einer gegebenen Zielfunktion f(x):
xú= arg min
xœX
y=f(x)
mit Hilfe eines Surrogatmodells für
ˆ
f
(
x
)durchzuführen. Resultat des Algorithmus ist
ein Punkt
ˆ
xú
für den angenommen wird, dass er
f
(
x
)minimiert. Das Surrogatmo-
dell lässt sich günstig berechnen und auswerten und approximiert das Verhalten der
13
5 Methoden
Black Box Funktion
f
(
x
)gut. Das hier dargestellte Verfahren ist eine Anwendung
des SMBO Ansatzes speziell für stochastische Zielfunktionen, welche sich insbesondere
an den Ecient Global Optimization Algorithmus (EGO) [17] anlehnt, welcher auch
die Grundlage der Optimierung in
mlrMBO
darstellt. In einem ersten Schritt wird auf
einem initialen Design
X0
=
{x1,...,xn0}
die Zielfunktion
f
(
x
)ausgewertet, um so die
zugehörigen Funktionswerte
y1,...,y
n0
zu erhalten. Gemeinsam ergeben sie die initialen
Trainingsdaten
T0
=
{
(
x1,y
1
)
,...,
(
xn0,y
n0
)
}
. Mit Hilfe eines Regressionsverfahrens
wird auf
T0
das Surrogatmodell
M
trainiert. Das Modell
M
liefert eine Schätzung
für die Verteilung
Y
(
x
). Der bisher kleinste ermittelte tatsächliche Funktionswert sei
ymin
=
f
(
xmin
). Das Improvement im Punk
x
, also die Verbesserung der Prognose
Y
(
x
)
gegenüber des bisherigen Minimums ymin, ist definiert als
I(x) := max{Y(x)ymin,0}.(5.1)
Da
Y
(
x
)eine Zufallsvariable in Abhängigkeit von
x
ist, ist der Erwartungswert des
Improvements
EI(x) := E(I(x)) (5.2)
- bezeichnet als Expected Improvement - von eigentlichem Interesse. Der Algorithmus wie-
derholt folgende Schritte bis das maximale Expected Improvement eine bestimmte Schwel-
le unterschreitet oder ein vordefiniertes Budget aufgebraucht ist:
1. Finde einen Kandidaten ˜
xœX, der EI(x)maximiert.
2. Werte f(˜
x)aus und erhalte ˜y.
3. Aktualisiere Trainingsdatensatz TΩT{(˜
x,˜y)}.
4. Lerne Surrogatmodell Mauf Trainingsdatensatz Tund erhalte M(T).
5. Wenn ˜y<y
min ist, dann aktualisiere ymin Ω˜y.
Die Rückgabe
ˆx ú
des Algorithmus ist der Punkt
˜
x
aus dem Tupel (
˜
x,y
min
)
œT
. Also
der Punkt für den während der Durchführung des Algorithmus der minimale Wert von
f(x)beobachtet wurde.
5.1.1 Surrogatmodell
Das Surrogatmodell
M
liefert für die tatsächliche Ziefunktion
f
eine Schätzung
ˆ
f
und
für jede Prognose
ˆy
=
ˆ
f
(
x
)die geschätzte Verteilung
Y
(
x
)jener. Zuerst soll motiviert
14
5.1 SMBO Ansatz
werden, warum dies nötig ist und wie es zur eektiveren Findung des Minimums von
f
(
x
)genutzt werden kann. Wie eingangs erwähnt, ist
f
(
x
)eine Black Box Funktion.
Dies bedeutet, dass über die Struktur von
f
(
x
)keine Annahmen getroen werden
können und insbesondere Ableitungen nicht vorhanden sind. Die Notwendigkeit ei-
nes Surrogatmodells liegt darin begründet, dass für die Optimierung von
f
(
x
)viele
Funktionsauswertungen notwendig sind, um den Parameterraum zu explorieren. Wenn
diese, wie in dieser Arbeit angenommen, teuer sind, dann ist es sinnvoll, anstelle der
tatsächlichen Zielfunktion
f
(
x
)die Auswertungen mit Hilfe von
ˆ
f
(
x
)durchzuführen. Für
die Erzeugung eines Surrogatmodells wird ein Regressionsverfahren benötigt, welches
die Response Surface mit einer geringen Anzahl an Trainingspunkten bereits modellie-
ren kann und zusätzlich zur Schätzung von
ˆy
auch die Verteilung
Y
(
x
)der Prognose
schätzen kann.
Weit verbreitet ist dabei das Kriging, welches für den Hyperparameterraum von Lern-
verfahren mit numerischen Hyperparametern gute Interpolations- und Extrapolations-
eigenschaften besitzt [25, 14, 11]. Darin liegt auch ein Nachteil des Krigings, welches
in aktuellen Implementierungen nur für reelwertige Parameterräume anwendbar ist.
Wenn der Parameterraum auch kategorielle Werte enthält, werden in der Praxis oft
Ensemble Methoden oder die Random Forest Regression verwendet, wobei letztere
jedoch keine gute Interpolations- und Extrapolationseigenschaft hat und die Schät-
zung von
Y
(
x
)begrenzt aussagekräftig ist. Dieser Arbeit beschränkt sich daher auf
das Kriging zur Surrogatmodellbildung, welches im folgenden Abschnitt beschrieben
wird.
5.1.2 Kriging
Kriging als Regressionsverfahren ist zur Surrogatmodellbildung bei der modellbasierten
Optimierung weit verbreitet [24, 21, 22] und kann schon mit wenigen Trainingspunkten
den Hyperparameterraum und die zugehörige Response Surface für viele Lernverfahren
gut modellieren.
Begriich ist Kriging nicht klar definiert, da es den Ursprung in der Geostatistik hat und
in verschiedenen Disziplinen eingesetzt wird. Im Bereich des Machine Learnings wird
es oft unter dem Begrider Gaußprozesse in Erwähnung gebracht. Eine erschöpfende
15
5 Methoden
Erläuterung der Bedeutung der Gaußprozesse für das Machine Learning findet sich
in Rasmussen und Williams [22].
Das Krigingmodell wird hier nach Huang et al. [14] definiert als die Summe eines linearen
Modells (Trend) und der systematischen Abweichung z(x):
f(x)=
Trend
˙ ˝¸ ˚
k
ÿ
i=1
i·hi(x)+z(x)
¸˚˙˝
systematische Abweichung
+(5.3)
=h(x)T+z(x)+(5.4)
mit den Regressionskoezienten
zu den Basisfunktionen
h
und dem Modellfehler
. In der Regel gilt
hi
(
x
)=
eT
ix
, wobei
ei
der kanonische
i
-te Einheitsvektor ist, was
zu genügend guten Krigingmodellen führt. Folglich gilt dann für (5.4)
k
=
d
. Kriging
definiert sich dadurch, dass
z
(
x
)als Realisation eines zentrierten Gaußprozesses
Z
(
x
)
angenommen wird. Die Schätzung der Verteilungsparameter für den Gaußprozess ist der
Schwerpunkt des Krigings und der Punkt, in dem sich die Krigingverfahren voneinander
unterscheiden.
Zunächst gilt
Z(x)GP (m(x),k(x,xÕ)).(5.5)
Damit ist der Gaußprozess vollkommen durch seine Momente definiert. Durch das Zu-
grundelegen eines linearen Models (siehe 5.4) gilt für
Z
(
x
)als systematische Abweichung
in allen Punkten
x
:
E
(
Z
(
x
)) = 0, woraus folgt, dass
m
(
x
)
©
0, daher auch Zentrierter
Gaußprozess.
Damit gilt auch
k(x,xÕ) := Cov(x,xÕ)=E(Z(x)·Z(xÕ)).(5.6)
Die Kovarianz zwischen zwei Punkten kann jedoch auf einen Trainingsdatensatz
X
nicht
analytisch berechnet, sondern nur geschätzt werden. Dafür existieren eine Vielzahl an
Schätzverfahren. Eine umfassende Sammlung findet sich in Rasmussen und Williams [22].
Im Paket
DiceKriging
[23] wird standardmäßig die Matern(5,2)-Kovarianzschätzung,
16
5.1 SMBO Ansatz
die dort als
k(x,xÕ)=Q
a1+Ô5·d
+5
3·Ad
B2R
b·exp AÔ5·d
B,(5.7)
mit d=|xxÕ|(5.8)
definiert ist, mit
als ebenfalls zu schätzendem Range Parameter, verwendet. Die
Funktion
k
wird auch Kovarianzkernel oder einfach nur Kernel genannt. Unbekann-
te Parameter der Kernelfunktion werden durch die Maximum Likelihood Schätzung
bestimmt. Der beschriebene Matern-Schätzer wird für das Kriging in dieser Arbeit
verwendet. Zentrale Eigenschaft jeden Kernels ist, dass für Punkte
x,xÕ
, die dicht an-
einander liegen (5.9) und für Punkte, die weit entfernt voneinander entfernt sind (5.10)
gilt.
lim
|xxÕ|æ0k(x,xÕ)=1 (5.9)
lim
|xxÕ|æŒ k(x,xÕ)=0 (5.10)
Eine umfassende Klasse von Kerneln, die lediglich über eine Distanzfunktion
h
von
x
abhängen, sind die Radial Basis Functions (auch RBFs genannt). Im Allgemeinen steht
h
für die euklidische Norm. Durch spezielle Kernel und Distanzfunktionen ließen sich
an dieser Stelle auch Kovarianzen für x/œRdschätzen.
Für
X
=(
x1,...,xn
)
T
und
XÕ
analog ist die Kovarianzmatrix
K
dann gegeben
durch:
K(X, XÕ)=S
W
W
W
U
k(x1,xÕ
1)k(x1,xÕ
2)... k(x1,xÕ
n)
.
.
..
.
.....
.
.
k(xn,xÕ
1)k(xn,xÕ
2)... k(xn,xÕ
n)
T
X
X
X
VœRnn.(5.11)
Vorhersagen für einen Testdatensatz
Xú
lassen sich aus der gemeinsamen Verteilung der
Trainingsfunktionswerte
z
(dies sind die um den Trend bereinigte Funktionswerte
y
) und
der zu vorhersagenden Funktionswerte
zú
ableiten. Im Falle der unverrauschten Beobach-
tungen der Zielfunktion
z
gilt für die gemeinsame Verteilung:
S
U
z
zúT
VNQ
a0,S
UK(X, X)K(X, Xú)
K(Xú,X)K(Xú,X
ú)T
VR
b.(5.12)
17
5 Methoden
Wenn der Trainingsdatensatz
X
aus
n
und der Testdatensatz
Xú
aus
nú
Beobach-
tungen besteht, ist
K
(
X, Xú
)eine
nnú
Matrix, welche alle paarweise geschätzten
Kovarianzen zwischen den Beobachtungen aus
X
und
Xú
enthält. Analog gilt dies für
K(X, X),X(Xú,X)und K(Xú,X
ú).
Die Verteilung der unbekannten Funktionswerte
zú
kann nun einfach aus der be-
dingten Gaußverteilung, gegeben der Trainings- und Testdaten
X
und
Xú
als auch
den beobachteten Funktionswerten
z
, hergeleitet werden. Für die bedingte Verteilung
gilt:
zú|Xú,X,zN(K(Xú,X)K(X, X)1z,(5.13)
K(Xú,X
ú)K(Xú,X)K(X, X)1K(X, Xú)).(5.14)
Die Vorhersage der Funktionswerte entspricht dem Erwartungswert von
zú
. Die Varianz
der Vorhersagen lässt sich aus den entsprechenden Einträgen aus der Diagonalen der
Kovarianzmatrix ablesen.
Für den Fall, dass die Zielfunktion und deren beobachtete Werte verrauscht sind,
sodass nur die Werte
˜z
(die um den linearen Trend bereinigten Werte
y
), nicht
aber die tatsächlichen Werte
z
(
x
)beobachtbar sind, gilt für die gemeinsame Ver-
teilung:
S
U
˜z
zúT
VNQ
a0,S
UK(X, X)+2IK(X, Xú)
K(Xú,X)K(Xú,X
ú)T
VR
b.(5.15)
Der neu hinzugekommene Fehlerterm
2
wird auch Nugget Eekt genannt.
Die bedingte Gaußverteilung für
zú
, gegeben
X, Xú
und den verrauschten beobachteten
Funktionswerten ˜z , ergibt sich zu:
zú|Xú,X,˜z N(K(Xú,X)[K(X, X)+2I]1˜z ,(5.16)
K(Xú,X
ú)K(Xú,X)[K(X, X )+2I]1K(X, Xú)).(5.17)
Die prognostizierten Werte entsprechen analog zum unverrauschten Fall den Erwartungs-
werten für
˜z
und die Varianzen sind die entsprechenden Einträge auf der Diagonalen
der Kovarianzmatrix.
18
5.2 Multi Fidelity Based Models Optimization
Die
Vorhersagen
für einen neuen Punkt
xú
einschließlich des Trends ergibt sich
demnach zu
ˆy =h(xú)Tˆ
+K(xú,X)[K(X, X )+ˆ2I]1˜z ,(5.18)
mit ˜z=yh(X)ˆ
(5.19)
und h(X)=(h(x1),...,h(xn))T(5.20)
im verrauschten Fall. Für den deterministischen Fall ist
ˆ2
=0zu setzen.
Für die
Unsicherheitsschätzung
der Prognose im Punkt
xú
ergibt sich folgendes:
ˆs2(xú)=k(xú,xú)K(xú,X)(K(X, X)+ˆ2I)1K(X, xú).(5.21)
Auch hier ist für den deterministischen Fall
ˆ2
=0zu setzen. Im typischen Fall, dass
lediglich der Trainingsdatensatz vorliegt, ist die Varianz
2
(der Nugget Eekt) nicht
bekannt und muss daher geschätzt werden. Auch dies geschieht über das Maximum
Likelihood Verfahren, wie Sacks et al. [24] zu entnehmen ist. Die geschätzte Verteilung der
Vorhersage ergibt sich aus (5.18), (5.21) und der Annahme des Gaußprozess zu
Y
(
xú
)=
N
(
ˆy ,ˆs2
(
xú
)Anzumerken ist, dass Den Hertog et al. [10] anmerkt und beweist, dass diese
Berechnung die tatsächliche Varianz unterschätzt. Dies liegt daran, dass die Parameter
der Kovarianzkernel ebenfalls geschätzt werden und somit einen Teil der Varianz bereits
aufnehmen. Als Lösung wird ein parametrisches Bootstrapping zur Schätzung von
ˆs2
(
x
)
vorgeschlagen. In dieser Arbeit wird dies jedoch vernachlässigt, da für das
EI
-Kriterium
die Proportion der Unsicherheit vorrangig ist.
5.2 Multi Fidelity Based Models Optimization
Das gegebene Problem ist analog zum SMBO Ansatz die Minimierung einer Black Box
Funktion fm(x)
xú= arg min
xœX
y=fm(x)
unter der zusätzlichen Prämisse, dass für diese mindestens eine weitere Black Box
Funktion
f1
(
x
)existiert, welche die erstere in der Funktionsweise annähernd repräsentiert,
jedoch geringere Evaluationskosten aufweist.
19
5 Methoden
Die Multi Fidelity Ansatz beinhaltet konkreter die Idee, dass es mehrere Black Box Funk-
tionen gibt, die die eigentliche Zielfunktion unterschiedlich genau approximieren. Genau-
eres dazu in den folgenden Kapiteln, welche die einzelnen Komponenten des mfMBO Al-
gorithmus und letztendlich den Algorithmus selbst erklären.
5.2.1 Summenmodell
Das Summenmodell zur Optimierung ist angelehnt an die Idee aus Huang et al. [15].
Gegeben ist eine zu optimierende Zielfunktion
fm
(
x
)
,mœN
. Das
m
bezeichnet dabei
das Highest Fidelity Level, also das Level der höchsten Genauigkeit. Die Funktion
fm
(
x
)
repräsentiert das Optimierungsproblem also genau oder zumindest so genau wie möglich.
Die Zielfunktion ist Teil einer Funktionenschar mit ansteigender Genauigkeit in der
Reihenfolge
f1
(
x
)
,f
2
(
x
)
,...,f
m
(
x
). Demnach ist
f1
(
x
)die Zielfunktion auf dem Lowest
Fidelity Level. Ziel ist es, das
x
zu finden, welches die Zielfunktion auf dem Highest
Fidelity Level moptimiert:
xú= arg min
xœX
fm(x).(5.22)
Die Voraussetzungen an
X
hängen vom gewählten Surrogatmodell ab. Voraussetzung
für das Summenmodell ist, dass der systematische Fehler der Zielfunktion
fm
(
x
)mit
größerem
lœL
:=
{
1
,...,m}
im Mittel kleiner wird. Der systematische Fehler zu
fm
(
x
)
wird für
f1
am größten und für
fm1
am kleinsten angenommen. Die Zielfunktionenschar
fl
(
x
)
,l œL
kann deterministisch oder verrauscht sein. Das Rauschen auf jedem Level
l
ist unabhängig von den anderen Leveln und für jedes Level unabhängig identisch
verteilt.
Die Annahme eines systematischen Fehlers führt direkt zur Formulierung des Summen-
modells. So kann die Zielfunktion für jedes Level wie folgt durch Aufsummieren der
systematischen Fehler konstruiert werden:
fl(x)=fl1(x)+
systematischer Fehler
˙˝¸˚
l(x),(l=2,...,m).(5.23)
Wobei l(x)als unabhängig von f1(x),...,f
l1(x)angenommen wird. Der Einfachheit
halber sei
f1(x) := 1(x).(5.24)
20
5.2 Multi Fidelity Based Models Optimization
Hierbei bezeichnet
l
(
x
)für
l
=2
,
3
,...m
genau den systematischen Fehler der Lower
Fidelity Funktion
fl1
(
x
)zu der Higher Fidelity Funktion
fl
(
x
). Der systematische Fehler
der Funktion
fl
(
x
)zur Zielfunktion
fm
(
x
)ergibt sich also aus der Summe
qm
i=l+1 i
und die Funktion
fl
(
x
)ergibt sich wiederum aus der Summe der darunterliegenden
systematischen Fehler:
fl(x)=
l
ÿ
i=1
i.(5.25)
Die
Vorhersage
des Funktionswertes
ˆ
fl
am Punkt
x
berechnet sich also aus der
Summe der Vorhersagen für den systematischen Fehler der darunter liegenden Fidelity
Level:
ˆ
fl(x)=ˆ
1(x)+ˆ
2(x)+...ˆ
l1(x)+ˆ
l(x).(5.26)
Der
Unsicherheitsschätzer ˆs2
l
(
x
)berechnet sich unter der Annahme, dass
l
(
x
)sto-
chastisch unabhängig von f1(x),...,f
l1(x)ist, als:
ˆs2
l(x)=ˆs2
l(x),(5.27)
wobei
ˆs2
l
(
x
)der Unsicherheitsschätzer des
-Modells für Level
l
an Punkt
x
ist. Diese
Annahme wird auch in Huang et al. [15] getroen und hat sich im Laufe der Entwicklung
der Arbeit als eektiv und aus folgenden Gründen als Praktikabel erwiesen: Es ist
schwierig auf theoretischer Basis die Varianz der aufsummierten Prognosen
ql
i=1 ˆ
i
der Surrogatmodelle zu ermitteln. Und auch durch Bootstrapping lässt sich lediglich
die Varianz der Vorhersage, aber nicht die Unsicherheit ermitteln. Dies kann je nach
Regressionsmodell zu schlechten Ergebnissen führen, da insbesondere am Rand des
gelernten Parameterraums die Vorhersagen konstant sind, jedoch die Unsicherheit sehr
hoch ist.
5.2.2 Modellkorrelation
Eine Schwierigkeit ist es, die Korrelation zwischen den Surrogatmodellen für die verschie-
denen Fidelity Level zu berechnen wie sie später in (5.30) im Abschnitt 5.2.3) benötigt
wird. Wie sie zwischen zwei reinen Krigingmodellen zu berechnen ist, zeigt Huang et al.
[15]. Ein zentraler Grundsatz der Umsetzung des Algorithmus ist die Unabhängigkeit von
21
5 Methoden
der Wahl des Surrogatmodells. Demnach muss die Korrelation anhand der geschätzten
Response Surface, also anhand der Funktionswerte
ˆ
fl
(
x
)der Surrogatmodelle für die
verschiedenen Fidelity Level berechnet werden.
Von Interesse für den in Kapitel 5.2.3 beschriebenen mfMBO Algorithmus ist die
Korrelation zwischen der Response Surface des Levels
l
mit der des Highest Fidelity
Levels m:
1(x,l) := cor(ˆ
fl(x),ˆ
fm(x)).(5.28)
In den Experimenten wurden bereits gute Ergebnisse erreicht, indem nicht die Kor-
relation in dem Punkt
x
bzw. in seiner Umgebung betrachtet wird, sondern lediglich
die Korrelation der Response Surface über den gesamten Parameterraum
X
. Dies wird
bewerkstelligt, indem ein LHS-Design
Xc
von
nc
Punkten über
X
generiert wird. Diese
Punkte werden sowohl für
ˆ
fl
(
x
)als auch für
ˆ
fm
(
x
)ausgewertet, was zu den Ergebnisvek-
toren
ˆ
yl
und
ˆ
ym
führt. Daraus berechnet sich die Korrelation
1(x,l) := max (corSpearman(ˆ
yl,ˆ
ym),0) (5.29)
aus dem positiven Teil von Spearmans Rangkorrelationskoezienten. Hier ist bewusst der
Parameter
x
in der Funktion enthalten, obwohl er nicht genutzt wird, um anzudeuten,
dass ebenfalls eine um
x
lokale Korrelation implementierbar wäre. Möglichkeiten werden
im Abschlusskapitel 8 aufgezeigt.
5.2.3 mfMBO Algorithmus
Der Multi Fidelity Model Based Optimization Algorithmus (kurz mfMBO) ist das
Kernstück dieser Arbeit. Er ist modular aufgebaut und erweitert den bekannten SMBO-
Ansatz [16].
Eine zentrale Komponente ist eine durch den Anwender bereitgestellte Zielfunktionsschar
fl
(
x
)mit
lœ{
1
,...,m}
. Dabei ist
f1
(
x
)die Zielfunktion auf dem Lowest Fidelity Level
und
fm
(
x
)die Zielfunktion auf dem Highest Fidelity Level und damit die Funktion welche
letztendlich optimiert werden soll. Die Voraussetzungen für die Zielfunktionsschar sind
bereits in Abschnitt 5.2.1 erläutert. Es wird davon ausgegangen, dass eine höhere Fidelity
mit höheren Evaluationskosten (
Cl
) verbunden ist, sodass gilt:
C1<C
2<...<C
m
.
22
5.2 Multi Fidelity Based Models Optimization
Unter Verletzung dieser Annahme wird der Algorithmus lediglich weniger ezient
funktionieren.
Eine weitere Komponente ist das durch den Anwender wählbare Regressionsverfah-
ren. Implementiert wird das Regressionsverfahren durch das Summenmodell (siehe
Abschnitt 5.2.1), welches für jedes Fidelity Level ein Surrogatmodell
ˆ
fl
(
x
)bereitstellt.
Das gegebene Regressionsverfahren wird wie in Abschnitt 5.2.1 erläutert verwendet
um die Dierenzfunktionen
1
(
x
)
,...,m
(
x
)zu schätzen. Insbesondere dafür geeignet
ist das Kriging (siehe 5.1.2). Durch die vereinfachende Annahme, dass für
fl
(
x
)das
darunter liegende Level
fl1
(
x
)als fest betrachtet wird, vereinfacht sich die Schätzung
von
s2
l
(
x
)auf den Unsicherheitsschätzer des Surrogatmodells für
ˆ
l
(
x
), welcher vom
gewählten Regressionsverfahren bereitgestellt wird.
Der Unsicherheitsschätzer ist maßgebend für das Infill-Kriterium, anhand welchem
bestimmt wird, welcher Punkt des Parameterraums als nächstes auf der Zielfunktion
evaluiert werden soll. Abweichend zum reinen SMBO-Ansatz, sind auch die Evaluations-
kosten
Cl
(
x
)von Bedeutung, sowie die Korrelation
cor
(
ˆ
fl
(
x
)
,ˆ
fm
(
x
)) des Surrogatmodells
auf dem Level
l
mit dem Highest Fidelity Surrogatmodell
ˆ
fm
(
x
)und die Residualva-
rianz jedes Modells. Die Korrelation gibt Aufschluss darüber, wie repräsentativ das
günstigere Surrogatmodell auf dem Level
l
am Punkt
x
für das teuerste Highest Fidelity
Surrogatmodell ist. Die Evaluationskosten und die Korrelation ergeben den Tradeo,
den der Algorithmus bereit ist einzugehen, um mit weniger Kosten ungenauer den Para-
meterraum zu explorieren. Die Feststellung eines guten Tradeos ist eine entscheidende
Stellschraube für die Laufzeit und Genauigkeit der mfMBO.
Angelehnt an Huang et al. [15] ergibt sich daraus das Multi Fidelity angepasste Ex-
pected Improvement (
mfEI
). Dies definiert sich durch das gewöhnliche
EI
auf dem
Highest Fidelity Level und den drei level- und punktabhängigen Skalierungsfakto-
ren:
Die
Korrelation
der Response Surface des aktuellen Levels
l
mit dem Highest Fidelity
Level mim Punkt x:
1(x,l) := cor(ˆ
fl(x),ˆ
fm(x)) (5.30)
in dieser Arbeit berechnet durch (5.29). Die skalierte
Unsicherheit
des Surrogatmodells
23
5 Methoden
auf Level l:
2(x,l):=1l
Òsl(x)2+2
l
(5.31)
mit l=1
n1
n
ÿ
i=1
(rl,i rr)2,r
iyl,i yl,i (Residualvarianz).(5.32)
Der
Kostengewinn
auf dem Level
l
gegenüber einer Evaluation auf dem Level
m
:
3(x,l) := Cm(x)
Cl(x).(5.33)
Das mfEI wird daraus wie folgt definiert:
mfEI (x,l) := E(max(ˆ
fm(xú)ˆ
fm(x),0)) ·1(x,l)·2(x,l)·3(x,l)(5.34)
=EI(x)·1(x,l)·2(x,l)·3(x,l).(5.35)
In Huang et al. [15] gilt abweichend
Cl
(
x
)
©Cl
und damit
3
(
x, l
)=
3
(
l
). Die hier
umgesetzte Erweiterung wird realisiert, indem bei den Evaluationen von
fl
(
x
)die Kosten
als Zielvariable sowie das Level
l
und der Punkt
x
als unabhängige Variablen in ein
Regressionsmodell eingehen, welches dann für einen neuen Punkt
x
die Evaluationskosten
ˆ
Cl
(
x
)prognostizieren kann. In der Implementation (Kapitel 6) sind beide Varianten
umgesetzt.
Eine weitere, tiefer liegende Komponente ist das Optimierungsverfahren, welches den
optimalen Punkt
˜x
anhand des mfEI findet. Hier kann auf bekannte, globale Optimierer
zurückgegrien werden. Das Paket
mlrMBO
bietet Implementierungen für Focussearch,
CMAES,EA und NSGA2 an.
Analog zum SMBO-Ansatz in Abschnitt 5.1 ist das Ergebnis des mfMBO Algorithmus
der Punkt
ˆx ú
, welcher den kleinsten beobachteten Funktionswert
ymin
=
fm
(
ˆx ú
)aller
auf der tatsächlichen Zielfunktion ausgewerteten Punkte lieferte. Demzufolge ist es
essenziell, dass der Algorithmus auch auf dem Highest Fidelity Level Funktionsaus-
wertungen durchführt, damit diese als Kandidaten für die Rückgabe zur Verfügung
stehen. Um dies sicherzustellen, wird alle
n
(z.B. 10) Schritte lediglich das mfEI auf
dem Highest Fidelity Level
mfEI
(
x,m
)ausgewertet und folglich auf diesem Level
evaluiert.
24
5.3 Lernverfahren
Der Algorithmus läuft in den Schritten des SMBO-Ansatzes (siehe Abschnitt 5.1) ab.
Das initiale Design
X0
muss initial auf jedem Level evaluiert werden. Dabei muss es nicht
zwangsweise für jedes Level das gleiche Design sein. Es können also je Level verschiedene
Designs
X0,1,...,X
0,m
gegeben sein. Gilt in Huang et al. [15] z.B.
X0,1X0,2...X0,m
so wurde in der Arbeit festgestellt, dass sich ein LHS-Design auf dem Raum
XL
ebenfalls sehr gut eignet, wenn es groß genug gewählt ist, um alle Level in
L
abzudecken.
Dies ist durch die Eigenschaft des Latin Hypercube Samplings bereits für
n0Øm
gesichert. Das gemeinsame LH-Sampling bietet gegenüber dem Verfahren in Huang
et al. [15] den Vorteil, dass der Parameterraum
X
mit kleinerem
n0
bereits schon besser
abgedeckt ist, wenn man davon ausgeht, dass die systematischen Fehler
l
(
x
)für
xœX
nicht stark schwanken.
Das Modell
M
wird durch das Summenmodell (siehe Abschnitt 5.2.1) bereitgestellt. Es
lernt auf einem Trainingsdatensatz
Tµ{
(
x,l,y
)
|xœX,l œL,y œR}
und liefert Progno-
sen
ˆyl
für alle Level
lœL
unter der Eingabe eines Tupels (
x,l
)
Es unterscheiden sich die Iterationsschritte zum SMBO-Ansatz wie folgt:
1.
Maximiere für jedes Level das Multi Fidelity Expected Improvement und erhalte
Kandidaten
mfEI
(
x1,
1)
, mf EI
(
x2,
2)
, . . . , mf EI
(
xm,m
)mit den jeweils maxi-
malen Werten je Level. Wähle Level lund entsprechend ˜
xmit
mfEI (˜
x,l)=max({mfEI(x1,1), mfEI (x2,2), . . . , mfE I(xm,m)}).
2. Werte fl(˜
x)aus und erhalte ˜yl.
3. Aktualisiere Trainingsdatensatz TΩT{(˜
x,l,˜yl)}.
4. Lerne Surrogatmodell Mauf Trainingsdatensatz Tund erhalte M(T).
5. Wenn ˜yl<y
l,min ist, dann aktualisiere yl,min Ω˜yl.
Die Rückgabe
ˆx ú
des Algorithmus ist der Punkt
x
, der während der Durchführung des
Algorithmus zum kleinsten Funktionswert
ymin,m
=
f
(
ˆx ú
)des Highest Fidelity Levels
geführt hat. Die Funktionsweise ist auch als Pseudocode im Algorithmus 1 verdeutlicht.
5.3 Lernverfahren
Ein Lernverfahren lernt unter der Eingabe eines Trainingsdatensatzes
T
=(
X, y
)ein
Modell
M
(
T
). Dieser Schritt kann auch als Modellbildung oder Training bezeichnet
25
5 Methoden
Algorithmus 1 : mfMBO Algorithmus
input : multifid levels L={1,...,m}
hyperparameter space X
parameter functions fl(x)lœLand xœX
output : proposed point ˆxúminimizing fm(x)
generate initial design on LX;
fit surrogate model for each level on initial design;
while budget is not exhausted do
evaluate mfEI on all surrogate models;
choose point xúand level lúwhere mfEI is max;
evaluate flú(xú)=yú;
update surrogate model for level lúwith (xú,y
ú);
end
propose final optimum ˆxú;
werden. Für einen Testdatensatz
Tú
=
X
ohne die Spalten der Zielvariable
y
kann das
Lernverfahren mithilfe des Modells
M
(
T
)eine Prognose
ˆ
y
der Zielvariablen erzeugen.
Die Funktionsweise eines Lernverfahrens kann durch Parameter - in diesem Kontext Hy-
perparameter genannt - gesteuert werden. Tuning oder die Hyperparameteroptimierung
ist das Optimieren der Performance eines Lernverfahrens anhand der Hyperparameter.
Diese Arbeit beschränkt sich auf das Tunen der Support Vector Machine. Die SVM
ist das prominenteste Beispiel eines Lernverfahrens, welches erst durch fallspezifische
Hyperparametereinstellungen richtig funktioniert.
5.3.1 Support Vector Machines
Die grundlegende Idee der Support Vector Machine ist es, die Beobachtungspunkte
X
=(
x1,...,xn
)
T
im Raum durch eine Hyperebene mit einem möglichst großen
Rand (Margin), welcher frei von Beobachtungen bleibt, zu trennen. Die in dieser
Arbeit verwendete Support Vector Machine (SVM) wird durch das
R
-Paket
e1071
[18]
bereitgestellt und durch
mlr
angebunden. Das Optimierungsproblem für eine binäre
26
5.3 Lernverfahren
Klassifikation bildet sich wie folgt (vgl. [9])
opt = arg min
1
2
n
ÿ
i=1
n
ÿ
j=1
yiyjK(xi,xj)ij
n
ÿ
i=1
i(5.36)
unter den Nebenbedingungen
0ÆiÆCund
n
ÿ
i=1
yii=0,(5.37)
wobei die Klassenzugehörigkeit
y
durch
1und +1 kodiert ist.
Die einfachste Kernelfunktion
K
ist die lineare Funktion
K
(
x1,x2
)=
xT
1·x2
. Daneben
stehen polynomiale Kernelfunktionen
k
-ten Grades
K
(
x1,x2
)=(
·xT
1·x2
+
)
k
,
Radial-Basisfunktionen (RBF)
K
(
x1,x2
)=
exp
(
·||x1x2||2
)und die Sigmoid-
Funktion
K
(
x1,x2
)=
tanh
(
·xT
1·x2
+
)in
e1071
zur Verfügung. In der Arbeit
wird der weit verbreitete RBF-Kernel verwendet. Die zu tunenden Hyperparameter
des Optimierungsproblems sind somit der Kostenparameter
C
und
.
kann auch als
Kernelbreite interpretiert werden und bestimmt, wie stark der Einfluss von weiter entfernt
liegenden Beobachtungen
x
auf die Klassifikation ist. Der Kostenparameter
C
gibt den
Einfluss der Fehlklassifikation auf die Optimierung von 5.36 an. Ein kleines
C
bestraft
Fehlklassifikationen weniger und führt dazu, dass der Margin tendenziell größer wird,
wohingegen ein großes Czu einem schmalen Margin führt.
Ein weiterer Parameter ist das Abbruchkriterium für die Optimierung des Optimierungs-
problems (siehe 5.36). Ist die Verbesserung von einem Optimierungsschritt zum nächsten
kleiner als das Abbruchkriterium (
tolerance
-Parameter), so wird die Optimierung
von (5.36) beendet. Eine größere Toleranz verringert die Optimierungsiterationen und
folglich die Laufzeit, kann aber auch zu ungenaueren Ergebnissen und somit zu einer
schlechteren Performance führen. Es ist anzumerken, dass auch die anderen genannten
Hyperparameter Einfluss auf die Laufzeit haben.
Mit dem ermittelten
opt
bildet sich die Entscheidungsregel dann wie folgt:
ˆyi=sgn(
n
ÿ
j=1
jyjK(xj·,xneu)+b)(5.38)
(Zur Berechnung von
b
siehe Chang und Lin [9, S. 14 f.].) Für das Mehrklassenpro-
blem mit
G
Klassen verwendet
svm
den jeder gegen jeden Ansatz mit
G(G1)
/2
binären
SVM-Klassifikatoren. Die Klassenzuteilung ist dann eine Mehrheitsentscheidung der
27
5 Methoden
binären Klassifikatoren. Für die Regression arbeitet die SVM mit einem abgewandelten
Optimierungsproblem und einer angepassten Prediktorfunktion. Siehe dazu Chang und
Lin [9, S. 6 f.].
5.3.2 Lernen auf Stichproben
Das Ziehen einer Stichprobe aus den Trainingsdaten vor dem eigentlichen Lernen
kann jedem Lernverfahren vorgeschaltet werden, insofern die einzelnen Beobachtun-
gen unabhängig voneinander sind. Das hier sogenannte Downsampling ist in seiner
Funktionsweise sehr simpel. Bevor das eigentliche Lernverfahren auf dem Trainingsda-
tensatz T=(X, y)gelernt wird, wird aus Teine Zufallsstichprobe (ohne Zurücklegen)
an Tupeln (
x,y
)gezogen, die dann den Trainingsdatensatz
Td
bilden, auf dem das
eigentliche Lernverfahren angewendet wird. Wird das aus dem Trainingsdatensatz
T
gelernte Modell als
M
(
T
)bezeichnet, so lässt sich das mit Downsampling gelernte
Modell als
Md(T) := M(Td)=M(d(T,p)) (5.39)
bezeichnen. Dabei ist
pœ
(0
,
1] der Downsample-Parameter, welcher angibt wie viel
Prozent der eigentlichen Daten gezogen werden sollen. Hat
Tn
Beobachtungen, so
hat
Tdn·p
Beobachtungen. Das Zusammenspiel des Downsamplings mit dem mfMBO
Algorithmus wird in Abbildung 3 auf Seite 30 illustriert.
5.4 Modellvalidierung
Um das Performancemaß eines Lernverfahrens zu ermitteln, ist es am geläufigsten eine
Kreuzvalidierung durchzuführen, wobei auch andere Validierungsverfahren existieren.
Auf die verschiedenen Eigenschaften sowie Vor- und Nachteile geht Bischl et al. [7]
ein. Jedes Validierungsverfahren bildet aus dem Datensatz
T
=(
X, y
)eine Menge an
Trainingsdatensätzen
Tt
=
{Tt,1,...,T
t,k}
und analog eine Menge an Testdatensätzen
Tú
. Nach Bischl et al. [7] ist es das Ziel der äußeren Validierung, welche im Regelfall
durch die angesprochene Kreuzvalidierung mit typischerweise
k
=10Wiederholungen
durchgeführt wird, das komplette Modellierungsverfahren zu validieren. Dazu gehören
die Wahl des Lernverfahrens einschließlich der Hyperparameteroptimierung, aber auch
28
5.4 Modellvalidierung
Datenvorverarbeitungsschritte die von der abhängigen Variablen
y
oder anderen Beob-
achtungen abhängen. Die Auswahl des Lernverfahrens und insbesondere das Tuning
werden auf Grundlage der innere Validierung getroen. Diese findet auf dem, von
der äußeren Validierung bereitgestellten, Trainingsdatensatz statt. Das Tuning nutzt
lediglich diese Daten und ermitteln die Performance ausschließlich durch die innere
Validierung. Die Performance des gesamten Verfahrens wird somit
k
-mal wiederholt
durch die äußere Validierung ermittelt.
Das in dieser Arbeit gewählte Vorgehen in der inneren Validierung in Zusammenspiel
mit dem Downsampling ist in Abbildung 3 skizziert.
Durch die Validierung wird ein Performancemaß ermittelt. Für Klassifikationsprobleme
ist ein gewöhnliches Maß die relative
Fehlklassifikationsrate
(engl. Mean Misclas-
sification Error, mmce). Sie entspricht dem relativen Anteil der falsch klassifizierten
Beobachtungen aus dem Testdatensatz
Tú
bei einer auf einem Trainingsdatensatz
T
gelernten Prognose ˆ
f:
mmce := |{(x,y)œTú:y=ˆ
f(x)}|
nú
.(5.40)
Für Regressionsprobleme ist die
mittlere quadratische Abweichung
ein Standard-
maß. Es definiert sich aus den quadrierten Abständen der tatsächlichen Beobachtungen
zu den prognostizierten Werten der Zielvariablen:
mse := 1
nú
n
ÿ
i=1
yiyi)2.(5.41)
Dabei ist
ˆyi
die Prognose des Modells für den Punkt
xi
und
yi
der tatsächliche Wert
der Zielvariable mit (xi,y)œTú.
29
5 Methoden
äußere
Kreuzvali-
dierung
...
12345678910
inneres
Holdout
Down-
sampling
TtT*
T*
d (Tt , p)
Md ( Tt )Modelltraining
Vorhersage
Tuning
Abbildung 3:
Schematische Abbildung der in dieser Arbeit durchgeführten Validierung in Zusammen-
spiel mit dem Downsample Wrapper und der Hyperparameteroptimierung (Tuning):
Die äußere Validierung ist eine 10-Fache Kreuzvalidierung. Skizzenhaft ist hier die 2-te
Iteration dargestellt. Blöcke 1 bis 8 und 10 stellen den Datensatz, auf dem das Tuning
stattfindet. Dieser Datensatz wird durch das Holdout in einen Trainingsdatensatz
Tt
und einen Testdatensatz
Tú
unterteilt. Das Modelltraining mit den verschiedenen
Hyperparametereinstellungen findet stets auf
Tt
stat. Die Performance wird durch
die Vorhersage des Modells
M
auf
Tú
gemessen. Ist der Downsample Wrapper Teil
des Tunings, so wird vor dem Modelltraining aus
Tt
eine Zufallsstichprobe an
p·nt
Beobachtungen gezogen. Diese Stichprobe
d
(
Tt,p
)ist nicht fest und somit für jedes
Modelltraining anders. Nach beendetem Tuning wird mit den optimal gefundenen
Hyperparametereinstellungen ein Modell auf
TtTú
gelernt und in diesem Beispiel auf
Block 9 validiert. Insgesamt findet so das Tuinng 10-fach wiederholt statt.
30
6 mlrMBO Implementierung
Der mfMBO Algorithmus wurde komplett im
mlrMBO
eingebunden und lässt sich einfach
darüber aufrufen. Die Hyperparameteroptimierung für in
mlr
implementierte Lernver-
fahren ist dabei besonders einfach, da auf die in
mlrMBO
implementierten Verfahren
aus
mlr
heraus zugegrien werden kann. Im Folgenden soll kurz das Tuning einer
beliebigen Zielfunktion und das Hyperparametertuning eines
mlr
-Lerners erläutert
werden.
6.1 Tuning einer beliebigen Multi Fidelity Zielfunktion
Das folgende Beispiel soll die Anwendung der mfMBO durch die Anbindung an
mlrMBO
anhand einer einfachen deterministischen Funktion mit
m
=2Fidelity Level demons-
trieren. Gegeben sei die High Fidelity Funktion durch
f2(x)=sin(x)exp(x/100) + 10 (6.1)
und die dazugehörige günstigere Low Fidelity Funktion durch
f1(x)=sin(x)exp(x/100) + 10.3+0.03 ·(x3)2.(6.2)
Dies wird zunächst wie folgt definiert:
library(mlrMBO)
# high fidelity function, Zielfunktion
f.2 =function(x)-sin(x) -exp(x/100)+10
# low fidelity function
f.1 =function(x)-sin(x) -exp(x/100)+10.3 +0.03 *(x-3)^2
# multiple fidelity function
f.mf =function(xs){
lvl =xs$.multifid.lvl
x=xs$x
if (lvl == 1)
f.1(x)
else if (lvl == 2)
f.2(x)
}
31
6 mlrMBO Implementierung
Der
x
-Wert, welcher
f
(
x
)minimiert, soll in dem Intervall
xœ
[0
,
10] gefunden werden.
Dementsprechend muss der Parameterbereich definiert sein:
par.set =makeParamSet(
makeNumericParam(id ="x",lower =0,upper =10)
)
Weitere Informationen, wie Parameter und Parameterbereiche zu definieren sind, ist
der Dokumentation von
ParamHelpers
[5] zu entnehmen. Die Gestalt der Low Fidelity
und der High Fidelity Funktion in dem gegebenen Wertebereich lässt sich Abbildung 4
entnehmen.
8
9
10
11
0.0 2.5 5.0 7.5 10.0
x
y
.multifid.lvl
1
2
Abbildung 4: Die beiden Funktionen f1(x)und f2(x)
Bevor die Optimierung gestartet werden kann, müssen noch initiale Einstellungen
getroen werden. Im Folgenden sollen alle für mfMBO relevanten Argumente kurz
erläutert werden.
init.design.points
: Anzahl der Punkte im initialen Design. Das initiale Design
erstreckt sich über alle Fidelity Level. Mit höherer Anzahl an Leveln sollte also
auch die Zahl der initialen Designpunkte gesteigert werden.
iters
: Anzahl der Iterationen, nach dem das initiale Design ausgewertet wur-
de.
init.design.points
und
iters
bestimmen das
Budget
an Auswertungen
der Zielfunktion. Zusätzlich kann mit
time.budget
und
exec.time.budget
das
Budget weiter durch eine Zeitangabe eingeschränkt werden.
init.desing.fun
und
init.design.args
: Das initiale Design wird nach dem
Latin Hypercube Samples Verfahren generiert, welches durch das
R
-Paket
lhs
[8] zur
32
6.1 Tuning einer beliebigen Multi Fidelity Zielfunktion
Verfügung gestellt wird. Zur Auswahl stehen
maximinLHS
,
randomLHS
,
geneticLHS
,
improvedLHS
,
optAugmentLHS
und
optimumLHS
. Standardmäßig wird
maximinLHS
verwendet. Alternativ kann auch ein Design beim Aufruf von
mbo()
übergeben
werden, womit dann auch init.design.points überschrieben wird. Das Initiale
Design wird über dem im Parameter Set definierten Raum und den Fidelity Leveln
aufgespannt. Das Latin Hypercube Sampling stellt dabei sicher, dass alle Fidelity
Level besetzt sind. Sind im initialen Design für gegebene Level keine Punkte
enthalten, so kann der Algorithmus nicht funktionieren.
ctrl =makeMBOControl(init.design.points =8L,iters =10L)
Des Weiteren muss definiert werden, welches Infill-Kriterium der mbo-Algorithmus aus
mlrMBO
verwenden soll. Technisch gesehen handelt sich es beim mfMBO Algorithmus
um eine spezielle Anpassung des mbo-Algorithmus mit einem auf mehreren Fidelity
Leveln basierendem
EI
basiertem Infill-Kriterium. Für
setMBOControlInfill
existieren
weitere Argrumente, welche spezifizieren mit welchem Verfahren und mit welchen
Parametern auf dem Surrogatmodell nach dem Punkt im Parameterbereich gesucht
werden soll, der das Infill-Kriterium optimiert. Das Standardverfahren ist hier die
focussearch mit 10000 Punkten und einem Restart.
ctrl =setMBOControlInfill(
crit ="multiFid",
control = ctrl
)
Zuletzt müssen einige spezielle Einstellungen für das multiFid Infill-Kriterium getroen
werden.
param
: Gibt den Namen des Multi Fidelity Parameters an, welcher die Fidelity
Level definiert. In der momentanen Implementierung ist dieser Wert für die spätere
Ausgabe, aber nicht für den Algorithmus von Bedeutung, da er von der Zielfunk-
tion erwartet, dass sie eine Liste mit dem benannten Element
.multifid.lvl
entgegennimmt.
lvls
: Gibt die diskreten Ausprägungen an, welche der Multi Fidelity Parameter
annehmen kann. In der momentanen Implementierung sind die Werte lediglich für
33
6 mlrMBO Implementierung
die spätere Ausgabe von Bedeutung. Für den Algorithmus ist lediglich die Länge
des Vektors von Bedeutung, da sie angibt, wie viele Multi Fidelity Level es gibt.
cor.grid.points
: Anzahl der Punkte die fest auf jedem Fidelity Level von dem
jeweiligen Surrogatmodell prognostiziert werden sollen, um die Korrelation zwischen
den Leveln zu bestimmen (siehe dazu Kapitel 5.2.2). Standardmäßig werden 50
Punkte verwendet.
costs
: Der numerische Vektor gibt die
Kosten
für eine Auswertung auf den
entsprechenden Leveln an. Wird dieser Wert nicht gesetzt, so berechnet mfMBO
ein Zeitmodell, welches die Evaluationskosten einer Parametereinstellung für jedes
Level schätzt.
force.last.level.evals
: Gibt ein Intervall
n
an. Alle
n
Schritte wird auf dem
Highest Fidelity Level evaluiert. Der Default beträgt 10. Eine niedrige Einstellung
kann ebenfalls gute Ergebnisse ohne erheblich größere Zusatzkosten liefern.
In diesem Beispiel sind die Kosten für die Lower Fidelity Funktion auf
C1
=0
.
3und für
die Higher Fidelity Funktion auf C2=1festgelegt.
ctrl =setMBOControlMultiFid(
control = ctrl,
param ="fidelity",
lvls =1:2,
costs =c(0.3,1)
)
Für das Kontrollobjekt
ctrl
sind nun alle Werte gesetzt. Es bleibt zu definieren, welches
Regressionsverfahren für das Surrogatmodell verwendet wird. Dabei kann auf alle in
mlr implementierten Regressionsverfahren mit Unsicherheitsschätzung zurückgegrien
werden. Diese können der Dokumentation von
mlr
entnommen werden. Es sind allerdings
nicht alle gleich gut geeignet (siehe auch Abschnitt 5.3). Für den Algorithmus empfiehlt
sich Kriging aus dem R-Paket DiceKriging [23].
lrn =makeLearner("regr.km")
Jetzt kann mfMBO durch einen Funktionsaufruf der Hauptroutine gestartet wer-
den.
34
6.1 Tuning einer beliebigen Multi Fidelity Zielfunktion
set.seed(1)
mf.res =mbo(fun = f.mf,
par.set = par.set,
learner = lrn,
control = ctrl,
show.info =FALSE)
mf.res$y
## y
## 7.918971
mf.res$x
## $x
## [1] 7.826432
Der optimale gefundene Punkt
ˆxú
liegt bei
ˆxú
=7.826 und hat den Funktionswert
f2
(
xú
)=7.919. Das tatsächliche Optimum liegt bei
f
(2
.
5
·
)=
f
(7
.
854) = 7
.
918.
Für die Analyse können für die Fälle
xœR
und
xœR2
die Zustände in den ein-
zelnen Iterationsschritten visualisiert werden. Für das Argument
subset.variable
stehen die Werte
y
(Response Surface),
crit
(Multi Fidelity Infill Kriterium,
mfEI
),
ei
(Expected Improvement des Highest Fidelity Levels),
se
(SE-Schätzung des Sur-
rogatmodells),
alpha1
,
alpha2
,
alpha3
(die einzelnen
Komponenten für das Multi
Fidelity Infill Kriterium) und
sd
(Residualvarianz) zur Auswahl. Beispielhaft werden
die 5. und 6. Iteration in Abbildung 5 gezeigt, die durch folgenden Aufruf erzeugt
werden:
steps =5:6
ps =lapply(steps, function(step){
mlrMBO:::plotMultiFidStep(
plotdata = mf.res$plot.data[[step]],
subset.variable =c("y","crit"),
title =paste("Schritt", step),
add.g =list(theme_bw()))
35
6 mlrMBO Implementierung
})
do.call(gridExtra::grid.arrange, c(ps, list(nrow =1)))
8.923
0.07628
8.0
8.5
9.0
9.5
10.0
0.08
0.06
0.04
0.02
0.00
0.0 2.5 5.0 7.5 10.0
x
value
fidelity 1 2
Schritt 5
7.999
0.04663
8.0
8.5
9.0
9.5
10.0
0.04
0.03
0.02
0.01
0.00
0.0 2.5 5.0 7.5 10.0
x
value
fidelity 1 2
Schritt 6
Abbildung 5:
Zu sehen sind die 5. und 6. Iteration des mfMBO Algortihmus nach dem initialen
Design. In Schritt 5 ist das (hier negiert dargestellte)
mfEI
für
l
=1an dem durch
die vertikale Linie gekennzeichnetem
x
-Wert maximal. In Schritt 6 ist zu sehen, dass
das Modell an der entsprechenden Stelle für
l
=1geupdated wurde und nun für
l
=2
ausgewertet wird.
6.2 Tuning eines mlr Learners
Im typischen Einsatzszenario und auch in dem in dieser Arbeit durchgeführten Bench-
mark ist die Zielfunktion ein Performancemaß, welches durch eine Resamplingstrategie
evaluiert wird. In diesem Fall können die Lower Fidelity Funktionen durch Ziehen einer
Stichprobe (Downsampling) aus den Trainingsdaten generiert werden. In
mlr
lässt sich
dies mit dem
downsampleWrapper
umsetzen. Die Zielfunktion wird durch die Wahl des
Performancemaßes (
measures
) und der Resamplingstrategie (
resamplings
) definiert
und durch mlr passend für mbo formuliert.
Zuerst wird analog zum Beispiel aus 6.1 das
mbo
Kontrollobjekt definiert. Da der Fide-
lity Parameter durch den Downsample Wrapper vorgegeben ist und
mlr
wissen muss,
welche Parameter des Lernverfahrens für die Zielfunktion von Bedeutung sind, ist es
36
6.2 Tuning eines mlr Learners
hier im Gegensatz zum vorherigen Kapitel von Bedeutung, die Werte für
param
und
lvls
korrekt zu setzen. Wird der
costs
Parameter nicht gesetzt, dann prognostiziert
der mfMBO Algorithmus die Kosten anhand der beobachteten Evaluationszeiten. Dies
ist nur für große Datensätze empfohlen, bei denen die Evaluationszeiten sich signifi-
kant unterscheiden, da ansonsten das Krigingmodell zur Prognose der Kosten nicht
funktionieren kann.
library(mlrMBO)
ctrl =makeMBOControl(init.design.points =8L,iters =10L,noisy =TRUE)
ctrl =setMBOControlInfill(crit ="multiFid",control = ctrl)
ctrl =setMBOControlMultiFid(
control = ctrl,
param =".dw.perc",
lvls =c(0.5,1),
costs =c(0.5,1)^2
)
Um das Problem weiter zu definieren, wird ein zu tunendes Lernverfahren und der
gewünschte Hyperparameterraum
X
durch das Parameter Set gesetzt. Der Fidelity
Parameter selbst ist nicht Teil des Parameter Sets, aber er muss ein gültiger Para-
meter für das Lernverfahren sein. Folglich wird das zu tunende Lernverfahren in dem
DownsampleWrapper
gewrappt. Die Funktionsweise des Downsamplings wird in Kapi-
tel 5.3.2 erläutert.
lrn.tune =makeLearner("classif.svm")
lrn =makeDownsampleWrapper(lrn.tune)
par.set =makeParamSet(
makeNumericParam("cost",lower =-5,upper =15,trafo =function(x)2^x),
makeNumericParam("gamma",lower =-10,upper =6,trafo =function(x)2^x))
Wie auch im deterministischen Fall des vorherigen Kapitels wird ein Lernverfahren
für das Surrogatmodell benötigt. Durch das Downsampling und die innere Resamp-
lingstrategie sind die Ergebnisse jedoch mit einem Rauschen versetzt. Das Kriging
muss dementsprechend angepasst werden. Das Setzen von
nugget.estim
hat zur Folge,
37
6 mlrMBO Implementierung
dass der Varianzterm des Krigings geschätzt wird. Der
jitter
-Parameter ist hier ge-
setzt, um eine unliebsame Eigenschaft der Krigingimplementierung aus dem
R
-Paket
DiceKriging
zu umgehen. Dieses gibt trotz Varianzterms, bei mit den Trainingsdaten
übereinstimmenden Entscheidungsvariablen
x
, den exakten Wert der abhängigen Varia-
ble
y
zurück. Um dies zu umgehen, werden die Werte der Entscheidungsvariablen mit
einer Normalverteilung der Varianz 1·1024 verrauscht.
lrn.surrogate =makeLearner("regr.km",
nugget.estim =TRUE,jitter =TRUE,predict.type ="se")
Wie bereits erwähnt, wird die Zielfunktion durch ein Performancemaß und eine Resamp-
lingstrategie definiert. Anschließend wird das
mlr
-tuning Kontrollobjekt erzeugt:
measures =mmce
inner.resampling =makeResampleDesc("Holdout")
mlr.tune.ctrl =mlr:::makeTuneControlMBO(
mbo.control = ctrl,
learner = lrn.surrogate)
Es bleibt ein Task zu definieren und auf diesem das Tuning durchzuführen. Gene-
relle Anleitungen für diese Schritte sind detailliert dem
mlr
-Tutorial [6] zu entneh-
men.
set.seed(1)
task =iris.task
tune.res =tuneParams(learner = lrn, task = task,
resampling = inner.resampling, measures = measures,
par.set = par.set, control = mlr.tune.ctrl, show.info =FALSE)
tune.res$y
## mmce.test.mean
## 0.02
tune.res$x
38
6.2 Tuning eines mlr Learners
## $cost
## [1] 352.3242
##
## $gamma
## [1] 0.002493397
Die durch den Algorithmus beste gefundene Parametereinstellung ist demnach 352.324
für den Hyperparameter
cost
und 0.002 für den Hyperparameter
gamma
. Es wurde eine
durchschnittliche Fehlklassifikationsrate von 0.02 erreicht.
Auch hier lassen sich die Schritte des mfMBO Algorithmus mit Hilfe der Funktion
plotMultiFidStep
visualisieren. Beispielhaft sind die Zustände in Iteration 6 und 7 in
Abbildung 6 zu sehen.
steps =6:7
ps =lapply(steps, function(step){
mlrMBO:::plotMultiFidStep(
plotdata = tune.res$plot.data[[step]],
subset.variable =c("y","crit"),
title =paste("Schritt", step),
add.g =list(theme_bw()))
})
An dieser Stelle sei darauf hingewiesen, dass dies nur ein kleines Beispiel zur Illustration
der Funktionsweise des mfMBO -Algorithmus ist. Das Benchmarking des Algorithmus fin-
det in Kapitel 7.2 unter Verwendung des
mlr-TuneWrappers
statt.
39
6 mlrMBO Implementierung
y
10
5
0
5
10
5
0
5
1
2
5 0 5 10 15
cost
gamma
0.2
0.4
0.6
value
crit
10
5
0
5
10
5
0
5
1
2
5 0 5 10 15
cost
gamma
0.06
0.04
0.02
0.00
value
Schritt 6
y
10
5
0
5
10
5
0
5
1
2
5 0 5 10 15
cost
gamma
0.0
0.2
0.4
0.6
value
crit
10
5
0
5
10
5
0
5
1
2
5 0 5 10 15
cost
gamma
0.20
0.15
0.10
0.05
0.00
value
Schritt 7
Abbildung 6:
Beispielhaft die Schritte 6 und 7 des mfMBO Algortihmus. Links ist die geschätzte Re-
sponse Surface abgebildet, rechts das
mfEI
Kriterium. Das
imes
markiert den nächsten
auszuwertenden Punkt. Die Punkte zeigen an, wo bereits Evaluationen stattgefunden
haben.
40
7 Experimente
Um die Funktion des vorgestellten mfMBO Algorithmus zu überprüfen und gegen
etablierte Optimierungsverfahren zu benchmarken, werden verschiedene Experimente
durchgeführt. Zum einen wird in 7.1 die Funktion anhand deterministischer unver-
rauschter Funktionen getestet, für die das absolute Minimum bekannt ist. Zum anderen
wird in 7.2 die Funktion am praktischen Beispiel der Hyperparameteroptimierung der
SVM an einer Vielzahl von Datensätzen überprüft. Dies ist das Hauptaugenmerk dieser
Arbeit.
In beiden Fällen tritt der mfMBO Algorithmus gegen die parEGO Implementierung aus
dem
R
-Paket
mlrMBO
[4] und gegen die immer noch sehr populäre Random Search an. Als
Abschätzung des Best und des Worst Case sowie als Indikator dafür, wie repräsentativ
das Lowest Fidelity Level für das eigentliche Problem ist, wird
mlrMBO
auf dem Lowest
(kurz:
mlrMBO.l
) und Highest Fidelity Level (kurz:
mlrMBO
) durchgeführt. Wenn nicht
anders definiert, gilt im Folgenden, dass es
m
=4Fidelity Level gibt. Demnach gilt
lœ
{
1
,
2
,
3
,
4
}
. Für die vier Fidelity Level gelten folgende Fidelity Parameter
p1
=0
.
1
,p
2
=
0.2,p
3=0.5,p
4=1- notiert als p=(0.1,0.2,0.5,1).
Getrennt nach deterministischen Zielfunktionen (7.1) und Hyperparametertuning (7.2)
werden zunächst die Probleme spezifiziert. In den Abschnitten Auswertung (7.1.3
und 7.2.1) werden die Benchmarkergebnisse des Vergleichs von mfMBO gegen die
parEGO Implementierung von
mlrMBO
und die Random Search vorgestellt. Eine genauere
Betrachtung von mfMBO während der Laufzeit ist in dem Analyse-Abschnitten (7.1.4
und 7.2.2) gegeben.
7.1 Deterministische Zielfunktionen
Die deterministischen Zielfunktionen sind künstliche Beispiele, die schon in früheren
Veentlichungen genutzt wurden (siehe Huang et al. [15]). Die Funktionenschar
wird dabei in Anlehnung an die Literatur so erzeugt, dass sie den Fidelity Leveln
des mfMBO Algorithmus entspricht. Ebenfalls wird die Intensität der Verschiebung
auf der
x
-Achse oder der Verzerrung auf der
y
-Achse in unterschiedlichen Stärken
angewandt, um das Verhalten des mfMBO Algorithmus genauer zu untersuchen und
41
7 Experimente
herauszufinden, wie robust dieser auf starke und schwache Unterschiede der Fidelity
Level reagiert.
Für die zwei Zielfunktionen Sasena (7.1.1) und Hartman (7.1.2) werden jeweils vier
verschiedene Funktionsscharen erstellt. Die Funktion auf dem Highest Fidelity Level
fm
(
x
)bleibt dabei immer dieselbe, lediglich die Verzerrung der Lower Fidelity Funktionen
ist unterschiedlich stark ausgeprägt.
Der zu untersuchende Wertebereich ist für beide Funktionen reelwertig. Die Funk-
tionen sind deterministisch und damit ohne Rauschen. Als Lernverfahren für das
Surrogatmodell kann daher das einfache Kriging aus Kapitel 5.1.2 verwendet wer-
den.
7.1.1 Sasena
Die in dieser Arbeit Sasena genannte Funktion ist eine eindimensionale Zielfunktion
und wird in Sasena [25] wie folgt definiert:
fm(x)=sin(x)exp(x/100) + 10 ,xœ[0,10].(7.1)
Sie hat ihr Optimum in
xú
=
¥
7
.
8648 mit
f
(
xú
)
¥
7
.
9184. Als Beispiel ist sie interessant,
da sie zwei lokale Minima hat, welche sich im Funktionswert nur kaum unterscheiden.
Ebenfalls kann durch geschickte Addition einer weiteren Funktion, die den Fidelity-
Parameter
pl
einführt, erreicht werden, dass das globale Minimum für einzelne Funktionen
aus der Funktionenschar
fl
(
x
)
,l œ{
1
,...m}
an dem lediglich lokalen Minimum von
fm
(
x
)liegt. Die Funktionenschar über den Fidelity Level
l
mit der Verzerrungskonstante
cist folgende:
fl(x, c)=fm(x)+((1pl)·c)+(1 pl)·c
10 ·(x((1 pl)·c)·10)2(7.2)
=sin(x)exp(x/100) + 10 + ((1 pl)·c)+(1 pl)·c
10 ·(x((1 pl)·c)·10)2
(7.3)
Für die Werte
c
=(1
,
0
.
7
,
0
.
5
,
0
.
2) und
p
=(0
.
1
,
0
.
2
,
0
.
5
,
1) sind die Funktionsscharen in
Abbildung 7 abgebildet. Der Wertebereich wird auf
X
=[0
,
10] festgelegt.
42
7.1 Deterministische Zielfunktionen
7.5
10.0
12.5
15.0
17.5
0.0 2.5 5.0 7.5 10.0
x
y
p
0.1
0.2
0.5
1
Sasena c = 1
8
9
10
11
12
0.0 2.5 5.0 7.5 10.0
x
y
p
0.1
0.2
0.5
1
Sasena c = 0.7
8
9
10
11
0.0 2.5 5.0 7.5 10.0
x
y
p
0.1
0.2
0.5
1
Sasena c = 0.5
8
9
10
0.0 2.5 5.0 7.5 10.0
x
y
p
0.1
0.2
0.5
1
Sasena c = 0.2
Abbildung 7:
Die Sasena Zielfunktion aus [25] zu einer Funktionenschar erweitert, sodass sie dem
mfMBO Algorithmus dienen kann: Durch das Aufaddieren einer Parabel wird das
Optimum für die Lower Fidelity Level stark verschoben.
7.1.2 Hartman
Die in dieser Arbeit Hartman genannte Funktion ist eine ursprünglich dreidimensionale
Zielfunktion und wird in Hartman [13] wie folgt definiert:
fm(x)=
4
ÿ
i=1
bi·exp Q
a
3
ÿ
j=1
ij (xjpij )2R
b,(7.4)
aij =S
W
W
W
W
W
W
U
31030
0.11035
31030
0.11035
T
X
X
X
X
X
X
V
,(7.5)
43
7 Experimente
bi=S
W
W
W
W
W
W
U
1
1.2
3
3.2
T
X
X
X
X
X
X
V
,(7.6)
pij =S
W
W
W
W
W
W
U
0.3689 0.1170 0.2673
0.4699 0.4387 0.7470
0.1091 0.8732 0.5547
0.03815 0.5743 0.8828
T
X
X
X
X
X
X
V
,(7.7)
0ÆxiÆ15,für i=1,2,3(7.8)
Sie hat ihr Optimum in
xú
=(0
.
114
,
0
.
556
,
0
.
852) mit
f
(
xú
)=
3
.
8627. In der Arbeit
wird sie auch für die eindimensionale Optimierung verwendet. Dafür wird die Zielfunk-
tion definiert durch
˜
f
(
x
) :=
f
((
x,
0
.
556
,
0
.
853)). Die nicht genutzen
x
-Werte werden
also auf die optimalen Werte gesetzt. Der eindimensionale Fall der Zielfunktion ist
interessant, da hier das Minimum von
x
=0
.
114 nahe am linken Rand des Wertebereichs
liegt. Dieses Szenario ist durchaus praxisrelevant und kann eine Schwierigkeit für die
Optimierungsverfahren darstellen. So kommt es beispielsweise oft beim Hyperparameter-
tuning für die SVM vor, dass die optimale Parametereinstellung für
(Kernelbreite) mit
größeren Datenumfängen kleiner wird und nahe am Rand des für die Suche eingestellten
Hyperparameterbereiches liegt. Die Funktionenschar für den mfMBO Algorithmus wird
durch eine Verschiebung auf der x- und y-Achse erzeugt.
fl(x, c)=fm(xc·(1 pl)) + c·(1 pl)(7.9)
Für die Werte
c
=(1
,
0
.
7
,
0
.
5
,
0
.
2) und
p
=(0
.
1
,
0
.
2
,
0
.
5
,
1) sind die Funktionsscharen
in Abbildung 8 abgebildet. Der Hyperparameterraum wird im eindimensionalen Fall
auf
X
=[0
,
15] festgelegt und im dreidimensionalen Fall auf
X
=[0
,
15]
[0
,
15]
[0,15].
Die Schwierigkeit der Funktionenschar für den Algorithmus ist hier - trotz starker
Korrelation der Response Surfaces - die leichte Verschiebung auf der
y
-Achse zu erkennen,
und auf dem Highest Fidelity Level nah am Rand des Wertebereichs das Optimum zu
finden.
44
7.1 Deterministische Zielfunktionen
x1
x2
x3
4
3
2
1
0
1
4
3
2
1
0
1
4
3
2
1
0
1
4
3
2
1
0
1
0.0 2.5 5.0 7.5 10.00.0 2.5 5.0 7.5 10.00.0 2.5 5.0 7.5 10.0
x
y
p
0.1
0.2
0.5
1
Hartman 3D
Abbildung 8:
Auf der Vertikalen sind die unterschiedlichen Verschiebungsintensitäten
c
dargestellt.
Auf der Horizontalen sind die Querschnitte durch die Response Surface jeweils durch die
x-Koordinaten, an denen das Minimum angenommen wird. Gut zu erkennen ist, dass
für
c
=1die Lower Fidelity Level kaum repräsentativ für die eigentliche Zielfunktion
sind. Eine Schwierigkeit der Hartman Funktion im Mehrdimensionalen ist der sehr
schmale Bereich, in dem das Optimum auf der x2und x3-Achse liegt.
7.1.3 Auswertung
Die Optimierungsverfahren mfMBO,
mlrMBO
und die Random Search werden angewen-
det um die in Abschnitt 7.1.1 und 7.1.2 definierten deterministischen Funktionen zu
minimieren. Dabei spielen die erzeugten Funktionsscharen (siehe Funktionen 7.3 und 7.9
sowie Abbildungen 7 und 8) lediglich für mfMBO eine Rolle um verschiedene Gütestufen
der Lower Fidelity Funktionen zu simulieren.
Im ein- und zweidimensionalen Fall beträgt die Anzahl der Punkte im initialen Design 16.
Für den dreidimensionalen Fall 30. In allen Fällen wurden 20 Optimierungsiterationen
45
7 Experimente
nach dem initialen Design durchgeführt. Die Random Search wurde entsprechend mit
36 und 50 Auswertungen durchgeführt.
Um die Zuverlässigkeit dieser Ergebnisse zu bestätigen, wurde die Optimierung 50-fach
wiederholt durchgeführt. Die Ergebnisse dieser Studie sind in Abbildung 9 gezeigt.
Der Vergleichswert ist der
y
-Wert, den 90% der Wiederholungen erreicht haben. Im
eindimensionalen Fall der Sasena und der Hartman Funktion können die modellbasierten
Optimierungsverfahren mfMBO und
mlrMBO
zuverlässig das Minimum finden. Die
Random Search erreicht nur unzuverlässig das Minimum. Die Ergebnisse von
mlrMBO.l
zeigen wo die Minima auf dem Lowest Fidelity Level liegen. Im zweidimensionalen
Fall der Hartman Funktion zeigen sich bereits erste Schwierigkeiten des schmalen
Tals, die jedoch von mfMBO zumindest in 50% der Fälle überwunden werden können,
wohingegen
mlrMBO
und die Random Search auf dem Highest Fidelity Level alleine
scheitern. Oensichtlich können die Lower Fidelity Funktionen durch das etwas breitere
Tal wertvolle Informationen zur Exploration des Higher Fidelity Levels beitragen. Den
dreidimensionalen Wertebereich konnte kein Algorithmus unter dem gegebenen Budget
ausreichend explorieren.
46
7.1 Deterministische Zielfunktionen
mfMBO mlrMBO mlrMBO.l rndSearch
7.92
7.94
7.96
7.98
8.00
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
c
y
Sasena 1D
mfMBO mlrMBO mlrMBO.l rndSearch
3.8
3.7
3.6
3.5
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
c
y
Hartman 1D
mfMBO mlrMBO mlrMBO.l rndSearch
4
3
2
1
0
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
c
y
Hartman 2D
mfMBO mlrMBO mlrMBO.l rndSearch
4
3
2
1
0
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
0.2
0.5
0.7
1
c
y
Hartman 3D
Abbildung 9:
Die Ergebnisse der wiederholt ausgeführten Opimierung auf den deterministischen
Zielfunktionen: Das +markiert den
y
-Wert der in 90% der Wiederholungen mindestens
erreicht wurde;
markiert den Median. Wichtig zu bemerken ist, dass für die Random
Search und für mlrMBO der Wert ckeinen Einfluss hat.
7.1.4 Analyse
In diesem Abschnitt soll beispielhaft betrachtet werden, wie der mfMBO Algorithmus
auf den vorgestellten deterministischen Funktionen arbeitet.
In den Tabellen 4, 5, 6, 7 ab Seite 73 sind die Ergebnisse der verschiedenen Optimie-
rungsverfahren auf der Sasena und den Hartman Funktionen exemplarisch für eine
Durchführung aufgelistet. Für die
y
-Werte sind die Abweichungen vom tatsächlichen
47
7 Experimente
Minimum
yú
sowie die Abweichungen vom
x
-Wert zur Minimumstelle
xú
angegeben.
Zusätzlich ist angegeben, wie oft auf welchem Fidelity Level evaluiert wurde und wie
hoch dementsprechend die theoretischen Kosten sind. In den eindimensionalen Fällen
hat das
c
kaum einen Einfluss darauf, wie oft mfMBO auf welchen Leveln auswertet.
Für den zweidimensionalen Fall der Hartman Funktion ist jedoch ersichtlich, dass mit
größerem
c
mfMBO die geringere Repräsentativität der Lower Fidelity Level erkennt
und auf die genaueren Higher Fidelity Level springt.
Um genauer zu sehen, warum mfMBO scheitert, kann beispielhaft der Zustand nach
Durchführung aller Iterationen für den Fall der zweidimensionalen Hartman Funktion
mit
c
=1in Abbildung 20 (S. 65) betrachtet werden sowie die Zustände in den einzelnen
Schritten in Abbildung 21. Oensichtlich ist es problematisch, wenn die Berechnung des
Expected Improvement auf dem Highest Fidelity Level scheitert. Numerische Ungenau-
igkeiten im Krigingmodell des
R
-Pakets
DiceKriging
können dazu führen. In diesem
Fall wird der nächste auszuwertende Punkt zufällig bestimmt. Im Laufe der Iterationen
der modellbasierten Optimierer kann dies in einzelnen Schritten geschehen und bei
einer höheren Anzahl an Iterationen „fängt“sich das Modell wieder und kann sinnvolle
Prognosen erzeugen.
7.2 Hyperparameteroptimierung
Der zentrale Bestandteil dieser Arbeit ist, den mfMBO Algorithmus zur Hyperparame-
teroptimierung von Machine Learning Verfahren zu nutzen. Als Beispielszenario wurde
das Tuning einer SVM für Klassifikations- und Regressionsdatensätze gewählt. Die zu
optimierende Zielfunktion ist die, auf der inneren Validierung ermittelte, Performance.
Für die innere Validierung wird aus Gründen der Laufzeit die Holdout-Validierung
mit einem
2
/3
Trainingsdatensplit verwendet. Es kann davon ausgegangen werden, dass
das Surrogatmodell mit der dadurch erhöhten Varianz der Zielfunktion umgehen kann.
Das Performancemaß für die Klassifikation ist die relative Fehlklassifikationsrate (
mmce
)
und für die Regression die mittlere quadratische Abweichung (
mse
). Die zu tunenden
Hyperparameter sind reelwertig und der zu explorierende Hyperparameterbereich ist für
den Kostenparameter
C
, die Kernelbreite
und den
tolerance
-Parameter festgelegt
48
7.2 Hyperparameteroptimierung
als
Cœ[215,210]¥[3.05 ·105,1024] (7.10)
œ[210,26]¥[9.77 ·104,64] (7.11)
tolerance œ[log(1 + 211),log(1 + 22)] ¥[2.12 ·104,0.0969] (7.12)
mit dem für die SVM-Regression zusätzlichen Parameter
œ[210,20]¥[9.77 ·104,1] .(7.13)
Damit bietet sich das Kriging mit Schätzung des Nugget Eekts als Lernverfahren für
das Surrogatmodell an.
Informationen zu den verwendeten Datensätzen finden sich in Tabelle 2 und 3 in Anhang
auf Seite 72. Für die Regression wurden 2Datensätze mit
n
=8192Beobachtungen und
8bzw. 32 Features gewählt. Für die Klassifikation haben die Datensätze eine Größe
von etwa
n
=10000bis etwa 110000 Beobachtungen bei bis zu 300 Features. Es liegen
binäre und Mehrklassenprobleme gemischt vor.
Für einen fairen Vergleich wird jedes Hyperparametertuning über die äußere 10-fache
Kreuzvalidierung 10-fach wiederholt und die durch die Optimierung ermittelten Hyperpa-
rametereinstellungen auf den jeweiligen Testdatensätzen angewandt, um die Performance
zu ermitteln. Für jede dieser Ausführungen sind einheitliche Zeitbudgets vorgegeben. So
ist es möglich, die Ergebnisse der Algorithmen unter konstanten Kosten zu vergleichen
und es wird kein Algorithmus durch längere Laufzeiten bevorzugt oder umgekehrt
benachteiligt.
Für die kleineren
Regressionsdatensätze
wurde das Budget wie folgt festgelegt:
1. Gesamtausführungszeit der Zielfunktion: 10 Minuten
Dieses Stopp-Kriterium vernachlässigt den Overhead an Rechenzeit des Algorith-
mus selbst und berücksichtigt lediglich die Evaluationszeit der Zielfunktion. Im
Speziellen ist dies hier die benötigte Zeit zum Lernen der SVM.
2. Gesamtausführungszeit des Algorithmus: 7 Stunden
Bei einer hohen Anzahl an Iterationen des Algorithmus kann der Overhead sehr
groß werden. In diesem Fall kann die Gesamtausführungszeit die durch die Infra-
struktur maximal erlaubte Rechenzeit überschreiten und es kann kein Ergebnis
49
7 Experimente
zurückgegeben werden, da der Algorithmus nicht terminiert ist. Um dies zu ver-
meiden, wird der Algorithmus nach 7 Stunden planmäßig terminiert.
Für die größeren
Klassifikationsdatensätze
wurde das Budget wie folgt festge-
legt:
1. Gesamtausführungszeit der Zielfunktion: 4 Stunden
2. Gesamtausführungszeit des Algorithmus: 24 Stunden
Der mfMBO Algorithmus wird in verschiedenen Konfigurationen getestet. Im Folgenden
sollen alle gebenchmarkten Optimierungsverfahren kurz erläutert werden:
1. RandomSearch
Die gewöhnliche Random Search ohne spezielle Anpassungen: Hy-
perparametereinstellungen werden unabhängig voneinander gezogen und evaluiert.
2. RandomSearch.l
Das Tuning des Lerners findet unter Verwendung des Downsamp-
lings (siehe 5.3.2) statt. Die Modellbildung in der inneren Validierung findet auf
10% der Trainingsdaten statt. Die gefundene optimale Hyperparametereinstellung
wird verwendet um das Modell mit dem kompletten Trainingsdaten der äußeren
Validierung zu lernen.
3. mlrMBO
Die parEGO Implementierung aus dem
R
-Paket
mlrMBO
in der Standard-
konfiguration für verrauschte Zielfunktionen und dem EI als Infill-Kriterium.
4. mlrMBO.l Analog zu RandomSearch.l für mlrMBO .
5. mfMBO
Die Implementation des mfMBO Algorithmus wie in Kapitel 5.2 beschrieben.
Die Stichproben-Level werden mit p=(0.1,0.2,0.5,1) gebildet.
6. mfMBO.low
Diese Anpassung von mfMBO besteht darin, dass mehrere Level auf
kleinen Stichproben gebildet werden:
p
=(0
.
025
,
0
.
05
,
0
.
1
,
0
.
2
,
1). Für besonders
große Datensätze ist es interessant zu sehen, ob diese Wahl der Stichprobengrößen
durch tendenziell günstigere Level eine bessere Exploration des Hyperparameter-
raums und dadurch ein letztendlich besseres Optimierungsergebnis ermöglicht.
7. mfMBO.fixedCost
Werden in den obigen Konfigurationen von mfMBO die Eva-
luationskosten
Cl
(
x
)anhand der bisherigen Ausführungszeiten der Zielfunktion
für neue Punkte
x
geschätzt, so sind diese hier für die Level fest mit
C1
(
x
)=
0
.
1
2,C
2
(
x
)=0
.
2
2,C
3
(
x
)=0
.
5
2
und
C4
(
x
)=1vorgegeben. So soll verglichen
werden, ob teure aber gute Hyperparametereinstellungen durch das Kostenmodell
benachteiligt werden.
50
7.2 Hyperparameteroptimierung
Der Konstruktor der Kontrollobjekte ist in Abschnitt A.3 im Anhang zu finden. Das
initiale Design für den dreidimensionalen Hyperparameterraum der Klassifikation wird
auf jeweils 16 und für den vierdimensionalen Hyperparameterraum der Regression auf
30 Punkten berechnet.
7.2.1 Auswertung
Im Folgenden werden die im vorherigen Teil beschriebenen Optimierungsverfahren in den
genannten Konfigurationen auf den in Tabelle 2 und 3 gelisteten Regressions- bzw. Klas-
sifikationsdatensätzen zur Optimierung der Hyperparameter der SVM ausgeführt. Die
verschachtelte Kreuzvalidierung wird mit
mlr
[6] unter Nutzung des
tuneWrapper
durch-
geführt. Das zu tunende Lernverfahren ist die durch das
R
-Paket
e1071
bereitgestellte
svm
. Diese stammt wiederum aus dem
LIBSVM
[9] Projekt und kann als Standardimple-
mentierung der SVM betrachtet werden.
Die Ergebnisse der 10-fach kreuzvalidierten Optimierung sind in den Boxplots in Ab-
bildung 10 und gemittelt in Tabelle 8 (Seite 75) dargestellt. Auf den kleineren
Re-
gressionsdatensätzen
kann der mfMBO Algorithmus die Random Search und
mlrMBO
nicht schlagen, obwohl das Lowest Fidelity Level für
kin8nm
sehr repräsentativ für das
Highest Fidelity Level zu sein scheint, wie dem Ergebnis von
mlrMBO.l
zu entnehmen
ist. Trotz etwa 4 (
kin8nm
) bis 6 (
puma32H
) mal so vieler Zielfunktionsauswertungen
konnte mfMBO dies nicht ausnutzen. Für den
puma32H
Datensatz ist zu erkennen, dass
mfMBO zwar ein besseres Ergebnis erreicht als die Optimierer auf dem Lowest Fidelity
Level, aber trotzdem die Ergebnisse der Optimierung auf dem Highest Fidelity Level
nicht erreichen kann.
Auf den größeren
Klassifikationsdatensätzen
liefert mfMBO im Vergleich bessere
Ergebnisse wie Abbildung 11 und Tabelle 9 (Seite 76) zu entnehmen ist. Insbesondere
mfMBO.low
liefert durchgängig gute Ergebnisse. Auch eine schlechte Repräsentativität
des Lowest Fidelity Levels wie bei dem
electricity
Datensatz kann mfMBO hier
abfangen. Für die besonders großen Datensätze
w8a
und
covtype
kann mfMBO in-
nerhalb der gegebenen Zeit ein Tuningergebnis berechnen, wohingegen
mlrMBO
bereits
für die Berechnung des initialen Designs das Budget überschreitet und somit nicht
terminieren kann. Für den
covtype
Datensatz ist anzumerken, dass keine mfMBO
Variante eine große Anzahl an Iterationen im Tuning durchführen konnte und somit der
51
7 Experimente
kin8nm, mse puma32H, mse
0.0050
0.0075
0.0100
0.0125
0.0150
3e04
4e04
5e04
6e04
7e04
8e04
Algorithmus
value
Algorithmus
mfMBO
mfMBO.fixedCosts
mfMBO.low
mlrMBO
mlrMBO.l
RandomSearch
RandomSearch.l
Performance Regression
Abbildung 10:
Der mittlere quadratische Fehler in der äußeren Kreuzvalidierung mit den getunten
Parametern: Für den
kin8nm
Datensatz scheint das Lowest Fidelity Problem sehr
repräsentativ für den kompletten Trainingsdatensatz zu sein. Dies gilt weniger für
puma32H. Hier hat mlrMBO einen deutlichen Vorsprung.
Hyperparameterraum nicht ausführlich exploriert wurde. Insbesondere ist die Zahl der
auf dem Highest Fidelity Level evaluierten Hyperparameterpunkte sehr gering. Da nach
Vereinbarung des Algorithmus nur diese Punkte als Ergebnis zurückgeliefert werden
dürfen, können am Ende die besten Kandidaten meist nicht als Ergebnis zur Verfügung
stehen.
7.2.2 Analyse
Trotz hoher Repräsentativität des Lowest Fidelity Levels beim
kin8nm
Datensatz kann
mfMBO hier nicht das beste Tuning-Ergebnis liefern. Auch die Verläufe der Performance
auf der inneren Validierung in Abbildung 22 zeigen, dass der Vorsprung von
mlrMBO
jederzeit gegeben ist - wenn auch in den späteren Iterationsschritten sehr knapp. Es kann
vermutet werde