99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀簡(jiǎn)單易學(xué)的機(jī)器學(xué)習(xí)算法—集成方法(Ensemble Method)
簡(jiǎn)單易學(xué)的機(jī)器學(xué)習(xí)算法—集成方法(Ensemble Method)
2017-03-28
收藏

簡(jiǎn)單易學(xué)的機(jī)器學(xué)習(xí)算法—集成方法(Ensemble Method)

一、集成學(xué)習(xí)方法的思想

前面介紹了一系列的算法,每個(gè)算法有不同的適用范圍,例如有處理線性可分問(wèn)題的,有處理線性不可分問(wèn)題。在現(xiàn)實(shí)世界的生活中,常常會(huì)因?yàn)椤凹w智慧”使得問(wèn)題被很容易解決,那么問(wèn)題來(lái)了,在機(jī)器學(xué)習(xí)問(wèn)題中,對(duì)于一個(gè)復(fù)雜的任務(wù)來(lái)說(shuō),能否將很多的機(jī)器學(xué)習(xí)算法組合在一起,這樣計(jì)算出來(lái)的結(jié)果會(huì)不會(huì)比使用單一的算法性能更好?這樣的思路就是集成學(xué)習(xí)方法。

集成學(xué)習(xí)方法是指組合多個(gè)模型,以獲得更好的效果,使集成的模型具有更強(qiáng)的泛化能力。對(duì)于多個(gè)模型,如何組合這些模型,主要有以下幾種不同的方法:

在驗(yàn)證數(shù)據(jù)集上上找到表現(xiàn)最好的模型作為最終的預(yù)測(cè)模型;

對(duì)多個(gè)模型的預(yù)測(cè)結(jié)果進(jìn)行投票或者取平均值;

對(duì)多個(gè)模型的預(yù)測(cè)結(jié)果做加權(quán)平均。

以上的幾種思路就對(duì)應(yīng)了集成學(xué)習(xí)中的幾種主要的學(xué)習(xí)框架。


二、集成學(xué)習(xí)的主要方法

1、強(qiáng)可學(xué)習(xí)和弱可學(xué)習(xí)

集成學(xué)習(xí)方法中,是將多個(gè)弱模型,通過(guò)一定的組合方式,組合成一個(gè)強(qiáng)模型。在《統(tǒng)計(jì)學(xué)習(xí)方法》中介紹了“強(qiáng)可學(xué)習(xí)(strongly learnable)”和“弱可學(xué)習(xí)(weakly learnable)”的概念。

在概率近似正確(probably approximately correct, PAC)學(xué)習(xí)的框架中,一個(gè)概念(一個(gè)類),如果存在一個(gè)多項(xiàng)式的學(xué)習(xí)算法能夠?qū)W習(xí)它,并且正確率很高,那么就稱這個(gè)概念是強(qiáng)可學(xué)習(xí)的。一個(gè)概念,如果存在一個(gè)多項(xiàng)式的學(xué)習(xí)算法能夠?qū)W習(xí)它,學(xué)習(xí)正確率僅比隨機(jī)猜測(cè)略好,那么就稱這個(gè)概念是弱可學(xué)習(xí)的。Schapire指出在PAC學(xué)習(xí)框架下,一個(gè)概念是強(qiáng)可學(xué)習(xí)的充分必要條件是這個(gè)概念是弱可學(xué)習(xí)的。那么對(duì)于一個(gè)學(xué)習(xí)問(wèn)題,若是找到“弱學(xué)習(xí)算法”,那么可以將弱學(xué)習(xí)方法變成“強(qiáng)學(xué)習(xí)算法”。

2、在驗(yàn)證集上找表現(xiàn)最好的模型

這樣的方法的思想與決策樹的思想類似,在不同的條件下選擇滿足條件的算法。

3、多個(gè)模型投票或者取平均值

對(duì)于數(shù)據(jù)集訓(xùn)練多個(gè)模型,對(duì)于分類問(wèn)題,可以采用投票的方法,選擇票數(shù)最多的類別作為最終的類別,而對(duì)于回歸問(wèn)題,可以采用取均值的方法,取得的均值作為最終的結(jié)果。在這樣的思路里最著名的是Bagging方法.Bagging即Boostrap Aggregating,其中,Boostrap是一種有放回的抽樣方法,其抽樣策略是簡(jiǎn)單的隨機(jī)抽樣。

在Bagging方法中,讓學(xué)習(xí)算法訓(xùn)練多次,每次的訓(xùn)練集由初始的訓(xùn)練集中隨機(jī)取出的個(gè)訓(xùn)練樣本組成,初始的訓(xùn)練樣本在某次的訓(xùn)練集中可能出現(xiàn)多次或者根本不出現(xiàn)。最終訓(xùn)練出m個(gè)預(yù)測(cè)函數(shù),最終的預(yù)測(cè)函數(shù)為h對(duì)于分類和回歸問(wèn)題可采用如下的兩種方法:

分類問(wèn)題:采用投票的方法,得票最多的類別為最終的類別

回歸問(wèn)題:采用簡(jiǎn)單的平均方法


(圖片來(lái)自參考文章2)

隨機(jī)森林算法就是基于Bagging思想的學(xué)習(xí)算法。

4、對(duì)多個(gè)模型的預(yù)測(cè)結(jié)果做加權(quán)平均

在上述的Bagging方法中,其特點(diǎn)在于隨機(jī)化抽樣,通過(guò)反復(fù)的抽樣訓(xùn)練新的模型,最終在這些模型的基礎(chǔ)上取平均。而在對(duì)多個(gè)模型的預(yù)測(cè)結(jié)果做加權(quán)平均則是將多個(gè)弱學(xué)習(xí)模型提升為強(qiáng)學(xué)習(xí)模型,這就是Boosting的核心思想。

在Boosting算法中,初始化時(shí)對(duì)每個(gè)訓(xùn)練樣本賦予相等的權(quán)重,如,然后用該學(xué)習(xí)算法對(duì)訓(xùn)練集訓(xùn)練G輪,每次訓(xùn)練后,對(duì)訓(xùn)練失敗的訓(xùn)練樣本賦予更大的權(quán)重,也就是讓學(xué)習(xí)算法在后續(xù)的學(xué)習(xí)中幾種對(duì)比較難學(xué)的訓(xùn)練樣本進(jìn)行學(xué)習(xí),從而得到一個(gè)預(yù)測(cè)函數(shù)序列,其中每個(gè)都有一個(gè)權(quán)重,預(yù)測(cè)效果好的預(yù)測(cè)函數(shù)的權(quán)重較大。最終的預(yù)測(cè)函數(shù)為H對(duì)于分類和回歸問(wèn)題可采用如下的兩種方法:數(shù)據(jù)分析師培訓(xùn)

分類問(wèn)題:有權(quán)重的投票方式

回歸問(wèn)題:加權(quán)平均


(圖片來(lái)自參考文章2)
AdaBoost和GBDT(Gradient Boosting Decision Tree)是基于Boosting思想的兩個(gè)最著名的算法。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }