• Keine Ergebnisse gefunden

3.3 Termselektionsalgorithmen

3.3.5 Grafting

Ein Nachteil der bisher betrachteten Termselektionsalgorithmen Forward Selec-tion und Backward EliminaSelec-tion ist, dass die Entscheidungen ¨uber die Aufnahme bzw. Entfernung eines Terms in jedem Iterationsschritt

”definitiv“ sind: Bei der Forward Selection verbleibt ein einmal aufgenommener Term im Modell, selbst wenn er sich im Verlaufe der Aufnahme weiterer Terme als ¨uberfl¨ussig heraus-stellt. Entsprechend kann bei der Backward Elimination ein einmal entfernter Term nicht wieder hinzugenommen werden. Mit der im vorigen Abschnitt be-schriebenen Methode des Sequential Replacement kann im Nachhinein versucht werden, Terme des Modells gegen m¨oglicherweise bessere Terme aus dem Kandi-datenpool auszutauschen. Einen anderen Weg geht das hier beschriebene Graf-ting-Verfahren14[60,61], bei dem die Forward Selection mit einerl1-regularisierten Kostenfunktion durchgef¨uhrt wird. Diese setzt sich zusammen aus einer Loss-Funktion (hier die quadratische Abweichung) sowie in der allgemeinsten Form je

14 Der Begriff leitet sich ab vongradient feature testing.

einem Term f¨ur einel0-, l1- und l2-Regularisierung: Alle Terme bis auf den der l0-Regularisierung sind konvex, so dass auch die ge-samte Kostenfunktion bei Verzicht auf diese Regularisierung konvex ist und ein globales Optimum besitzt, das mit gradientenbasierten Optimierungsverfahren erreicht werden kann. Der l0-Term hingegen ist nichtkonvex, was die Optimie-rung bedeutend komplexer macht. Daher wurde die l0-Regularisierung in dieser Arbeit nicht verwendet, so dass die Kostenfunktion nun

J = 1

lautet. Grafting ist ein iteratives Verfahren, bei dem in jedem Schritt versucht wird, aus dem Vorrat an Modelltermen den geeignetsten Kandidaten ins Mo-dell aufzunehmen. Die Trennung des gesamten Termvorrats in eine MoMo-dellmenge und einen Kandidatenpool, wie sie z.B. beim Sequential Replacement vollzogen wurde, entf¨allt hier allerdings. Vielmehr folgt das Verfahren der Beobachtung, dass ein Term gk aus der Menge der Kandidaten genau dann zum Modell ge-h¨ort, wenn sein linearer Koeffizient wk einen von Null verschiedenen Wert hat.

Der Grafting-Algorithmus funktioniert nun folgendermaßen: S¨amtliche verf¨ ug-baren (Kandidaten-)Terme bzw. ihre linearen Koeffizienten wj werden in zwei Klassen eingeteilt: F ist die Menge aller

”freien“ Terme, deren Koeffizienten im Laufe der Optimierung angepasst werden k¨onnen (das sind die Terme, aus de-nen das Modell im Moment besteht), w¨ahrend Z die Menge aller Terme bzw.

Koeffizienten bezeichnet, deren Werte fest auf Null gehalten werden und die so-mit momentan nicht zur Modellausgabe beitragen. Im k-ten Schritt wird nun versucht, einen Term ins Modell aufzunehmen, also eines der Gewichte aus Z nachF zu ¨uberf¨uhren. Nach Aufnahme des Terms wird die gesamte Architektur durch Minimierung von (3.130) bzgl. aller Koeffizienten wj mit j ∈ F optimiert, so dass anschließend gilt ∂J/∂wj = 0 ∀j ∈ F. Anstatt nun aber jeden Term aus Z einmal nach F zu ¨ubernehmen und die vollst¨andige Optimierung bzgl.

s¨amtlicher Modellkoeffizienten zu starten, um so den Term aus Z zu finden, der

(3.130) am st¨arksten reduziert, was einen sehr großen Rechenaufwand erfordern w¨urde, verwendet Grafting eine schnelle Heuristik, um den voraussichtlich be-sten Kandidat zu finden: Als solcher wird der Term gk angesehen, f¨ur den der Betrag der partiellen Ableitung der Kostenfunktion nachwkan der aktuellen Po-sition wk = 0 maximal ist. Dieser Term wird allerdings nur dann aufgenommen, wenn er tats¨achlich zu einer Verringerung der Kostenfunktion f¨uhrt, was durch die Regularisierung nicht zwangsl¨aufig der Fall ist. In Abschnitt 3.2.4.2 ¨uber die l1-Regularisierung wurde dargelegt, dasswk 6= 0 im Minimum von (3.130) genau dann gilt, falls die Bedingung

