高階演算法梳理 Task1 整合學習及隨機森林演算法

2021-09-22 10:22:15 字數 3323 閱讀 8811

本文依據周志華西瓜書及多個相關博文總結而成.

整合學習(

ensemble learning) 通過構建並結合多個學習器來完成學習任務,其組成結構是

:先產生一組個體學習器

individual learning

再用某種策略將他們結合起來.

整合學習通過將多個學習器進行結合

,常可獲得比單一學習器顯著優越的泛化效能.要獲得好的效能,學習器應該好而不同

,學習器要有一定的準確性

,不能太壞

否則整合起負作用

,個體學習器還要有多樣性(

diversity),

之間具有差異,否則整合不起作用.

整合學習兩大類:boosting個體學習器之間強依賴,必須序列生成的序列化方法.bagging和隨機森林(randomforest)個體學習器之間不存在強依賴,可以同時生成的並行化方法。

個體學習器就是用訓練資料用乙個已有的演算法訓練產生.

同質(homogeneous)指一組個體學習器中所有學習器的型別相同.同質整合中的個體學習器稱為基學習器

(base learner) 相應的學習演算法稱為基學習演算法 (base learning algorithm) .

異質(heterogenous)指整合的個體學習器不同.異質整合中的個體學習器的學習演算法不同

, 其中的個體學習器也稱為元件學習器(

component learner).

boosting是一族將弱學習器提公升為強學習器的演算法

工作機制:先從初始訓練集中訓練出乙個基學習器,根據基學習器表現對樣本進行調整,提高在訓練集中做錯的樣本的關注來訓練下乙個基學習器。重複進行直到基學習器數目達到事先指定的值t,最終將t個基學習器進行加權結合

存在問題:在訓練的每一輪都要檢查當前生成的基學習器是否滿足基本條件,檢查當前基分類器是否是比隨機猜測好

,一旦條件不滿足

,則當前基學習器即被拋棄且學習過程停止

,初始設定的學習輪數

t也許遠未達到

,可能導致包含很少的基學習器而效能不佳.

解決方法:

採用重取樣

,可獲得重啟動機會以避免訓練過程過早停止

,即在拋棄不滿足條件的當前基學習器後

,根據當前分布重新對訓練樣本進行取樣

,再基於新的取樣結果重新訓練出新的基學習器.

boosting

主要關注偏差.代表演算法是adaboost.

關於adaboost演算法詳情參考博文<

adaboost演算法原理分析和例項+**(簡明易懂)

>

bagging採用自助取樣法

(bootstrap sampling)

即放回取樣

,有的樣本多次出現

.取樣出t個含

m個訓練樣本的取樣集

(初始訓練集中約有

63.2%

的樣本出現在取樣集

t中,剩下的約

36.8%

的樣本可作為驗證集

),然後基於每個取樣集訓練出乙個基學習器

,再將這些基學習器進行結合.

bagging複雜度為

t(o(m)+o(s)),

其中取樣與投票

/平均過程的複雜度

o(s)

很小,t是乙個不大的常數,

bagging整合與直接使用基學習演算法訓練乙個學習器的複雜度同階,因而高效。

bagging

主要關注降低方差,在不剪枝決策樹、神經網路等易受樣本擾動的學習器上效用更為明顯。

結合策略

學習器結合的好處:

(1)統計的原因:如果有多個假設在訓練集上達到同等效能,使用單學習器可能因誤選而導致泛化效能不加,結合多個學習器可以減小該風險.

(2)計算的原因:學習演算法會陷入區域性極小,而區域性極小有可能導致泛化效能差,結合多個學習器降低陷入糟糕區域性極小點的風險.

(3)表示的原因:某些學習任務的真實假設不在當前學習演算法的假設空間中,此時使用單個學習器肯定無效。結合多個學習器可以擴大相應的假設空間,有可能學到更好的近似。

平均法: 簡單平均

其中wi是個體學習器hi的權重(>=0).加權平均法未必一定優於簡單平均法。在個體學習器效能相差較大時宜使用加權平均法,效能相近時宜使用簡單平均法.

投票法:

絕對多數投票法(majority,voting):

相對多數投票法(plurality voting):

加權投票法(weightedvoting):

學習法:通過另乙個學習器(次級學習器或元學習器(meta-learner))來結合多個學習器(初級學習器)。其代表stacking.

stacking先從初始資料集訓練處初級學習器,然後「生成」乙個新資料集用於訓練次級學習器,在這個新資料集中,初級學習器的輸出被當作樣例輸入特徵,而初始樣本的標記仍被當做樣例標記。

注意點:若直接使用初級訓練集來產生次級訓練集,則過擬合風險會比較大。一般通過使用交叉驗證或留一法。

隨機森林(randomforest):是以決策樹為基學習器構建bagging整合的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。

隨機森林和bagging區別:傳統決策樹在選擇劃分屬性時是在當前結點的屬性集合(假定有d個屬性)中選擇乙個最優屬性,而在隨機森林中對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇乙個包含k個屬性的子集,在從中選擇乙個最優屬性使用者劃分。引數k控制了隨機性的引入程度:若令k=d,則基決策樹的構建與傳統決策樹相同。若令k=1,則隨機選擇乙個屬性用於劃分。推薦k=log2d。bagging中基學習器的多樣性來自樣本擾動(對初始訓練集放回取樣),隨機森林中基學習器的多樣性不僅來自樣本擾動,還來自屬性擾動。若隨機森林中只包含乙個個體學習器,效能有所降低。隨著個體學習器增多,泛化效能更好。隨機森林的訓練效率優於bagging。bagging使用的是確定型決策樹,選擇劃分屬性時要對所有結點的所有屬性進行考察。隨機森林使用的隨機性決策樹則只需考察乙個屬性子集。

關於隨機森林演算法詳情可參考博文<

[machine learning & algorithm] 隨機森林(random forest)

>

TASK1 隨機森林演算法梳理

整合學習是訓練多個個體學習器 常為弱分類器 根據一定的結合策略形成乙個強監督模型,其思想是即便某乙個弱分類器得到了錯誤的 其他的弱分類器也可以將錯誤糾正回來。整合學習可用於分類問題整合,回歸問題整合,特徵選取整合,異常點檢測整合等等。根據個體學習器的生成方式分為 個體學習器間存在強依賴關係 必須序列...

Task1 隨機森林演算法梳理

整合學習的理論基礎是pac 理論 強可學習與弱可學習理論。整合演算法中主要分為bagging演算法與boosting演算法,boosting 提公升法 過程如下 bagging和boosting 的主要區別 主要區別 bagging boosting 樣本選擇 隨機有放回的取樣 bootstrapi...

Task1 線性回歸演算法梳理

1.有監督學習 訓練資料有標記 2.無監督學習 訓練資料沒有標記 3.泛化能力 學得模型適用於新樣本的能力 4.過擬合欠擬合 方差和偏差以及各自解決辦法 1 過擬合 當學習器把訓練樣本學得太好時,可能已經把訓練樣本自身的一些特點當作了所有潛在樣本都會有的一般性質,這樣就會導致泛化效能下降。解決方法 ...