TASK1 隨機森林演算法梳理

2021-09-16 19:25:58 字數 2952 閱讀 4214

整合學習是訓練多個個體學習器(常為弱分類器),根據一定的結合策略形成乙個強監督模型,其思想是即便某乙個弱分類器得到了錯誤的**,其他的弱分類器也可以將錯誤糾正回來。整合學習可用於分類問題整合,回歸問題整合,特徵選取整合,異常點檢測整合等等。

根據個體學習器的生成方式分為:

個體學習器間存在強依賴關係、必須序列生成的序列方法。如:boosting

個體學習器間不存在強依賴關係、可同時生成的並行化方法。如:bagging 和隨機森林(rasdom forest)

個體學習器通常是用乙個現有的學習演算法從訓練資料產生,例如c4.5決策樹演算法、bp神經網路演算法等。此時整合中只包含同種型別的個體學習器,例如「決策樹整合」中的個體學習器全是決策樹,「神經網路整合」中就全是神經網路,這樣的整合是「同質」(homogeneous)的,同質整合中的個體學習器也稱為「基學習器」(baselearner),相應的學習演算法稱為「基學習演算法」(baselearning algorithm)。有同質就有異質(heterogeneous),若整合包含不同型別的個體學習器,例如同時包含決策樹和神經網路,那麼這時個體學習器一般不稱為基學習器,而稱作「元件學習器」(componentleaner)或直接稱為個體學習器。

boosting方法訓練基分類器時採用序列策略,各個基分類器之間有依賴。eg:adaboost 演算法、gbdt 演算法

基本思路:

每次學習都會使用全部訓練樣本

bagging在訓練時基分類器採用並行策略,最終根據基分類器的結果投票做出最終決策,典型的有基於決策樹基分類器的隨機森林(random forest)。

基本思路:

利用自助取樣法對訓練集隨機取樣,重複進行 t 次;基於每個取樣集訓練乙個基學習器,並得到 t 個基學習器;

**時,集體**投票決策****。

特點:

訓練每個基學習器時只使用一部分樣本

bagging方法是乙個集體決策的過程,每個個體都進行單獨學習,學習的內容可以相同,也可以不同,也可以部分重疊。但由於個體之間存在差異性,最終做出的判斷不會完全一致。在最終做決策時,每個個體單獨作出判斷,再通過投票的方式做出最後的集體決策。

整合學習的第二類模型,為了提高整合的泛化能力,每個基學習器之間不存在很強的依賴性,所以最終**結果時,需要一定的策略對t個結果進行結合。

個體學習器效能差別較大時,用加權平均法;

個體學習器效能相近時,宜簡單平均法。

絕對多數投票法:若某標記得票過半數,則**為該標記;否則拒絕**。

相對多數投票法:**為得票最多的標記。若同時有多個標記獲得最高票,則從中隨機選取乙個。

加權投票法

當訓練資料很多時,可通過另乙個學習器來進行結合。

隨機森林利用隨機的方式將許多決策樹組合成乙個森林,當有乙個新的輸入樣本進入的時候,讓森林中的每一棵決策樹分別進行一下判斷。對於分類問題,按多棵樹分類器投票決定最終分類結果;對於回歸問題,由多棵樹**值的均值決定最終**結果。

構建過程:

從原始訓練集中使用bootstraping隨機有放回取樣選出m個樣本,共進行n_tree次取樣,生成n_tree個訓練集;

對於n_tree個訓練集,我們分別訓練n_tree個決策樹模型;

對於單個決策樹模型,假設訓練樣本特徵的個數為n,那麼每次**時根據資訊增益/資訊增益比/基尼指數選擇最好的特徵進行**;

每棵樹都一直這樣**下去,直到該節點的所有訓練樣例都屬於同一類。在決策樹的**過程中不需要剪枝;

將生成的多棵決策樹組成隨機森林。

原理幾乎和rf一模一樣,區別有:

1) 對於每個決策樹的訓練集,rf採用的是隨機取樣bootstrap來選擇取樣集作為每個決策樹的訓練集,而extra trees一般不採用隨機取樣,即每個決策樹採用原始訓練集。

2) 在選定了劃分特徵後,rf的決策樹會基於基尼係數,均方差之類的原則,選擇乙個最優的特徵值劃分點,這和傳統的決策樹相同。但是extra trees比較的激進,他會隨機的選擇乙個特徵值來劃分決策樹。

trte是一種非監督學習的資料轉化方法。它將低維的資料集對映到高維,從而讓對映到高維的資料更好的運用於分類回歸模型。

isolation forest(以下簡稱iforest)是一種異常點檢測的方法。iforest取樣個數要遠遠小於訓練集個數。iforest隨機選擇乙個劃分特徵,對劃分特徵隨機選擇乙個劃分閾值。iforest一般會選擇乙個比較小的最大決策樹深度,用少量的異常點檢測一般不需要這麼大規模的決策樹。

優點:準確率高;隨機性的引入,不容易過擬合;很好的抗雜訊能力;能處理很高維度的資料,並且不用做特徵選擇;既能處理離散型資料,也能處理連續型資料,資料集無需規範化;訓練速度快,可以得到變數重要性排序;容易實現並行化。

缺點:當隨機森林中的決策樹個數很多時,訓練時需要的空間和時間會較大;在某些噪音比較大的樣本集上,rf模型容易陷入過擬合。

scikit-learn中,隨機森林的分類函式是randomforestclassifier,回歸函式是randomforestregressor 。

randomforestclassifier(n_estimators=』warn』, criterion=』gini』, max_depth=none, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=』auto』, max_leaf_nodes=none, min_impurity_decrease=0.0, min_impurity_split=none, bootstrap=true, oob_score=false, n_jobs=none, random_state=none, verbose=0, warm_start=false, class_weight=none)

具體含義和使用見文件:

隨即森林可用於多分類或二分類問題,容易處理高維的資料,可用於大量的訓練資料的場景。隨即森林不需要很多引數調整就可以達到不錯的效果,基本上不知道用什麼方法的時候都可以先試一下隨機森林。

Task1 隨機森林演算法梳理

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

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

本文依據周志華西瓜書及多個相關博文總結而成.整合學習 ensemble learning 通過構建並結合多個學習器來完成學習任務,其組成結構是 先產生一組個體學習器 individual learning 再用某種策略將他們結合起來.整合學習通過將多個學習器進行結合 常可獲得比單一學習器顯著優越的泛...

Task1 線性回歸演算法梳理

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