Lambda-Bereich in elastischer Netzregression

9

Angesichts der elastischen Netzregression

minb12||yXb||2+αλ||b||22+(1α)λ||b||1

Wie kann ein geeigneter Bereich von λ für die Kreuzvalidierung ausgewählt werden?

Im Fall α=1 (Gratregression) die Formel

dof=jsj2sj2+λ

kann verwendet werden, um für jedes Lambda äquivalente Freiheitsgrade anzugeben (wobei sj die singulären Werte von X ), und Freiheitsgrade können in einem vernünftigen Bereich gewählt werden.

Im Fall α=0 (Lasso) wissen wir das

λ>λmax=maxj|tytXtj|

führt dazu, dass alle bj Null sind und λ in einem bestimmten Bereich ausgewählt werden kann (0,λmax) .

Aber wie geht man mit dem gemischten Fall um?

Chris Taylor
quelle

Antworten:

4

Ich denke, Sie sollten einen Bereich von bis verwenden0

λmax=11αλmax

Meine Argumentation stammt aus der Erweiterung des Lasso-Falls, und eine vollständige Ableitung finden Sie weiter unten. Das Qualifikationsmerkmal ist, dass es die -Einschränkung, die durch die Regularisierung verursacht wird, nicht erfasst . Wenn ich herausfinde, wie das behoben werden kann (und ob es tatsächlich repariert werden muss), komme ich zurück und bearbeite es.dof2


Definieren Sie das Ziel

f(b)=12yXb2+12γb2+δb1

Dies ist das von Ihnen beschriebene Ziel, wobei jedoch einige Parameter ersetzt wurden, um die Klarheit zu verbessern.

Herkömmlicherweise kann nur dann eine Lösung für das Optimierungsproblem wenn der Gradient bei Null ist. Der Term ist jedoch nicht glatt, so dass die Bedingung tatsächlich ist, dass im Subgradienten bei .b=0minf(b)b=0b10b=0

Der Subgradient von istf

f=XT(yXb)+γb+δb1

wobei den Subgradienten in Bezug auf . Bei wird diesbb=0

f|b=0=XTy+δ[1,1]d

Dabei ist die Dimension von und a ein dimensionaler Würfel. Damit das Optimierungsproblem eine Lösung von , muss es so seindb[1,1]ddb=0

(XTy)iδ[1,1]

für jede Komponente . Dies entsprichti

δ>maxi|jyjXij|

Dies ist die Definition, die Sie für . Wenn jetzt eingetauscht wird, fällt die Formel oben im Beitrag heraus.λmaxδ=(1α)λ

Andy Jones
quelle