三個臭皮匠賽過諸葛亮----集成學(xué)習(xí)算法

轉(zhuǎn)自:https://www.cnblogs.com/wxquare/p/5440664.html有刪改

姓名:梁祥????????學(xué)號:17021210935

【嵌牛導(dǎo)讀】:泛化能力是機器學(xué)習(xí)關(guān)注的一個根本問題捻脖,其表征了學(xué)習(xí)系統(tǒng)對新事件的適用性戴涝,一般來說泛化能力越強越好。集成方法是構(gòu)建一種對單個分類器進(jìn)行集成的學(xué)習(xí)算法,將各分類器的分類結(jié)果以一定的方式集成起來實現(xiàn)對新數(shù)據(jù)點的分類蚕涤。其中,單個分類器是獨立的且不要求分類精度很高土陪。通過這種方式春寿,大大提高了集成系統(tǒng)的泛化性能。

【嵌牛鼻子】:集成學(xué)習(xí)剖毯,Bagging圾笨,Boosting?

【嵌牛提問】:集成學(xué)習(xí)算法主要有哪些分類?使用的時候應(yīng)該注意些什么逊谋?

【嵌牛正文】:

集成學(xué)習(xí)(Ensemble Learning)是一種機器學(xué)習(xí)范式擂达,它使用多個(通常是同質(zhì)的)學(xué)習(xí)器來解決同一個問題。它的思想非常簡單胶滋,集合多個模型的能力板鬓,達(dá)到“三個臭皮匠,賽過諸葛亮”的效果究恤。

集成學(xué)習(xí)的結(jié)構(gòu)

這里我把集成學(xué)習(xí)分為兩個大類俭令,第一大類稱為模型融合,模型融合其實是個再學(xué)習(xí)的過程部宿。第一步是訓(xùn)練出多個不同的強學(xué)習(xí)器抄腔,然后考慮如何將這多個學(xué)習(xí)器組合起來,更進(jìn)一步提高性能理张。第二大類稱為機器學(xué)習(xí)元算法赫蛇,這類算法本身就是多模型組合的結(jié)果,只是元算法中的基算法(base_algorithm一般會比較弱)雾叭,稱為弱模型的組合悟耘,例如RF、GDBT织狐。

一暂幼、模型融合

實際中筏勒,我們總可以根據(jù)實際問題,訓(xùn)練出多個功能強大學(xué)習(xí)器旺嬉,為了進(jìn)一步提高學(xué)習(xí)器的能力管行,可以嘗試將這些學(xué)習(xí)組合起來,這個過程就是模型融合鹰服。一般來說模型能在一定程度上提高性能病瞳,有時使模型的預(yù)測能力更加強大,有時增加模型的泛化能力悲酷,顯而易見的壞處是多模型的學(xué)習(xí)加上再學(xué)習(xí)的過程會增加計算的代價。模型融合在競賽中十分常見设易,屢試不爽逗柴,融合方法恰當(dāng)顿肺,一般能提高成績戏溺。

1.1 常用的獲得不同模型的方法

a. 由于不同的訓(xùn)練模型得到不同的模型,例如處理分類的LR屠尊、SVM旷祸、RF等

b. 由于同一訓(xùn)練模型調(diào)節(jié)不同參數(shù)獲得不同的模型,例如GDBT中迭代次數(shù)讼昆,每個樹的復(fù)雜度等

c. 有些算法本身就有一定的隨機性托享,如PLA

d. 由于訓(xùn)練數(shù)據(jù)不同得到不同的模型,如交叉驗證浸赫、隨機抽樣

闰围。。既峡。上面這些生成不同模型可以組合生成更多不同的模型羡榴,比較常用的是最前面的兩個

1.2 模型融合的方法

通過驗證(validation)的方式,從第一步中訓(xùn)練出的多個模型中挑選最佳的模型运敢,作為最終的模型校仑。這種方式必須要驗證,不同使Ein最小传惠,否則很容易過擬合肤视。

統(tǒng)一融合(Uniform blending),分類時使用一人一票的投票方式涉枫,回歸時使用多個模型的平均值。這種方式的優(yōu)點是一般泛化能力會得到加強腐螟,但是只能保證比那些模型中最差的模型要好愿汰,不能保證能得到比那些不同模型中的最好的模型要好

線性融合(Linear blending)困后,二次學(xué)習(xí),使用線性模型將第一步中學(xué)習(xí)到的學(xué)習(xí)器組合起來衬廷,用得好可以提高模型性能摇予,但是要注意有過擬合的風(fēng)險。

