當訓練資料很多時,一種更為強大的結合策略就是使用「學習法」,即通過另乙個學習器來進行結合。stacking 是學習法的典型代表。這裡我們把個體學習器稱為初級學習器,用於結合的學習器稱為次級學習器或者元學習器。
stacking先從初始資料集訓練出初級學習器,然後「生成」乙個新資料集用於訓練次級學習器。在這個資料集中,初級學習器的輸出被當成樣例輸入特徵,而樣本的標記仍然被當成樣例標記。初級整合可以是同質的也可以是異質的。
在訓練階段,次級訓練集合是利用初級學習器產生的。若直接用初級學習器的訓練集來產生次級訓練集,則過擬合的風險會比較大。因此一般是通過使用交叉驗證或者留一法這樣的方式,用訓練初級學習器未使用的樣本來產生次級學習器的訓練樣本。 以k
k
折交叉驗證為例,初始訓練集合
d' role="presentation" style="position: relative;">d
d被隨機劃分為
k k
個大小相似的集合d1
,d2,
…,dk
' role="presentation" style="position: relative;">d1,
d2,…
,dkd
1,d2
,…,d
k。令dj
d
j和d¯
j=d∖
djd ¯j
=d∖d
j分別表示第
j j
折的測試集和訓練集。
學習法Stacking 機器學習
前面的博文中我們介紹了boosting和bagging兩種整合學習方法,這篇博文中我們繼續學習其他的整合學習方法。當訓練資料很多的時候,一種更為強大的結合策略是使用 學習法 即通過另外乙個學習器來進行結合。stacking是學習的典型代表。在學習法中將個體學習器稱為初級學習器,用於結合的學習器稱為次...
整合學習 stacking
參考文獻 stacking具體的演算法流程 以上圖為例,我們現在有訓練集train x,train y,測試集test 我們首先選擇一種模型比如隨機森林rf。未經訓練 這裡假設把訓練集均分成5份,把其中四份作為小的訓練集s train x,s train y另外乙份作為小的測試集s test,測試集...
整合學習 Stacking
在整合學習中,結合策略也是影響整合模型效能的重要因素之一。傳統的結合策略有多數投票 加權平均等。stacking的本質是設計合適的結合策略,達到比傳統結合策略更優的整合效果。首先,stacking訓練一組基學習器,用以參與後續的整合構建。其次,演算法將這些學習器的輸出和期望的樣本標籤視為新的學習任務...