整合學習(一)

2021-07-28 11:44:30 字數 3077 閱讀 7349

整合學習通過構建並結合多個學習器來完成學習任務。整合學習通過將多個學習器進行結合,常獲得比單一學習器顯著優越的泛化效能。

根據個體學習器的生成形式,目前的整合學習方法大致分成兩類:個體學習器之間存在強依賴關係,必須序列生成的序列化方法。個體之間不存在強依賴關係,可以同時生成的並行化方法。前者的代表是

boosting

,後者的代表是

bagging

和隨機森林。

boosting:

(1)初始化訓練資料的權值分布。一般是等分布。

(2)     

(a)    使用有權值的訓練資料訓練出乙個基學習器.

(b)    計算其錯誤率(錯誤率跟權重結合在一塊).

(c)     根據其錯誤率計算出其該基學習器的線性加權的權重。

(d)    同時改變其訓練資料的樣本權重,被誤分類的資料權重得以加大。

(3)    重複(2),直到基學習器到達指定的數目。最終的學習器就是各個基學習器線性加權之和。

adaboost核心思想:改變訓練樣本的權重,使得被誤分類的樣本得以得到重視。adaboost算是boost演算法的乙個前向分布演算法的乙個個例。

adaboost損失函式為:指數損失函式,只適用於二分類。

提公升樹是以決策樹為基分類器的提公升方法,通常使用cart樹。針對不同問題的提公升樹學習演算法,主要區別在於使用的損失函式不同。

1)分類問題:指數損失函式。可以使用cart分類樹作為adaboost的基分類器,此時為分類提公升樹。

2)回歸問題:平方誤差損失函式。

3)決策問題:一般損失函式。

損失函式最小化方法

對於最開始提到的三種損失函式,其最小化方法各有不同。當損失函式為下面幾種函式時,最小化損失函式的方法如下:

1)指數函式

當損失函式為指數函式時,比如adaboost演算法的損失函式是指數函式,這時通過

前向分步

演算法來解決。

前向分布演算法在每輪迭代時,通過將上一輪所生成的模型所產生的損失函式最小化的方法來計算當前模型的引數。

2)平方誤差損失函式

在回歸樹提公升演算法中,遍歷當前輸入樣例的可能取值,將每種可能值計算一遍損失函式,最終選擇損失函式最小的值。(很原始)

在計算平方損失誤差時,可能出現殘差項(y-fm-1(x)),此時可以通過如下方法來進行優化:每一輪迭代是為了減小上一步模型的殘差,為了減少殘差,每次在殘差的負梯度方向建立乙個新的模型,這樣一步一步的使得殘差越來越小。

3)一般損失函式

對於一般損失函式,可以通過梯度下降的方法來使得損失函式逐步減小,每次向損失函式的負梯度方向移動,直到損失函式值到達谷底。

bagging與隨機森林

(1)bagging演算法就是通過自助取樣法(有放回的抽樣),生成不同的訓練資料集,每個訓練集生成乙個生成器,然後如果是分類問題,就利用投票法,如果是回歸問題就使用平均法。

自助取樣法給bagging帶來的好處就是:由於每個學習器只是使用了%63.2的資料,剩下的約%36.8的樣本可以用作驗證集來對泛化效能進行「包外估計」。總結就是:bagging通過樣本的擾動來進行整合學習。

(2)隨機森林(rf):

rf是bagging的乙個變體,rf在以決策樹為基學習器構建bagging整合的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。傳統決策樹是在選擇劃分屬性的時候是在當前結點的屬性集合中(假設有d個屬性)中選擇乙個最優屬性,而在rf中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇包含k個屬性的子集,然後再從這個子集中選擇乙個最優屬性用於劃分。這裡的引數k控制了隨機性的引入,若令k=d,那麼與傳統的決策樹一樣。一般情況下推薦k=logd;

隨機森林實現簡單,容易實現,計算開銷小,效能強大。與bagging 僅僅通過樣本的擾動(通過對初始訓練集採集)不同,隨機森林還加入了屬性的擾動。

隨機森林偽**:

(1)    隨機取樣:

(a)    行取樣。利用自主取樣法進行行取樣。

(b)    列取樣。從m個屬性中選取m個屬性。

(2)    完全**

對取樣後的資料採用完全**的方式建立出決策樹。

完全**:決策樹的某乙個節點要麼無法繼續**,要麼都指向同乙個類。

1、 在構建決策樹的過程中是不需要剪枝的。

2、 整個森林的樹的數量和每棵樹的特徵需要人為進行設定。

3、 構建決策樹的時候**節點的選擇是依據最小基尼係數的。

隨機森林優點:

(1)    適合做多分類,訓練和**速度快。

(2)    對訓練資料容錯能力強。是一種有效的估計缺失資料的一種方式,當資料集中存在大比例缺失資料時,仍然可以保持精度不變。

(3)    不容易產生過擬合。

(4)    容易實現

(5)    高維資料梳理能力強。

隨機森林的訓練效率常常優於bagging,因為在個體決策樹的構建過程中,bagging使用的是確定性決策樹,在選擇劃分屬性時要對節點的所有屬性進行考慮。而隨機森林使用的「隨機型」,決策樹只考慮乙個屬性子集。

整合學習帶來的好處:

(1)    首先,從統計的方面來看,由於學習任務的假設空間往往很大,可能有多個假設在訓練集上達到同等效能。,此時如果使用單學習器可能因誤選而導致泛化效能不佳,結合多個學習器可以減少這個風險。

(2)    從計算方面來講,學習演算法往往會陷入區域性極小,有的區域性極小點所對應的的泛化效能可能很糟糕。通過多次執行之後進行結合,可以降低陷入糟糕區域性極小點的風險。

(3)    從表示的方面來看,某些學習任務的真實假設可能不在當前學習演算法所考慮的假設空間中,此時使用單學習器肯定無用,而通過結合多個學習器,由於相應的假設空間有所擴大,有可能學得更好的近似。

(3)學習法

當訓練資料很多時,一種更為強大的結合策略是使用「學習法」,即通過另乙個學習器進行結合。stacking是學習法的典型代表。

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

1.劃分訓練資料集為兩個不相交的集合。

2. 在第乙個集合上訓練多個學習器。

3. 在第二個集合上測試這幾個學習器

4. 把第三步得到的**結果作為輸入,把正確的回應作為輸出,訓練乙個高層學習器。

機器學習之整合學習(一)

詳細參考 首先明確整合學習它本身不是乙個單獨的機器學習演算法,而是通過構建並結合多個機器學習器來完成學習任務。整合學習有兩個主要的問題需要解決,第一是如何得到若干個個體學習器,第二是如何選擇一種結合策略,將這些個體學習器集合成乙個強學習器。對於個體學習器第一種就是所有的個體學習器都是乙個種類的,或者...

機器學習 整合學習

1.理解什麼是整合學習 所謂 整合 是指同時構建多個學習器,這裡的學習器主要針對弱學習器。2.弱學習器主要是指泛化能力略優於隨機猜測的學習器,弱的相結合會得到更好的泛化能力。三個臭皮匠嘛!3那麼這些弱的摻雜起來為什麼會得到好的呢?主要思想就是投票法。所以呀我們要得到好的整合效果,必須要求個體學習器要...

機器學習 整合學習

一。概括 整合學習 ensemble learning 本身不是乙個單獨的機器學習演算法,而是通過構建並結合多個機器學習器來完成學習任務。可以用於分類問題整合 回歸問題整合 特徵選取整合 異常點檢測整合等等,可以說所有的機器學習領域都可以看到整合學習的身影。整合學習思想 對於訓練集資料,通過訓練若干...