论文笔记:多标签学习——ACkEL算法

原文
Wang, R., Kwong, S., Wang, X., & Jia, Y. (2021). Active k-labelsets ensemble for multi-label classification. Pattern Recognition, 109, 107583.

符号系统

符号含义说明
L = { l 1 , l 2 , ⋯   , l M } \mathbb{L}=\{l_1,l_2,\cdots,l_M\} L={l1,l2,,lM}标签集合
S = { ( x i , Y i ) } i = 1 N \mathbb{S}=\{(\mathbf{x}_i,\mathcal{Y}_i)\}_{i=1}^N S={(xi,Yi)}i=1N数据集
x i = ( x i 1 , ⋯   , x i n ) ∈ R n \mathbf{x}_i=(x_{i1},\cdots,x_{in})\in \mathcal{R}^n xi=(xi1,,xin)Rnn维特征向量
Y i \mathcal{Y_i} Yi标签集样本 x i 对应的标签集合 \mathbf{x}_i对应的标签集合 xi对应的标签集合
h : R n → L \mathcal{h:R^n\rightarrow\mathbb {L}} h:RnL学习的模型

LP:
将多标签问题转换成了单标签多分类问题。使用 f L : 2 L → N f_L:2^{\mathbb {L}}\rightarrow \mathbb{N} fL:2LN将标签组合由自然数来反映,其中 N = { 1 , 2 , ⋯   , 2 ∣ L ∣ } \mathbb{N=\{1,2,\cdots,2^{\mid L\mid}\}} N={1,2,,2L}(没有考虑空集),重新构建的数据集可以表示为: S ∗ = { ( x i , f L ( Y i ) ) } i = 1 N \mathbb{S}^*=\{(\mathbf{x}_i,f_L(\mathcal{Y}_i))\}_{i=1}^N S={(xi,fL(Yi))}i=1N,通过该数据集可以获得一个回归器 h : R n → C L , C L ⊂ N h:\mathcal{R}^n\rightarrow \mathbb{C_L},\mathbb{C_L\subset N} h:RnCL,CLN,最后通过映射函数的反函数获得标签: f L − 1 : N → 2 L f_L^{-1}:\mathbb{N}\rightarrow 2^{\mathbb {L}} fL1:N2L
例如:当前有猫、狗、鼠三种标签,则映射关系可表示为:

N
1
2
3
4
5
6
7

如果经过预测得到自然数5,则表明有猫和鼠两个标签。

LP的缺点:

  1. 自然数的规模随标签的种类呈指数型增长,随着 ∣ L ∣ \mid\mathbb{L}\mid L增大,计算复杂度也呈指数型增加。
  2. 该方法容易造成数据饥饿。例如,有猫、狗、鼠三种标签,在所有的样本中满足同时包含猫、狗、鼠三者的样本几乎没有,这样会导致类别不平衡,训练出来的模型的效果不理想。
  3. (不知道我理解的正不正确:我认为这还是跟数据饥饿有关,比如我们当前的训练集有很多样本满足同时包含猫和鼠、或者猫和狗,如果在预测时,突然来了一个包含狗和鼠的样本,模型难以正确地预测标签)

Usually, C L \mathbb{C_L} CL is a subset of N \mathbb{N} N; i.e., the transformed classes in C L \mathbb{C_L} CL cannot cover all the natural numbers in N \mathbb{N} N.Thus, the model will lose effectiveness when the testing sample is from a new class in N ∖ C L \mathbb{ N \setminus C_L} NCL .

