[半监督学习] A multi-scheme semi-supervised regression approach

文献中提出了一种多方案半监督回归方法(Multi­scheme Semi­supervised regression ap­proach, MSSRA), 其核心由任意数量的回归器组成, 这些预测结果通过最小范围标准进行过滤, 以区分最可信的未标记实例, 并结合默认的自训练方案.

论文地址: A multi-scheme semi-supervised regression approach
期刊: Pattern Recognition Letters 2019
任务: 回归

算法

bRgeS(base regressors) 表示 b b b 个基础回归器. 从初始训练集 D \mathbf{D} D 开始, 使用标记比率 R R R 对数据进行标记. bRegS 以 self-training 方案进行部署, 目的是利用未标记集 U \mathbf{U} U, U ⊆ D \mathbf{U} \subseteq \mathbf{D} UD 扩充初始标记集 L \mathbf{L} L, L ⊆ D \mathbf{L} \subseteq \mathbf{D} LD. 自训练算法(self-training)执行的最大迭代次数被限制为有限的次数(MaxIter). 注意, 为保证 L \mathbf{L} L 子集的一致性, 要进一步限制对应 U \mathbf{U} U L \mathbf{L} L 子集的扩大. 因此, 设置以百分比衡量的参数 T T T, 以控制每次迭代中新接受的实例的百分比与初始 L \mathbf{L} L 的大小的关系. 这意味着在每个生成的算法的启动过程中, T T T 的值都会被评估一次.

在进入自训练的迭代过程之前, 基础回归器 bRegS 会在初始 L \mathbf{L} L 数据集上进行训练. 随后, 将 bRegS 的基本模型应用在 U \mathbf{U} U 的子集, 每个实例会生成一个预测矩阵. 该矩阵记为 M p r M_{pr} Mpr, 里面包括了属于 U \mathbf{U} U 子集的所有实例的预测. 此外, 初始 L \mathbf{L} L U \mathbf{U} U 将分别称为 L 0 \mathbf{L}^0 L0 U 0 \mathbf{U}^0 U0 , 而指针 i t e r iter iter 将在每次迭代结束时指向当前标记子集和未标记的子集. 假设数据集有 n n n 个实例, 每个实例包含 l l l 个特征, 那么 L \mathbf{L} L, U \mathbf{U} U, M p r M_{pr} Mpr 的维度可以分别表示为 n L × l n_{L} \times l nL×l, n U × l n_U \times l nU×l, n U × b n_U \times b nU×b, 并且满足 n L + n U = n n_{L}+ n_{U}=n nL+nU=n, n L ≪ n U n_L \ll n_U nLnU.

接下来执行 f d e c i s i o n f_{decision} fdecision, 通过最可信赖的实例对 M p r M_{pr} Mpr 进行排序, 以便稍后进行提取并潜在地增强该决策的预测能力. 因此, 需要一个度量来对其实例进行排序, 以评估每个实例的 b b b 个记录的输出. 这里选择(Minimum Range of predicted Labels, MRL, 预测标签的最小范围)用于 f d e c i s i o n f_{decision} fdecision 决策. 这是一种计算软度量, 有利于 b b b 个单独回归器输出最接近预测的实例. MRL 简单表示如下:
M R L i = m a x ( M p r i ) − m i n ( M p r i ) , 1 ≤ i ≤ n U MRL^i={\rm max}(M_{pr}^i) - {\rm min}(M_{pr}^i), 1 \leq i \leq n_U MRLi=max(Mpri)min(Mpri),1inU
M p r M_{pr} Mpr 进行排序后, 只选择前 T T T ∗ size( L 0 \mathbf{L}^0 L0) 的记录, 因此, 根据前面提到的标准, 选择的该数据集由具有最高"自信"预测( X M C P {\rm X_{MCP}} XMCP)的实例集组成. 要返回到自训练循环, 最后要做的是为所有 X M C P {\rm X_{MCP}} XMCP 实例添加单个标签的注释:
L a b e l i = ∑ j = 1 b M p r j b Label^i=\frac{\sum_{j=1}^bM_{pr}^j}{b} Labeli=bj=1bMprj
自训练结束循环时, 将 X M C P {\rm X_{MCP}} XMCP 实例从 U i t e r \mathbf{U}^{iter} Uiter 子集中删除, 并添加到 L i t e r \mathbf{L}^{iter} Liter 子集中. 循环的下一个迭代将从在新的 L i t e r \mathbf{L}^{iter} Liter 子集上重新训练的 bRegS 上开始, 因为它的基数已经增加了 X M C P {\rm X_{MCP}} XMCP 包含的记录数量, 此后, 该过程继续执行, 直到满足停止标准为止(超出 MaxIter 或 U i t e r \mathbf{U}^{iter} Uiter 大小等于零). 最终, 自训练过程退出, 并且在最后一次迭代期间存储增强的标记集( L L a s t I t e r \mathbf{L}^{LastIter} LLastIter). 在 L L a s t I t e r \mathbf{L}^{LastIter} LLastIter 上选择并训练最终回归器 F F F 以用于未知测试用例的预测. 显而易见, 两个不同的回归器 bRegS 和 F F F 的要求是个体预测的协调, 并分别在足够高的精度和快速响应之间进行有效的权衡.

