2017-08-29 1 views
0

In Bezug auf h2o.glm lambda search not appearing to iterate over all lambdas, las ich die Frage als beschwert, dass Lambda zu hoch war; Sie haben versucht, early_stopping=F in der Hoffnung, dass das beheben könnte "Bug".Worauf müssen Sie bei der Kreuzvalidierung mit GLM Lambda Search achten?

Ist das ursprüngliche Verhalten nicht ein Feature, kein Bug? Und wenn das korrekt ist, sollten Sie immer early_stopping=T verwenden, wenn Sie die Kreuzvalidierung mit GLM verwenden, andernfalls ist die Fehlerschätzung aus der Kreuzvalidierung nutzlos; Sie riskieren auch Überanpassung.

(Meine Hauptfrage ist, ob mein Verständnis der Art, wie GLM und CV zusammenarbeiten, korrekt ist, aber ich wäre interessiert, wenn es noch andere Dinge gibt, auf die man bei der Verwendung von lambda_search und Kreuzvalidierung achten sollte.)

Antwort

2

H2O's Glm mit Lambda-Suche und Kreuzvalidierung sollte immer das beste Lambda basierend auf Kreuzvalidierung auswählen und das im zurückgegebenen (Haupt-) Modell verwenden. Die frühe Stopp-Option sollte keinen Einfluss auf das ausgewählte Lambda haben. Sein Zweck ist es, die Berechnung von Lambda-Modellen zu überspringen> am besten, da sie für das Hauptmodell nicht benötigt werden (wir berechnen immer noch Modelle für Lambdas <, da dies das Warmstart erlaubt und die starken Regeln voll ausnutzt).

Ich denke, das Verhalten mit early_stopping, das auf false gesetzt wird, sollte Modelle für alle lambdas berechnen, für den Fall, dass der Benutzer sie sehen/benutzerdefinierte Modellauswahl vornehmen möchte.

+0

Danke Tomas, das ist interessant. In der verknüpften Frage war das beste Lambda der 3 cv-Faltungen 0,011, 0,018, 0,016, aber das beste Lambda des Modells war 0,106 (d. H. 10 mal größer). Es sieht nicht so aus, als wäre es aufgrund der Kreuzvalidierung ausgewählt worden, aber ist das mit einigen ungewöhnlichen Daten noch möglich? (Oder ist das auch ein Symptom für den # 4858 early stopping bug?) –

Verwandte Themen