erf¨ullt ist. Andernfalls ist wk = 0 im Minimum von (3.130). Diese Bedingung kann zur Definition eines Subgradienten der Kostenfunktion f¨ur allewj verwendet werden:

Damit ist die Richtung des negativen Gradienten immer die Richtung des steilsten Abfalls der Kostenfunktion.

So wird nun imk-ten Grafting-Schritt f¨ur alle wj ∈ Z der Absolutwert|∂J/∂wj| berechnet und der Termgk bestimmt, f¨ur den dieser Ausdruck maximal ist. Falls f¨ur diesen Term das Aufnahmekriterium (3.131) erf¨ullt ist, wird dieser Term aus Z entfernt, zur Menge F der freien Modellterme hinzugef¨ugt und eine Optimie-rung aller Koeffizientenwj ∈ F durchgef¨uhrt. Andernfalls bricht der Algorithmus ab, da keine weitere Verbesserung des Modells m¨oglich ist. Im Zuge der Optimie-rung kann es vorkommen, dass einige der Koeffizienten wj ∈ F zu Null werden.

Diese werden dann aus F entfernt und wieder der Menge Z hinzugef¨ugt, fallen also aus dem Modell heraus. Dies l¨asst sich in der Praxis oft beobachten: Im Gegensatz z.B. zur Forward Selection verbleiben in fr¨uheren Iterationsschritten aufgenommene Terme nicht in jedem Fall im Modell, sondern k¨onnen sich im Laufe des Iterationsprozesses als ¨uberfl¨ussig erweisen und wieder aus dem

Mo-dell entfernt werden. Die Optimierung selbst kann mit einem gradientenbasierten Verfahren erfolgen, da nach der Erl¨auterung oben im Text klar ist, wie der Gra-dient der Kostenfunktion zu berechnen ist. Die Autoren von [60] schlagen hierzu das Broyden-Fletcher-Goldfarb-Shanno-Verfahren (kurz BFGS) vor [62, 63]. In der praktischen Anwendung kann es bei der Optimierung aufgrund der Unste-tigkeit der Ableitung des l1-Terms im Nullpunkt zu Problemen kommen, die es ggf. erforderlich machen, sehr klein werdende Koeffizienten explizit auf Null zu setzen. Als Startn¨aherung bei der Optimierung wird f¨ur den neuen Term dessen bisheriger Wert wk = 0 verwendet und f¨ur die ¨ubrigen Terme deren Endwerte nach der Optimierung aus dem vorigen Grafting-Schritt.

Algorithmus 3.4 Grafting

Require: Design-Matrix der Kandidatenterme G = (g1, . . . ,gP) ∈ RN×P, Mo-dellierungsziel y ∈RN, Regularisierungsparameter λ1, λ2 ≥ 0, Koeffizienten-vektor w(0)≡0∈RP, Iterationsz¨ahler l = 0.

1: repeat

2: {Bestimme den aussichtsreichsten Kandidatengk:}

3: ∀j ∈ Z : dj =|∂L(w¯ (l))/∂wj|

4: k= arg maxj∈Zdj

5: if dk > λ1 then

6: {Entfernek aus Z und f¨uge es zu F hinzu:}

7: Z ← Z \ {k}

8: F ← F ∪ {k}

9: Bestimme w(l+1) als Ergebnis der Minimierung von (3.130) bzgl. aller w(l)j mit j ∈ F unter Verwendung von (3.132).

10: {Falls bei der Optimierung Koeffizienten zu Null werden, entferne die entsprechenden Indizes aus F und f¨uge sie Z hinzu:}

11: I ={j ∈ F |wj(l+1)= 0}

12: F =F \ I

13: Z =Z ∪ I

14: end if

15: l←l+ 1

16: until(Z =∅oder es gibt keinwj mit j ∈ Z mehr, das die Bedingung (3.131) erf¨ullt.)

Damit die oben besprochene Heuristik, in jedem Grafting-Schritt den aussichts-reichsten Term basierend auf dem Betrag der Ableitung am Ortw= 0 zu