1. 程式人生 > >集成學習

集成學習

集成學習

1. 什麽是集成學習?

集成學習通過構建並結合多個學習器來完成學習任務,有時也被稱為多分類器系統。

基於同種類型的個體學習器,這樣集成是同質,不同種類型的個體是異質的。

2. 集成學習方法大致分為哪兩大類?

個體學習器間存在強依賴關系,必須串行生成的序列化方法,前者的代表是Boosting族。個體學習器不存在強依賴關系,可同時生成的並行化方法,後者的代表是Bagging和隨機森林。

Boosting是一族可將弱學習器提升為強學習器的算法。這族算法的工作機制相似:先從初始訓練集訓練出一個基學習器,在根據基學習器的表現對訓練樣本分布進行調整,使得先前基學習器的訓練樣本在後續受到更多關註,然後基於調整後的樣本分布來訓練下一個基學習器;如此重復進行,直至基學習器數目達到事先指定的值

T,最終將這個T個基學習器進行加權結合。Boosting族中算法最著名的代表是AdaBoost

Bagging是並行式集成學習方法最著名的代表。給定包含m個樣本的數據集,我們先隨機取出一個樣本放入采樣集中,在把該樣本放回初始數據集,使得下次采樣時該樣本任有可能被選中,這樣經過m次隨機采樣操作,我們得到含m個樣本的采樣集。Bagging對含m個訓練樣本的采樣集,然後基於每個采樣集訓練出一個基學習器,在將這些基學習器進行結合。這就是Bagging的基本流程。Bagging通常對分類任務使用簡單投票法,對回歸任務使用簡單平均法,若分類預測時出現兩個收到同票的情形,則最簡單的做法是隨機選擇一個,也可進一步考察學習器投票的置信度來確定最終勝者。

隨機森林(Random ForestBagging的一個擴展變體。RF在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。具體來說傳統決策樹在選擇劃分時是在當前結點的屬性集合中選擇一個最優屬性,而在RF中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含K個屬性的子集,然後在從這個子集中選擇一個最優屬性用於劃分。這裏的參數K控制了隨機性的引入程度。

3. 組合策略?

假定集成包含T個基學習器{h1,h2.ht}其中hi在示例x上的輸出為hi(x)

1. 簡單平均法(個體學習器性能相差不大時宜使用加權平均法)。

2. 加權平均法(個體學習器性能相差較大時宜使用加權平均法)。

3. 絕對多數投票

4. 相對多數投票

5. 加權投票

4. 多樣性

欲構建泛化能力強的集成,個體學習器應好而不同。現在我們來做一個簡單的理論分析。

5. 多樣性度量

6. AdaBoost改進與推廣主要在三個方面:

1. 改進AdaBoost的樣本權值調整策略。

2. Adaboost算法的訓練速度進行改進,提出對權重小的樣本進行裁剪以及減少樣本數來縮短訓練時間。

3. AdaBoost與各種具體訓練方法結合方面的討論。

7. 組合分類器最重要的是同時滿足精確和相異兩個特征。

集成分類一般包含兩個階段,即基分類器的生成階段和組合階段。對於給定的問題,不同的生成方式和不同的組合方式會得到不同的集成效果。

如何生成差異很大的基分類器?

1. 是特征選擇?

可以用不同的方法,如卡方統計量,信息熵方法以及互信息和期望交叉熵等方法生成不同的特征。來產生差異性。

還可以這樣搞,隨機的選擇m/T個類,在這個m/T個類中,隨機選擇30%的作為測試樣本,而在其他類中,隨機選擇70%的樣本,構成新的訓練子集。進行T此操作。

2. 2.是選擇性集成

差異度如何度量呢?


本文出自 “簡答生活” 博客,謝絕轉載!

集成學習