Ensemble

Bagging

Bagging一般用在容易overfitting的model上

1. “制造"不同的data

假设现在有 N 个 training data,对这 N 个data 做 Sampling。每次取 {N}' 个data组成一个新的dataset ,每次抽取后要把这个 data 再放回(with  replacement)。通常,{N}' = N(每个dataset并不会一样,因为会 samping 到重复的 data )。

2. 每个dataset 分别使用不用的 function 进行学习,将结果进行Average (for regression)或者 voting (for classify)

 

Boosting

Improving Weak Classifiers

  •  Adaboost

Adaboost 的思想是  

怎么去找一个新的dataset 去 fail f_{1}(x) 呢?这里要用到 re-weighting 的方法

\varepsilon _1: the error rate of  f_{1}(x) on its training data

对 u_{1}^{n} 和 f_{1}(x)

其中 f_{1}(x^n) = \hat{y}^n时, \delta = 0,   f_{1}(x^n) \neq \hat{y}^n 时, \delta = 1 。

我们想得到 u_{2}^{n} ,使得

怎么去找 u_{2}^{n} 呢?

找一个d_{1},使得:

其中

d_{1} 的推导过程如下:

代进去就是

也就是

 

又因为

   

                                                                                     \varepsilon _1 = {\sum_{f_{1}(x^n) \neq \hat{y}^n}u_1^n} \div Z_1                      

 所以

 

所以,Adaboost 的总流程是

                                                                         u_{t+1}^n\leftarrow u_{t}^n \times exp(-\hat{y}^nf_t(x^n)\alpha_t))

这样就获得了f_{1}(x)f_{2}(x) ... f_{t}(x) ... f_{T}(x) , 怎么去组合它们的结果呢?

遵循 Smaller error \varepsilon _t , larger weight for final voting 的原则:

                                                                                 H(x) = sign (\sum _{t=1}^T \alpha _t f_t(x))

  • Gradient Boosting

Stack

Voting

 

from:https://www.youtube.com/watch?v=tH9FH1DH5n0&list=PLJV_el3uVTsPy9oCRY30oBPNLCo89yu49&index=32

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值