統(tǒng)計學習方法-集成學習x_第1頁
統(tǒng)計學習方法-集成學習x_第2頁
統(tǒng)計學習方法-集成學習x_第3頁
統(tǒng)計學習方法-集成學習x_第4頁
統(tǒng)計學習方法-集成學習x_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第 PAGE9 頁 共 NUMPAGES9 頁統(tǒng)計學習方法集成學習x統(tǒng)計學習方法 集成學習 集成學習作為當今性能最好的多模型分類器,我們必須要了解它一下。這里我們從最簡單的集成學習 Bagging 開始講起,一直講到 GBDT 為止。1. 集成學習 集成學習是多模型學習的一種,它是集成多個弱分類器來進行決策。就是“三個臭皮匠賽過諸葛亮”,但是一般來講是賽不了的,為什么呢?首先如果三個臭皮匠是三胞胎,那么三個臭皮匠和一個臭皮匠是無異的,另外,如何把這三個決策統(tǒng)一起來是另外一個問題。因此我們從這兩方面來入手講解集成學習。2.Bagging bagging 的想法非常簡單,假設我們有 T 個分類器,

2、每個分類器需要 m 個訓練樣本。我們只需要使用自助采樣法(有放回采樣)獲取到這 m 個樣本即可。這樣我們就有了 T 個包含了 m 個樣本的訓練集,來訓練 T 個分類器。最終對同一樣本進行簡單的投票決策即可。具體算法描述如下圖:輸入:訓練集Di=(x1,y1),(x2,y2),.,(xm,ym)基礎分類器個數(shù) T 過程 1:for t=1,2,3.,T do 2ht=訓練分類器(Di)訓練分類器訓練分類器3:H(x)=argmaxyYt=1TI(ht(x)=y) ()()這就是最簡單的 bagging,它就是兼聽則明的一個典型代表,但是它只能去減少方差,但是不能夠保證最終的結果更加正確,萬一所有

3、的大臣串通一氣,你就算聽取了所有大臣的意見,仍然是一個昏君。3.RandomForest 隨機森林是在 bagging 上的一個改進,在 bagging 中,我們只去擾動了樣本,也就雖然每個 T 的訓練樣本是服從同分布的,但是樣本的個體是不同的,也就是說,我們假設每個 T 都是一個游客在看一座山,雖然每個人都是獨立的看,但是都是在同一方向上看的,因此差異性不會特別大。而隨機森林則加入了另一個擾動,那就是訓練模型的不同,也就是說每個人都在不同的角度看同一座山,這樣描述的會更加準確。這里我們主要講解一下結合的策略。常規(guī)來講,主要有這么幾種策略:多數(shù)表決、平均值、加權表決/平均值。多數(shù)表決,就是一人

4、一票,每人都平等對待,然后得票多的結果獲勝。平均值則是把所有人的決策取平均,加權的話,就是把每個分類器不平等對待。另外,如果每個分類器性能差異比較大的時候,建議使用多數(shù)表決。每個分類器差異較小的時候,建議使用平均值。另一方面,還有一個 Stacking 算法,它比較特殊,它會先使用一些初級學習器,然后生成一個新數(shù)據(jù)集再來進行一次訓練。新的數(shù)據(jù)集主要是添加了初級學習器的預測結果,然后再訓練次級學習器,這種方法比較適用于多響應線性回歸。4.Boosting boosting 和 bagging 的思路完全不同,它是使用同一個訓練集,但是每個分類器都是有順序的,當前分類器依賴于前一個分類器的性能表現(xiàn)

5、。就目前實現(xiàn)而言boosting 中最具代表的是 AdaBoosting,它主要用于二分類,并且維護一個樣本權重表來保證模型的性能。它的主要思想是,初始化時,所有的樣本都具有同權重,當進入第一個分類器分類后,挑選出其中錯誤的樣本,對其權重進行增加,對正確樣本權重減少,這樣保證下一個分類器對于錯誤的樣本能夠更好的修正。具體算法如下:輸入:訓練集Di=(x1,y1),(x2,y2),.,(xm,ym)基礎分類器個數(shù) T 過程:D1(x)=1mfor t=1,2,.,T do ht=訓練分類器(D,Dt)訓練分類器,訓練分類器,t=ht 的錯誤率的錯誤率的錯誤率ift0.5thenbreak/這里是

6、說如果錯誤率大于亂猜了,則不要繼續(xù)了這里是說如果錯誤率大于亂猜了,則不要繼續(xù)了這里是說如果錯誤率大于亂猜了,則不要繼續(xù)了t=12ln(1tt)Dt+1(x)=Dt(x)_exp(tf(x)ht(x)Ztend for H(x)=sign(Tt=1tht(x)從上面可以看出,它是一個自適應提升模型,首先一點就是它的第 i 次的性能會隨著第 i-1 次而不斷的調(diào)整,最后取得最優(yōu)值。但是這還不是最后的優(yōu)化方案,因為還有更優(yōu)秀的 BoostingTree。5.BoostingTree 提升樹主要有兩點的提升,第一就是對于 Boosting 的每一輪迭代,它的目標任務是不同的,每次都是記錄殘差,而不是真

7、正的標簽。也就是說除了第一棵樹是正常分類的,后面的樹都是不斷修正之前的樹的預判的,從而達到整體預判效果,具體來講,它的每個樹是 CART 樹,具體的算法如下:輸入:訓練數(shù)據(jù)集 T 輸出:提升樹 fM(x).(1) 初始化 f0(x)=0(2)對 m=1,2,.,M 計算殘差:rmi=yifm1(xi),i=1,2,.,N 計算殘差:計算殘差:使用殘差來擬合回歸樹Tm 使用殘差來擬合回歸樹使用殘差來擬合回歸樹更新提升樹fm(x)=fm1(x)+Tm 更新提升樹更新提升樹(3)得到回歸提升樹 fM(x)那么,什么時候停止呢,使用平方和誤差低于某一值時,就認為擬合成功了。但是這還不是最終的結果,最終

8、的為 GBDT 6.GBDT GBDT 較上面更新之處在于每次修剪的幅度不同。上面講的誤差使用的是平方損失誤差,而 GBDT 則是使用梯度來解決。算法如下 輸入:訓練集 T,損失函數(shù) L 輸出:回歸樹 f(x) (1)初始化f0(x)=argminci=1NL(yi,A)(2)對于 m=1,2,.,M 對 1,2,.,N,計算殘差rmi=L(yi,f(xi)f(xi)f(x)=fm1(x) 對計算殘差對計算殘差使用 rmi 擬合一個回歸樹,得到第 n 棵樹的葉節(jié)點區(qū)域Rmj 使用擬合一個回歸樹,得到第棵樹的葉節(jié)點區(qū)域使用擬合一個回歸樹,得到第棵樹的葉節(jié)點區(qū)域?qū)?j=1,2,.,J,計算 cmj=argmincxiRmjL(yi,fm1(xi)+A)/這里是對每一個決策區(qū)域找到其最小的步長 對計算這里是對每一個決策區(qū)域找到其最小的步長對計算這里是對每一個決策區(qū)域找到其最小的步長更新樹 fm(x)=fm1(x)+j=1JcmjI(xRmj)/這里 cmj 表示的是誤差,也是改進步長,其實是說加上屬于那一類別梯度的步長,這里 x 只會屬于其中一個類別. 更新樹這里表示的是誤差,也是改進步長,其實是說加上屬于那一類別梯度的步長,這里只會屬于其中一個類別更新樹這里表示的是誤差,也是改進步長,其實是說

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論