多标签特征选择与多模态多目标优化¶
约 2202 个字 预计阅读时间 11 分钟
1. 多标签学习是什么?¶
在传统的学习任务中,每个样本只有一个标签(例如,图片分类中,一张图片只能是“猫”或“狗”)。但现实世界更复杂,很多情况下一个样本可以有多个标签。例如:
- 图片:一张图片可能同时包含“狗”、“动物”、“户外”三个标签。
- 新闻文章:一篇新闻文章可能同时涉及“体育”、“财经”两个主题。
这种每个样本有多个标签的情况,就是多标签学习(Multi-Label Learning, MLC)。多标签学习的目标是让模型能够同时预测多个标签。
2. 为什么需要特征选择?¶
在多标签学习中,数据集通常有很多特征(例如,图片的像素值、文本的词频等)。但并不是所有特征都有用,有些特征可能:
- 无关:和标签关系不大,比如图片中的背景颜色。
- 冗余:和已有特征重复,比如两个特征都表示图片的亮度。
保留太多这样的特征会让模型变得复杂,运行速度慢,还容易出错。所以需要特征选择,从大量特征中挑出最有用的特征子集。
3. 这篇论文要解决的问题¶
这篇论文关注的是多标签特征选择(MLFS)。它的目标是找到一组特征子集,这组特征能够帮助模型同时预测多个标签,并且性能要好。
但传统的方法(比如只挑最重要的特征)有局限性,因为:
- 它们忽略了特征之间的关系。
- 它们没有考虑不同特征组合可能对不同标签组合有不同的效果。
4. 论文的核心思路:将 MLFS 视为 MMO 问题¶
论文提出了一种新的视角,把多标签特征选择(MLFS)问题看作是一个多模态多目标优化(MMO)问题。这是什么意思呢?
(1) 多目标优化¶
在多标签学习中,我们有多个目标需要同时优化,比如:
- 提高“狗”标签的预测准确率。
- 提高“动物”标签的预测准确率。
- 提高“户外”标签的预测准确率。
这些目标可能相互冲突,比如为了提高“狗”标签的准确率,可能会降低“动物”标签的准确率。所以需要找到一个平衡点。
(2) 多模态优化¶
在多标签学习中,不同的特征组合可能对不同的标签组合有不同的效果。比如:
- 特征 A、B、C 对“狗”和“动物”标签组合效果好。
- 特征 D、E、F 对“狗”和“户外”标签组合效果好。
这就像是不同的“模态”,需要找到多个最优的特征组合,这些组合在目标空间(即多个标签的预测性能)中具有多样性。
5. 论文提出的算法:MMDE_SICD¶
为了实现这个目标,论文提出了一种新的算法 MMDE_SICD,它包含以下几个关键步骤:
(1) 预筛选(Correlation-Based Elimination Scheme, CBES)¶
在开始之前,先对特征进行预筛选。计算每个特征和标签的相关性分数,然后去掉相关性低的特征。这样可以减少不必要的特征,加快后续的计算速度。
计算相关性分数¶
对于每个特征 $ f_d $,计算其与标签集合 $ Y $ 的相关性分数 $\text{Corr}(f_d, Y) \(: \(\text{Corr}(f_d, Y) = \max_{k=1,2,\ldots,K} \left| \frac{\sum_{n=1}^{N} (f_{dn} - \bar{f}_d)(y_{kn} - \bar{y}_k)}{\sqrt{\sum_{n=1}^{N} (f_{dn} - \bar{f}_d)^2} \sqrt{\sum_{n=1}^{N} (y_{kn} - \bar{y}_k)^2}} \right|\) 其中,\) f_d $ 是第 $ d $ 个特征向量,$ y_k $ 是第 $ k $ 个标签向量,$ \bar{f}_d $ 和 $ \bar{y}_k $ 分别是它们的均值。
排名和筛选¶
根据相关性分数对特征进行排名,并去除排名靠后的一定比例(如 50%)的特征。
(2) 初始化(Information-Based Initialization Scheme, IBIS)¶
生成初始的种群(即一组候选的特征子集)。一半是随机生成的,另一半是从高相关性特征中挑选的。这样可以保证种群既有随机性(探索新区域),又有相关性(利用已知信息)。
随机初始化¶
生成初始种群的一半,随机选择特征组合:
$$ x_{ij} = \begin{cases}
1 & \text{if } U(0, 1)_{ij} > \text{Th} \
0 & \text{otherwise}
\end{cases} $$
其中,\(U(0, 1)_{ij}\) 是均匀分布的随机数,Th 是阈值(如 0.75)。
基于相关性初始化¶
生成初始种群的另一半,选择排名靠前的特征组合:
- 随机选择一定数量(如 ⅛ 到 ¼)的高相关性特征,设置对应的特征码为 1。
(3) 进化过程¶
进化过程 是算法的核心,包括两个阶段:探索阶段(ESGO) 和 环境选择阶段(SICD)。
探索阶段(Exploration Scheme Inspired by Genetic Operations, ESGO)¶
对每个候选特征子集(个体),通过交叉和变异操作生成新的后代。交叉操作是把两个特征子集“混合”,生成新的子集;变异操作是随机改变某个特征子集的一部分。这样可以增加解的多样性。
交叉操作¶
对每个个体 $ x_i $,随机选择另一个个体 $ x_k $,进行两点交叉生成两个后代 $ c'_1 $ 和 $ c'_2 $。
变异操作¶
对每个后代 \(c'_1\) 和 \(c'_2\) 进行变异操作,生成两个孙代 \(c''_1\) 和 \(c''_2\)。
生成新的个体¶
将每个个体及其后代和孙代合并到一个联合集合中。
环境选择阶段(Statistically Inspired Crowding Distance, SICD)¶
从所有生成的候选子集中,选择高质量且多样化的子集进入下一代。这里用到了“拥挤距离”来衡量解的多样性。拥挤距离大的解保留下来,这样可以避免局部最优解,保持种群的多样性。
计算量化分数¶
根据冗余度对联合集合中的个体进行分层,去除冗余度最高的个体。
非支配排序¶
对剩余个体进行非支配排序,生成多个非支配前沿。
计算拥挤距离¶
计算每个个体在决策空间和目标空间的拥挤距离 \(\text{CD}_i^x\) 和 \(\text{CD}_i^f\):
$$ \text{SCD}i = \begin{cases}
\max\left(\frac{\text{CD}_ix}{\text{CD}_{\text{avg}}x}, \frac{\text{CD}_if}{\text{CD}_{\text{avg}}f}\right) & \text{if } \text{CD}_i^x > \text{CD}}}^x \text{ or } \text{CDi^f > \text{CD}^f \}
\min\left(\frac{\text{CD}_ix}{\text{CD}_{\text{avg}}x}, \frac{\text{CD}_if}{\text{CD}_{\text{avg}}f}\right) & \text{otherwise}
\end{cases} $$
其中,\(\text{CD}_{\text{avg}}^x\) 和 \(\text{CD}_{\text{avg}}^f\) 分别是平均拥挤距离。
选择个体¶
根据 SCD 分数选择个体进入下一代,保持种群的多样性和高质量。
(4) 迭代优化¶
重复上述进化过程,直到满足终止条件(比如达到最大迭代次数)。最终得到的 Pareto 前沿上的特征子集,就是最优的特征组合。
6. 为什么这样做更好?¶
通过将多标签特征选择问题建模为多模态多目标优化问题,MMDE_SICD 算法能够:
- 找到多个最优特征子集:这些子集在多个标签的预测性能上达到平衡,同时在特征组合上具有多样性。
- 提高模型性能:通过优化多个目标(多个标签的预测性能),提高模型的准确率和泛化能力。
- 减少计算复杂性:通过预筛选和优化过程,减少不必要的特征,提高计算效率。
7. 论文的实验验证¶
论文通过在多个多标签数据集上进行实验,验证了 MMDE_SICD 算法的性能。实验结果表明,MMDE_SICD 在以下几个方面优于传统方法:
- 分类性能更好:在多个标签的预测准确率上更高。
- 特征子集更优:找到的特征子集更小,但性能更好。
- 多样性更高:找到的特征子集在目标空间中具有更高的多样性。
8. 总结¶
这篇论文的核心是将多标签特征选择问题视为一个多模态多目标优化问题。通过提出一种新的算法 MMDE_SICD,它通过预筛选、初始化、进化过程等步骤,找到一组最优且多样化的特征子集。这种方法能够提高多标签学习的性能和效率,为多标签特征选择提供了一种新的解决方案。