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