2016-10-11 180 views
0

我想了解堆棧是如何工作的,但到目前爲止我不確定是否理解正確。因此,這裏是迄今爲止我是這麼理解:堆棧,堆棧泛化算法

  1. 我們培養每個ķ基學習(0級),具有完整數據集。

  2. 我們讓每個基礎學習者預測整個數據集。

  3. 我們從基礎學習者的所有預測中創建一個新的數據集。新的數據集看起來像我們的原始數據集+每個基礎學習者的預測。

  4. 該數據集用於培訓元學習者(1級)。

我的問題:

  1. 這是到目前爲止,正確嗎?
  2. 我經常讀到交叉驗證是以某種方式用於堆棧,但我無法弄清楚,它是如何使用的?或者它甚至是一個重要的部分,我錯過了?

非常感謝

回答

3

你的理解是正確的大部分!在

新的數據集看起來像我們的原始數據集+每個基礎學習者的預測。

一個可以使用每個基學習的原有特色+預測,但是當人們談論他們通常使用每個基學習的只是預測堆疊。

我經常讀到,交叉驗證是以某種方式用於堆棧,但我不明白,它是如何使用的?或者它甚至是一個重要的部分,我錯過了?

是的,交叉驗證通常用於堆疊。當你按照你所描述的那樣做時,會發生什麼情況呢?元模型(你稱之爲第一級)可能會過度擬合基礎模型的預測,因爲每個預測都會看到整個數據集。

因此,您所做的是交叉驗證,並將數據分解爲k-fold。您使用第k次展示的預測(循環遍歷所有k個展開的摺疊)以獲得(預期)無偏估計,以預測未預見數據的模型。然後你將元模型適用於那些(不存在交叉驗證)。