复杂度分析

该论文中, SMOReg, Random ForestM5 构成了 3bRegS. 除了最后一个 F F F 在最后一次迭代后由 bRegS 的响应反馈外, 所有内部学习器都可以并行执行. 因此, 我们可以在迭代循环期间计算相应时间复杂度的主导项, 并假设这是上限, 再乘以迭代次数, 而不是添加每个回归器和每个迭代的单个序列复杂度. 此外, 由于 b b b 足够小, 因此 O ( b ∗ log ⁡ ( b ) + 2 ) O(b * \log(b) + 2) O(blog(b)+2) 可以忽略不计. 因此, 它不会包含在最终表达式中.

  • SMOReg. SMOReg 的时间复杂度取决于格式化支持向量的基数, 其数量受超参数 C C C 限制. 只要 C C C 值很小, SMOReg 的需求就倾向于收敛于其二次分量 O ( n 2 ) O(n^2) O(n2), 而在相反的情况下 O ( n 3 ) O(n^3) O(n3) 占主导地位.
  • Random Forest Regressor. 其最坏情况复杂性可以是 O ( n t r e e s ∗ q ∗ n 2 ∗ l o g ( n ) ) O(ntrees*q*n^2*log(n)) O(ntreesqn2log(n)), 其中 ntrees 是生成的树的数目, q q q 是描述随机选择的特征的最大数目.
  • M5 Regressor. M5 回归器生成一棵回归树, 在每个节点拟合一个多元线性回归模型. 这意味着需要 O ( m ∗ n ∗ log ⁡ ( n ) ) O(m∗n∗\log(n)) O(mnlog(n)), 而无需计算内部回归模型的构造. 这可能产生 O ( m 3 ∗ n 2 ) O(m^3∗n^2) O(m3n2) 的时间.

因为在 SMOReg 的情况下 n 3 n^3 n3 的项占大头. 由于在迭代循环之后, 还构造了 F F F 回归器, 因此必须考虑其复杂性. 因此, 最终的复杂度顺序可以计算为: O ( M a x I t e r ∗ n 3 + m 3 ∗ n 2 ) O(MaxIter ∗ n^3 + m^3 ∗ n^2) O(MaxItern3+m3n2), 通常的情况下 m ≪ n m \ll n mn, 并且不保留任何常数项.

MSSRA 算法流程

在这里插入图片描述

  • 使用 L 0 \mathbf{L}^0 L0 训练基础回归器 bRegS.
  • 定义一个决策函数 f d e c i s i o n f_{decision} fdecision, 该函数用于: 循环输入矩阵 M p r M_{pr} Mpr, 并为矩阵的每个实例计算 M R L MRL MRL; 再根据 M R L MRL MRL 对矩阵进行排序. M R L MRL MRL 计算如下:
    M R L i = m a x ( M p r i ) − m i n ( M p r i ) , 1 ≤ i ≤ n U MRL^i={\rm max}(M_{pr}^i) - {\rm min}(M_{pr}^i), 1 \leq i \leq n_U MRLi=max(Mpri)min(Mpri),1inU
  • 步骤1. 让 bRegS 对 U i t e r \mathbf{U}^{iter} Uiter 进行预测, 并将结果存储到 M p r M_{pr} Mpr 中, 并使用 f d e c i s i o n f_{decision} fdecision M p r M_{pr} Mpr 进行排序.
  • 步骤2. 从 M p r M_{pr} Mpr 中选择前 T T T ∗ size( L 0 \mathbf{L}^0 L0) 的记录, 并将它们存储到矩阵 X M C P {\rm X_{MCP}} XMCP 里, 并为这些记录打上标签 L a b e l i Label^i Labeli, 即 bRegS 中所有回归器对该标签预测的平均值. L a b e l i Label^i Labeli 计算如下:
    L a b e l i = ∑ j = 1 b M p r j b Label^i=\frac{\sum_{j=1}^bM_{pr}^j}{b} Labeli=bj=1bMprj
  • 步骤3. 对于 X M C P {\rm X_{MCP}} XMCP 中的实例, 将其从 U i t e r \mathbf{U}^{iter} Uiter 中移除, 并添加到 L i t e r \mathbf{L}^{iter} Liter 中, 并使用 L i t e r \mathbf{L}^{iter} Liter 重新训练 bRegS.
  • 重复操作步骤1-步骤3, 直到满足迭代退出条件.
  • 最终得到 L L a s t I t e r \mathbf{L}^{LastIter} LLastIter, 并用其训练回归器 F F F 去预测其他无标签的测试数据.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值