堆融合(Any blending吗跋、stacking)侧戴,任何其它非線性模型將那些學(xué)習(xí)器組合起來,有過擬合的風(fēng)險跌宛,注意驗證酗宋。

模型融合在實際中十分常見,下面是臺大在2011KDDCup獲得冠軍時使用的模型融合方法疆拘,先用了any blending (stacking)處于領(lǐng)先群的位置蜕猫,最后的linear blend使得臺大獲得冠軍。

二哎迄、機器學(xué)習(xí)元算法

機器學(xué)習(xí)元算法分為兩類:Averaging methods 和Boosting methods

Averaging methods 核心是引入隨機(對樣本回右、特征屬性隨機取樣)學(xué)習(xí)產(chǎn)生多個獨立的模型,然后平均所有模型的預(yù)測值漱挚。一般而言翔烁,這種方法,會減小方差(variance)旨涝,不太會過擬合蹬屹。主要包括bagging、RF颊糜。

Boosting methods 逐步加強方法哩治,該方法集合學(xué)習(xí)多個模型,提高模型的準(zhǔn)確率衬鱼。不同的是业筏,它是基于前面模型的訓(xùn)練結(jié)果(誤差),生成新的模型鸟赫,從而減小偏差(bias)蒜胖。一般而言,這種方法會比上者的準(zhǔn)確率高一點抛蚤,但是也不是絕對的台谢。它的缺點是有過擬合的風(fēng)險,另外岁经,由于它每個模型是“序列化”(有前后關(guān)系)產(chǎn)生的朋沮,不易并行化。它的代表是AdaBoost缀壤、GDBT樊拓。

2.1 Bagging

Bagging 在原始樣本中隨機抽樣獲取子集纠亚,用隨機抽樣的子集訓(xùn)練基學(xué)習(xí)器(base_estimator),然后對每個基學(xué)習(xí)器的結(jié)果求平均筋夏,最終得到的預(yù)測值蒂胞。隨機獲取樣本子集的方法有很多中,最常用的是有放回抽樣的booststrap条篷,也可以是不放回的抽樣骗随。基學(xué)習(xí)器可以是相同的模型赴叹,也可以是不同的鸿染,一般使用的是同一種基學(xué)習(xí)器,最常用的是DT決策樹稚瘾。由于bagging提供了一種降低方差(variance)的方式牡昆,所以一般會使用比較強、復(fù)雜的基學(xué)習(xí)器模型(e.g.fully developed decision trees)摊欠,作為對比在boosting方法中會使用非常弱的基學(xué)習(xí)器模型(e.g. shallow decision trees)丢烘。在sklearn中實現(xiàn)了基于bagging的分類和回歸方法,主要設(shè)置參數(shù)為基學(xué)習(xí)器的類型些椒、迭代次數(shù)(子模型的個數(shù))播瞳、獲取訓(xùn)練子集的方式。由于bagging訓(xùn)練每個模型可以并行免糕,還可以設(shè)置n_jobs訓(xùn)練模型使用的多少個cpu核赢乓。

2.2 隨機森林(RF)

RF在實際中使用非常頻繁,其本質(zhì)上可bagging并無不同石窑,只是RF更具體一些牌芋。一般而言可以將RF理解為bagging和DT(CART)的結(jié)合。RF中基學(xué)習(xí)器使用的是CART樹松逊,由于算法本身能降低方差(variance)躺屁,所以會選擇完全生長的CART樹。抽樣方法使用bootstrap经宏,除此之外犀暑,RF認(rèn)為隨機程度越高,算法的效果越好烁兰。所以RF中還經(jīng)常隨機選取樣本的特征屬性耐亏、甚至于將樣本的特征屬性通過映射矩陣映射到隨機的子空間來增大子模型的隨機性、多樣性沪斟。RF預(yù)測的結(jié)果為子樹結(jié)果的平均值广辰。RF具有很好的降噪性,相比單棵的CART樹,RF模型邊界更加平滑择吊,置信區(qū)間也比較大袱耽。一般而言,RF中干发,樹越多模型越穩(wěn)定。

2.3 AdaBoost

