集成學(xué)習(xí)
著重于在訓(xùn)練集上做文章:將訓(xùn)練集劃分為各種子集或權(quán)重變換后用較弱的基模型擬合聘萨,然后綜合若干個基模型的預(yù)測作為最終整體結(jié)果芭挽。
兩種算法:Bagging method剩岳、Boosting method
Bagging method:若干個模型在若干個子集上單獨訓(xùn)練坎缭,預(yù)測時使用所有基模型預(yù)測得到結(jié)果(投票表決或求平均)
Boosting method:模型訓(xùn)練按順序進行沮榜,每個基模型訓(xùn)練后都進行預(yù)測屈芜、根據(jù)預(yù)測結(jié)果選擇下一次訓(xùn)練數(shù)據(jù)集郊愧,預(yù)測時使用所有基模型預(yù)測得到結(jié)果
偏差和方差:進行模型預(yù)測時,每組預(yù)測值與真值之間的差值組成錯誤值集合井佑,使用高斯分布擬合錯誤值集合属铁,可以得到參數(shù)u和σ2,使得 Error~N(u,σ2)躬翁,其中u可以理解為**偏差**焦蘑,σ2為方差
偏差對應(yīng)“擬合不足”的情況,方差對應(yīng)“過度擬合”的情況盒发。
為什么集成多個弱模型會得到比較好的效果呢例嘱?
弱模型通常存在擬合不足的情況,即高偏差宁舰、低方差拼卵,預(yù)測時綜合各模型效果可以看成是這些錯誤高斯分布求平均的過程。根據(jù)高斯分布的計算公式有:Error~N((u1+u2+...)/N,(σ12+σ22+...)蛮艰,其中N是弱模型的數(shù)量腋腮。因為偏差有正有負,因此會起到降低偏差的作用壤蚜,因此集成學(xué)習(xí)達到了能自動找到最優(yōu)錯誤偏差和方差的效果即寡。
隨機森林
是Bagging Method的一個典型代表,是一種使用決策樹作為基模型的集成學(xué)習(xí)方法袜刷。上圖抽樣子訓(xùn)練集的方式通常采用 有放回采樣聪富。
一般選用有較大偏差、較小方差的樹模型著蟹,具體表現(xiàn)在:
1.樣本裁剪:通過隨機采樣墩蔓,每個弱模型只訓(xùn)練部分樣本數(shù)據(jù)梢莽。(剩余數(shù)據(jù)可以作為各基模型的測試集)
2.特征裁剪:每個基模型的決策樹只選用數(shù)據(jù)特征中的一部分進行訓(xùn)練和預(yù)測,隨機抽樣保證了所有特征都能被部分弱模型學(xué)習(xí)到钢拧。
3.小樹:由于特征和樣本數(shù)量有限每個弱模型決策樹都長不高,所以不需要像普通決策樹那樣在訓(xùn)練結(jié)束后為避免過度擬合而執(zhí)行剪枝炕横。
自適應(yīng)增強
即AdaBoost源内,是Boosting Method類集成算法的典型代表,其全稱是Adaptive Boosting份殿。
通過調(diào)整訓(xùn)練集中每個樣本的權(quán)重使得每次迭代在不同的訓(xùn)練集上運行膜钓。
AdaBoost 的每次迭代中都使用了全部訓(xùn)練樣本,但訓(xùn)練集中的每個樣本都被賦予了權(quán)值卿嘲,基模型必須支持基于樣本權(quán)值的訓(xùn)練方法(常見算法如支持向量機颂斜、樸素貝葉斯、決策樹等都支持基于樣本權(quán)值進行訓(xùn)練)拾枣。
每次訓(xùn)練降低預(yù)測正確的樣本的權(quán)值沃疮,提高預(yù)測錯誤的樣本的權(quán)值。
由于模型是不斷進化的梅肤,因此在最終決策后生成的基模型往往比先生成基模型的決策權(quán)更大司蔬,預(yù)測時可采用加權(quán)投票或平均。
引用
1.從機器學(xué)習(xí)到深度學(xué)習(xí):基于scikit-learn與tensorflow的高效開發(fā)實戰(zhàn)