论文阅读 (十四):Ensemble Transfer Learning Algorithm (2018TrResampling)

引入

  论文地址:https://ieeexplore.ieee.org/document/8194845
  摘要要点:
  1)迁移学习和集成学习是解决训练数据与测试数据分布不同的新趋势。
  2)本文设计了当训练数据不充分时的集成迁移学习框架,以提高分类精度:
  2.1)提出用于迁移学习的加权重采样方法,命名为TrResampling。在每次迭代中,对source domain中权重较大的数据进行重采样,并使用TrAdaBoost来调整source datatarget data之间的权重;
  2.2)使用Baywadecision treeSVM作为基学习器,并使用最佳性能的学习器来进行迁移学习。

1 TrResampling

  通过以下两个伪代码,可以对该算法有一个大致的了解:

  算法1:权重重采样Weighted-Resampling (WR) 框架
  输入
    大小为 N N N的训练集 D D D
  1:随机生成训练集权重 w i w_i wi
  2:创建一个与 D D D等大小的新数据集 D ′ D' D
  3:为 D D D中的每一个样本生成一个采样概率 p i p_i pi
  4:for i = 1 i = 1 i=1 to N N N do
  5:  if ∑ j = 1 j = i p j < = ∑ j = 1 j = i w i \sum_{j = 1}^{j = i} p_j <= \sum_{j = 1}^{j = i} w_i j=1j=ipj<=j=1j=iwi then
  6:    添加 D D D中第 i i i个样本至 D ′ D' D
  7:  end if
  8:end for
  输出:重采样数据集 D ′ D' D

  算法2:TrResampling框架
  输入
    大小为 N N N的训练集 D D D、大小为 m m m的源数据 D S = { ( x 1 S , y 1 S ) , ⋯   , ( x m S , y m S ) } D_S = \{ (x_1^S, y_1^S), \cdots, (x_m^S, y_m^S) \} DS={(x1S,y1S),,(xmS,ymS)}和大小为 n n n的目标数据 D T = { ( x 1 T , y 1 T ) , ⋯   , ( x n T , y n T ) } D_T = \{ (x_1^T, y_1^T), \cdots, (x_n^T, y_n^T) \} DT={(x1T,y1T),,(xnT,ynT)}、基学习器BaseLearner (BL) 例如TrAdaBoost ( D S D_S DS D T D_T DT来自同一实例空间 X \mathcal{X} X,但具有不同的分布;训练集包含 D S D_S DS D T D_T DT D T D_T DT与测试集的分布相同;本文中,有 0 < n ≪ m \bold{0 < n \ll m} 0<nm疑惑:如何划定 D S D_S DS D T D_T DT)
   1: D ′ = D D' =D D=D ∀ w i = 1 \forall w_i = 1 wi=1
   2:for t = 1 t = 1 t=1 to T T T do
   3:   D ′ = WR ( D S ) + D T D' = \text{WR} (D_S) + D_T D=WR(DS)+DT
   4:  模型 h t = BL ( D ′ ) h_t = \text{BL} (D') ht=BL(D)
   5:  计算 D T D_T DT上的预测误差 ε t = ∑ i = n + 1 n + m w i t ∣ h t ( x i ) − y i ∣ ∑ i = n + 1 n + m w i t \varepsilon_{t}=\sum_{i=n+1}^{n+m} \frac{w_{i}^t\left|h_{t}\left(x_{i}\right)-y_{i}\right|}{\sum_{i=n+1}^{n+m} w_{i}^{t}} εt=i=n+1n+mi=n+1n+mwitwitht(xi)yi
   6:   t t t++
   7:  if ε t > 0.5  or  t = T \varepsilon_t > 0.5 \text{ or } t = T εt>0.5 or t=T then
   8:    前往步骤5
   9:  else
  10:    设置 β t = ε t 1 − ε t \beta_t = \frac{\varepsilon_t}{1 - \varepsilon_t } βt=1εtεt β = 1 1 + 2 ln ⁡ n m + n \beta = \frac{1}{1 + \sqrt{2\ln \frac{n}{m + n}}} β=1+2lnm+nn 1
  11:  end if
  12:  更新权重 w i t + 1 = { w i t β ∣ h t ( x i ) − c ( x i ) ∣ , 1 ≤ i ≤ n w i t β t − ∣ h t ( x i ) − c ( x i ) ∣ , n + 1 ≤ i ≤ m w_{i}^{t+1}=\left\{\begin{array}{c}w_{i}^{t} \beta^{\left|h_{t}\left(x_{i}\right)-c\left(x_{i}\right)\right|}, 1 \leq i \leq n \\ w_{i}^{t} \beta_{t}^{-\left|h_{t}\left(x_{i}\right)-c\left(x_{i}\right)\right|}, n+1 \leq i \leq m\end{array}\right. wit+1={witβht(xi)c(xi),1inwitβtht(xi)c(xi),n+1im
  13:end for
  输出 H ∗ ( x ) = argmax ⁡ y ∈ Y ∑ t : h t ( x ) = y i log ⁡ 1 β H^{*}(x)=\operatorname{argmax}_{y \in Y} \sum_{t: h_{t}(x)=y_{i}} \log \frac{1}{\beta} H(x)=argmaxyYt:ht(x)=yilogβ1

2 集成迁移学习

  解决:如何划定 D S D_S DS D T D_T DT

2.1 Bagging-Based

  步骤如下:
  1)划分源数据集为多个子集,并添加目标数据到每个子集;
  2)基于投票为目标数据中的未标记数据标注;
  3)多次迭代,获得多个分类器。

  what???
在这里插入图片描述

2.2 MultiBoosting-Based

  在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值