AdaBoost 是一種Boosting方法史翘,與Bagging不同的是枉长,Adaboost中不同的子模型必須是串行訓(xùn)練獲得的,每個新的子模型都是根據(jù)已訓(xùn)練出的模型性能來進(jìn)行訓(xùn)練的琼讽,而且Boosting算法中基學(xué)習(xí)器為弱學(xué)習(xí)必峰。弱學(xué)習(xí)器可以理解為只比隨機猜測好一點,在二分類情況下钻蹬,錯誤率略低0.5即可吼蚁,實際中常使用 small decision trees。AdaBoost中每個訓(xùn)練樣本都有一個權(quán)重问欠,這些權(quán)重構(gòu)成了一個向量W肝匆,初始值都為為W_i=1/N。Adaboost中每次迭代生成新的子模型使用的訓(xùn)練數(shù)據(jù)都相同顺献,但是樣本的權(quán)重會不一樣旗国。AdaBoost會根據(jù)當(dāng)前的錯誤率,增大錯誤樣本權(quán)重注整,減小正確樣本權(quán)重的原則更新每個樣本的權(quán)重能曾。不斷重復(fù)訓(xùn)練和調(diào)整權(quán)重,直到訓(xùn)練錯誤率或弱學(xué)習(xí)器的個數(shù)滿足用戶指定的值為止肿轨。Adaboost的最終結(jié)果為每個弱學(xué)習(xí)器加權(quán)的結(jié)果寿冕。使用sklearn中的Adaboot時,主要調(diào)節(jié)的參數(shù)有n_estimator(多少棵樹)椒袍、max_depth(每棵樹的深度驼唱。復(fù)雜度)或者min_samples_leaf(最少的葉子節(jié)點)。

2.4 GDBT

GDBT也是一種Boosting方法槐沼,每個子模型是根據(jù)已訓(xùn)練出的學(xué)習(xí)器的性能(殘差)訓(xùn)練出來的曙蒸,子模型是串行訓(xùn)練獲得,不易并行化岗钩。GDBT使用非常廣泛的纽窟,能分類,能回歸預(yù)測兼吓。GDBT基于殘差學(xué)習(xí)的算臂港,沒有AdaBoost中的樣本權(quán)重的概念。GDBT結(jié)合了梯度迭代和回歸樹,準(zhǔn)確率非常高审孽,但是也有過擬合的風(fēng)險县袱。GDBT中迭代的殘差的梯度,殘差就是目前結(jié)合所有得到的訓(xùn)練器預(yù)測的結(jié)果與實際值的差值佑力,不理解可以參考另一篇博客式散,里面有一個實例介紹如何基于殘差來學(xué)習(xí)預(yù)測人的年齡。GDBT的使用也非常的簡單打颤,主要調(diào)節(jié)的參數(shù)有確定需要多少棵樹(n_estimator)暴拄、每棵樹的復(fù)雜度(max_depth,max_leaf_node)编饺、損失函數(shù)(loss)以及學(xué)習(xí)率(learning_rating)乖篷。為了防止過擬合一般學(xué)習(xí)率會選小一點的(<0.1),learning_rate會影響n_estimator透且,需要權(quán)衡撕蔼,選擇最佳的組合參數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秽誊,一起剝皮案震驚了整個濱河市鲸沮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌养距,老刑警劉巖诉探,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異棍厌,居然都是意外死亡肾胯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門耘纱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敬肚,“玉大人,你說我怎么就攤上這事束析⊙蘼” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵员寇,是天一觀的道長弄慰。 經(jīng)常有香客問我,道長蝶锋,這世上最難降的妖魔是什么陆爽? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮扳缕,結(jié)果婚禮上慌闭,老公的妹妹穿的比我還像新娘别威。我一直安慰自己,他們只是感情好驴剔,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布省古。 她就那樣靜靜地躺著,像睡著了一般丧失。 火紅的嫁衣襯著肌膚如雪豺妓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天布讹,我揣著相機與錄音科侈,去河邊找鬼。 笑死炒事,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蔫慧。 我是一名探鬼主播挠乳,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼姑躲!你這毒婦竟也來了睡扬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤黍析,失蹤者是張志新(化名)和其女友劉穎卖怜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阐枣,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡马靠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔼两。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甩鳄。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖额划,靈堂內(nèi)的尸體忽然破棺而出妙啃,到底是詐尸還是另有隱情,我是刑警寧澤俊戳,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布揖赴,位于F島的核電站,受9級特大地震影響抑胎,放射性物質(zhì)發(fā)生泄漏燥滑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一圆恤、第九天 我趴在偏房一處隱蔽的房頂上張望突倍。 院中可真熱鬧腔稀,春花似錦、人聲如沸羽历。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秕磷。三九已至诵闭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澎嚣,已是汗流浹背疏尿。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留易桃,地道東北人褥琐。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像晤郑,于是被迫代替她去往敵國和親敌呈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容