整合指用多個基學習器共同構成乙個更加強大的學習器。
整合包含三種方法:boosting,bagging,stacking
1、boosting:包括gbdt和adaboost,各學習器間存在強依賴關係,只能序列實現
2、bagging的代表演算法是隨機森林,各學習器間不存在強依賴關係,可以並行實現
3、stacking主要是分層結構。每個初級學習器負責一部分的領域知識並構成次級學習器。
1、gbdt:梯度提公升決策樹
原理簡介如下圖所示:
2、adaboost
輸入:訓練資料集d=
初始化:為每條資料賦乙個權重,通常dw
= ,其中,1表示第1次迭代。
步驟:
step1:找到乙個二分類器gm
(x) ,使下式的這個損失最小: em
=∑i=
1nwm
ii(g
m(xi
)≠yi
) step2:計算am
=12l
og1−
emem
step3:更新權值wm
+1,i
=wmi
zmex
p(−α
myig
m(xi
))其中,zm
為一歸一化因子
step4: m=
m+1 ,並返回step1進行迭代。
最終求得的分類函式為f(
x)=∑
m=1n
αmgm
(x)
比較有代表性的bagging演算法就是隨機森林,它就是隨機採一些樣本,隨機採一些屬性生成多棵決策樹進行共同決策。
bagging可以減少方差
boosting可以減少偏差
機器學習 實驗五 整合學習(投票方式)
實驗 github 然後在main中,使用乙個迴圈來進行測試模型的正確率 int test number 100 int correct 0 for int counter0 0 counter0 test number counter0 測試迴圈 for int counter1 0 counte...
機器學習基礎自學五(整合演算法)
from pandas import read csv from sklearn.model selection import kfold from sklearn.model selection import cross val score from sklearn.ensemble import...
機器學習筆記14 整合 B B
整合 b b bagging 和 boosting 是提高監督式學習方案準確性的兩種常見整合方法。收集一堆簡單規則,並且這些規則都有點意義 能提供一些幫助。但是,單靠某乙個規則無法得到最好的答案,合併成乙個效果不錯的複雜規則。先通過某個資料子集進行學習,形成某個規則 然後通過另一資料子集進行學習,再...