RA k k kEL:
在原有的标签空间中随机产生大小为 k k k的标签子集,将一个大的LP 问题划分成一系列小的LP问题。划分后,标签子集可以表示为: L a = { l a 1 , ⋯   , l a k } ⊂ L , a ∈ [ 1 , m ] \mathcal{L_a}=\{l_{a1},\cdots,l_{ak}\}\subset \mathbb{L},a\in[1,m] La={la1,,lak}L,a[1,m],其中 m m m表示将整个标签集合划分为大小为 k k k的子集个数。RAkEL把空集也认为是一种状态,所以全面考虑了标签的分布情况。划分标签后,根据各个子集标签的分布,需要在训练集中找到与该子集中的标签相关的样本,其中相关的标签用 Y i a \mathcal{Y_{ia}} Yia表示。同时,用 f L a : 2 L a → N a \mathcal{f_{L_a}}:2^\mathcal{L_a}\rightarrow \mathbb{N}_a fLa:2LaNa实现标签的映射,其反函数可以表示为: f L a − 1 : N a → 2 L a \mathcal{f_{L_a}}^{-1}:\mathbb{N}_a\rightarrow 2^\mathcal{L_a} fLa1:Na2La。那么,现在各个标签子集所对应的训练数据集可表示为: S a ∗ = { ( x i , f L a ( Y i a ) ) } i = 1 N , a ∈ [ 1 , m ] \mathbb{S}^*_a=\{(\mathbf x_i,\mathcal{f_{L_a}(Y_{ia})})\}_{i=1}^N,a\in[1,m] Sa={(xi,fLa(Yia))}i=1Na[1,m]。由 m m m个训练数据集可以训练出 m m m个回归器: h a : R n → C L a , a ∈ [ 1 , m ] h_a:\mathcal{R}^n\rightarrow \mathbb{C_{L_a}},a\in[1,m] ha:RnCLa,a[1,m],最后通过 f L a − 1 \mathcal{f_{L_a}}^{-1} fLa1获得对应的标签。
对于一个预测样本 x ^ \mathbf{\hat{x}} x^,需要经过 m m m个模型的预测,得到 m m m个预测结果,最终的预测结果由投票决定:
h ( x ^ ) = { l j ∣ v o t e j ( x ^ ) v o t e j max ⁡ > 0.5 , j ∈ [ 1 , M ] } \mathbf{h(\hat x)}=\lbrace l_j\mid \frac{vote_j(\mathbf{\hat x})}{vote_j^{\max}}\gt 0.5,j\in[1,M]\rbrace h(x^)={ljvotejmaxvotej(x^)>0.5,j[1,M]}
其中, v o t e j ( x ^ ) = ∑ a = 1 m I f L a − 1 ( h a ( x ^ ) ) ( l j ) vote_j(\mathbf{\hat x})=\sum\limits_{a=1}^m\mathbb{I}_{\mathcal{f_{L_a}}^{-1}(h_a(\mathbf{\hat x}))}(l_j) votej(x^)=a=1mIfLa1(ha(x^))(lj) v o t e j max ⁡ = ∑ a = 1 m I L a ( l j ) vote_j^{\max}=\sum\limits_{a=1}^m\mathbb{I}_{\mathcal{L}_a}(l_j) votejmax=a=1mILa(lj)
理解这个投票:咱们有一共m个模型,其中有 v o t e j max ⁡ vote_j^{\max} votejmax个模型的训练数据的标签都包含 l j l_j lj,当预测到一个样本时,所有模型的预测结果中有 v o t e j ( x ^ ) vote_j(\mathbf{\hat x}) votej(x^)个模型预测出有 l j l_j lj标签,那么当 v o t e j ( x ^ ) vote_j(\mathbf{\hat x}) votej(x^)大于 v o t e j max ⁡ vote_j^{\max} votejmax一半的时候,我们就认为该预测样本中是包含标签 l j l_j lj的。
通俗理解:在所有模型中,其中3个模型的训练样本都包含了猫这个标签,当我们预测一个样本的时候,其中有两个模型都预测该样本有猫,那么咱们就认为该样本有猫;相反,如果只有1个模型预测出有猫,其它两个模型都没预测出,那么我们就认为这个预测出有猫的模型出错了,选择相信另外两个模型的结果。

RAkEL的缺点:
随机采样的方式并不能保证有效性;确认标签子集的过程中,并没有考虑到样本的特征信息;在各个标签子集中仍可能存在类别失衡的问题;子集中的类别可分离性影响着模型的性能。

AC k k kEL
相比RA k k kEL,它的创新点在于划分子集这一部分,考虑了划分后子集形成的密集的可分性和类别平衡问题。
类别可分性是线性分析的引申(理论看得似懂非懂);通过标签的联合熵来平衡类别(没懂)。
基分类器就是 S V M SVM SVM,最后仍然是投票的方式决定标签是否存在。

总结
LP:考虑标签组合的所有形式,但复杂度高且容易数据饥饿;
RA k k kEL:是将“大”的多标签问题化成“小”的多标签问题,在“小”的多标签问题中采用LP的方式解决问题;
AC k k kEL:与RA k k kEL思路一样,但在划分的过程中考虑了可分性和类别平衡等因素,使其效果更好。虽然套路懂了,但公式和推理还是超出了理解范围,准备二刷吧。
这篇已经在草稿箱放好久了,后面再补充内容吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值