2017-08-29 66 views
0

關於h2o.glm lambda search not appearing to iterate over all lambdas,我讀到這個問題,抱怨lambda太高;他們試圖設置early_stopping=F,希望能解決這個「bug」。當使用GLM lambda搜索進行交叉驗證時,您需要注意什麼?

是不是原來的行爲是一個功能,而不是一個錯誤?如果這是正確的,那麼當使用GLM進行交叉驗證時,您應始終使用early_stopping=T,否則交叉驗證的錯誤估計是無用的;你也有過度裝修的風險。

(我的主要問題是,如果我對GLM和CV一起工作的方式的理解是正確的;但是如果在使用lambda_search和交叉驗證時需要注意任何其他事情,我會感興趣。)

回答

2

H2O的glm與lambda搜索和交叉驗證應該總是選擇最好的基於交叉驗證的lambda並在返回的(主)模型中使用它。提前停止選項應該對選定的lambda沒有影響。它的目的是跳過lambdas模型的計算>最好,因爲它們不是主要模型所需要的(我們仍然計算最適合lambda的模型,因爲它允許使用熱啓動並充分利用強有力的規則)。

我認爲將early_stopping設置爲false的行爲應該計算所有lambda表達式的模型,以防用戶想要查看它們/執行自定義模型選擇。

+0

感謝Tomas,這很有趣。在相關問題中,3 cv摺疊的最佳λ值爲0.011,0.018,0.016,但模型的最佳拉姆達值爲0.106(即10倍大)。它看起來不是基於交叉驗證挑選出來的,但是對於一些不尋常的數據,這仍然是可能的嗎? (或者這也是#4858早期停止錯誤的症狀?) –

相關問題