简要总结
本文提出了一种名为 PL-PIE 的部分标签学习(Partial Label Learning, PLL)算法,该算法基于标签分布的先验信息和误差纠正输出码(Error-Correcting Output Codes, ECOC)框架。PL-PIE 通过利用标签分布信息生成稳定的 ECOC 编码矩阵,并结合损失加权解码算法,解决了 PLL 中候选标签集包含唯一正确标签的问题。实验结果表明,PL-PIE 在多个受控 UCI 数据集和真实 PLL 数据集上表现出色,与现有最先进的 PLL 算法相比具有高度竞争力。
以下是对该文献假设、技术路线、技术细节、数学公式、创新点及实验结果分析的详细说明。
基于的假设
PL-PIE 算法基于以下两个核心假设:
-
候选标签集包含正确标签:每个数据样本的候选标签集 S i S_i Si 中必然包含其真实的 ground-truth 标签 λ ground-truth ∈ S i \lambda_{\text{ground-truth}} \in S_i λground-truth∈Si。这是 PLL 问题的基本前提,确保算法能够在候选标签集中寻找正确标签。
-
标签分布先验信息有效性:标签分布的先验信息(如训练样本中标签集的出现频率和标签对的共现频率)能够显著提高 PLL 算法的性能。这一假设认为,标签分布反映了数据的潜在结构,可用于优化标签分解和分类器的训练。
算法流程
使用的技术路线
PL-PIE 算法采用以下技术路线,将 PLL 问题分解为多个二元分类问题并加以解决:
- 先验知识构建:从训练数据集中提取标签分布的先验信息,包括候选标签集的排序数量和标签对的共现频率。
- ECOC 编码阶段:基于先验信息生成 ECOC 编码矩阵,通过组合、合并和填充三个步骤完成。
- 训练二元分类器:根据编码矩阵的每一列训练一个二元分类器,分别对应正类(+1)和负类(-1)。
- 解码阶段:使用损失加权解码算法,根据分类器的经验性能和预测置信度对未知样本进行标签预测。
这种路线充分利用了 ECOC 框架的纠错能力和标签分布的结构信息,从而提高预测的准确性和稳定性。
实现的技术细节
PL-PIE 算法的具体实现分为以下几个关键部分:
1. 先验知识构建
- 唯一类别集合 Q Q Q:将具有相同候选标签集的训练样本归为一类,形成唯一类别集合 Q = { S 1 u , S 2 u , … , S k u } Q = \{S_1^u, S_2^u, \ldots, S_k^u\} Q={ S1u,S2u,…,Sku},其中 k k k 为唯一类别数。
- 排序集合 Q ′ Q' Q′:根据每个类别中的训练样本数量 ∣ T m ∣ |T_m| ∣Tm∣ 对 Q Q Q 进行降序排序,得到 Q ′ = { S 1 ′ , S 2 ′ , … , S k ′ } Q' = \{S_1', S_2', \ldots, S_k'\} Q′={ S1′,S2′,…,Sk′}。样本数量多的标签集在后续分解中优先级更高。
- 共现矩阵 O O O:计算所有候选标签集中标签对 ( λ i , λ j ) (\lambda_i, \lambda_j) (λi,λj) 的共现频率,构建共现矩阵 O O O,用于指导标签分解。
2. ECOC 编码阶段
- 组合阶段:
- 将 Q ′ Q' Q′ 从中间分成两半( Q 1 ′ Q_1' Q1′ 和 Q 2 ′ Q_2' Q2′)。
- 从两半中各选取一个标签集(如 S i S_i Si 和 S j S_j Sj)作为正类和负类的初始组,优先选择样本数量较多的标签集。
- 初始列定义为 column = S i − ( S j − S i ∩ S j ) \text{column} = S_i - (S_j - S_i \cap S_j) column=Si−(Sj−Si∩Sj),确保正类完整性。
- 合并阶段:
- 迭代地从 Q Q Q 中选择新标签集 S i S_i Si。
- 根据 S i S_i Si 与正类和负类的共现程度(通过共现矩阵 O O O 计算),将其合并到正类或负类。若 S i S_i Si 与两者均有交集,则丢弃。
- 填充阶段:
- 对编码矩阵中的 0 元素进行填充,替换为 +1 或 -1。
- 目标是减少正负训练样本数量的不平衡,并确保每个标签集至少参与一次训练。
- 填充规则:
- 若存在未训练标签集 u ∈ U u \in U u∈U 且 u ⊆ pos j u \subseteq \text{pos}_j u⊆posj,则置为 +1。
- 若 u ⊆ neg j u \subseteq \text{neg}_j u⊆negj,则置为 -1。
- 否则,根据正负样本数量差 N j neg − N j pos N_j^{\text{neg}} - N_j^{\text{pos}} Njneg−Njpos 的符号决定。
3. 训练二元分类器
- 对 ECOC 编码矩阵 C M \boldsymbol{CM} CM 的每一列 C M ( : , j ) \boldsymbol{CM}(:, j) CM(:,j) 训练一个二元分类器 C j C_j Cj。
- 正类训练样本 T R j pos = { T m ∣ S m u ⊆ pos j } T R_j^{\text{pos}} = \{T_m \mid S_m^u \subseteq \text{pos}_j\} TRjpos={ Tm∣Smu⊆posj},负类训练样本 T R j neg = { T m ∣ S m u ⊆ neg j } T R_j^{\text{neg}} = \{T_m \mid S_m^u \subseteq \text{neg}_j\} TRjneg={ Tm∣Smu⊆negj}。
4. 解码阶段
- 使用损失加权解码算法,综合考虑每个分类器的经验性能和预测置信度,预测未知样本的标签。
详细的数学公式表达
PL-PIE 算法涉及以下关键数学公式:
- Hamming 距离:
H D ( V , C M ) = arg min λ i = 1 , … , q ∑ j = 1 L 1 − sign ( C j ( x ) ⋅ C M ( i , j ) ) 2 HD(V, CM) = \arg\min_{\lambda_i=1,\ldots,q} \sum_{j=1}^L \frac{1 - \operatorname{sign}(C_j(x) \cdot CM(i,j))}{2} HD(V,CM)=argλi=1,…,qminj=1∑L21−sign(Cj(x)⋅CM(i,j))
用于衡量分类器输出向量与编码矩阵行之间的差异。
- 欧几里得距离:
E D ( V , C M ) = arg min λ i = 1 , … , q ∑ j = 1 L ( C j ( x ) − C M ( i , j ) ) 2 ED(V, CM) = \arg\min_{\lambda_i=1,\ldots,q} \sum_{j=1}^L (C_j(x) - CM(i,j))^2 ED(V,CM)=argλi=1,…,qminj=1∑L(Cj(x)−CM(i,j))2
计算预测输出与编码矩阵的平方差。
- 经验损失加权距离:
L W ( V , C M ) = arg min λ i = 1 , … , q ∑ j = 1 L 1 P M ( i , j ) e − C j ( x ) × C M ( i , j ) LW(V, CM) = \arg\min_{\lambda_i=1,\ldots,q} \sum_{j=1}^L \frac{1}{PM(i,j) e^{-C_j(x) \times CM(i,j)}} LW(V,CM)=argλi=1,…,qminj=1∑LPM(i,j)e−Cj(x)×CM(i,j)1
结合分类器的经验性能和预测置信度。
- 性能矩阵:
P M ( i , j ) = 1 D i ∑ ( x t , S t ) ∈ D i I { sign ( C j ( x t ) ) = sign ( C M ( i , j ) ) } PM(i,j) = \frac{1}{D_i} \sum_{(x_t, S_t) \in D_i} \mathbb{I}\{\operatorname{sign}(C_j(x_t)) = \operatorname{sign}(CM(i,j))\} PM(i,j)=Di1(xt,St)∈Di∑I{ sign(Cj(xt))=sign(CM(i,j))}
其中 D i = { ( x t , S t ) ∣ λ i ∈ S t } D_i = \{ (x_t, S_t) \mid \lambda_i \in S_t \} Di={(xt,St)∣λi∈St}, I \mathbb{I} I 为指示函数,衡量分类器 C j C_j Cj 在标签 λ i \lambda_i λi 上的经验性能。
- 规范化性能矩阵:
P M ‾ ( i , j ) = P M ( i , j ) ∑ j = 1 L P M ( i , j ) \overline{PM}(i,j) = \frac{PM(i,j)}{\sum_{j=1}^L PM(i,j)} PM(i,j)=∑j=1LPM(i,j)PM(i,j)
对性能矩阵进行归一化,消除分类器间预测置信度的差异。
- 最终预测:
f ( x ∗ ) = arg min λ i = 1 , … , q ∑ j = 1 L 1 P M ‾ ( i , j ) e − C j ( x ∗ ) × C M ( i , j ) f(x^*) = \arg\min_{\lambda_i=1,\ldots,q} \sum_{j=1}^L \frac{1}{\overline{PM}(i,j) e^{-C_j(x^*) \times CM(i,j)}} f(x∗)=argλi=1,…,qminj=1∑LPM(i,j)e−Cj(x∗)×CM(i,j)1
通过最小化损失加权距离预测测试样本 x ∗ x^* x∗ 的标签。
提出的创新点
PL-PIE 算法提出了以下创新点:
- 利用标签分布先验信息:通过标签集排序数量和标签对共现频率生成 ECOC 编码矩阵,克服了随机二分法的不稳定性。
- 优化编码矩阵生成:设计了组合、合并和填充三个步骤,确保每个分类器的二元分解更加合理且覆盖所有标签集。
- 损失加权解码:结合分类器的经验性能和预测置信度,提高解码阶段的预测准确性。
这些创新点共同提升了算法在 PLL 问题上的性能和稳定性。
实验结果分析
实验设置
- 数据集:
- 受控 UCI 数据集:9 个数据集(如 E. coli、Segment 等),通过参数 r r r(候选标签数)、 p p p(部分标签比例)和 ϵ \epsilon ϵ(共现概率)生成 PLL 数据。
- 真实 PLL 数据集:5 个数据集(Lost、BirdSong、MSRCv2、Soccer Player、Yahoo! News)。
- 对比算法:PL-KNN、PL-SVM、CLPL、PL-ECOC。
- 评估方法:10 次十折交叉验证,记录平均准确率和标准差,使用 0.05 显著性水平的双尾 t t t 检验。
结果分析
-
受控 UCI 数据集:
- PL-PIE 在 9 个数据集上的表现:
- 优于 CLPL 的 100%(9/9)。
- 优于 PL-KNN 的 90.9%(229/252 次测试),劣于 1.2%(3/252)。
- 优于或相当于 PL-SVM 的 90.9%(229/252),劣于 1.6%(4/252)。
- 优于或相当于 PL-ECOC 的 84.5%(213/252),劣于 0.4%(1/252)。
- 随着 p p p 和 ϵ \epsilon ϵ 增加,所有算法性能下降,但 PL-PIE 保持相对优势。
- PL-PIE 在 9 个数据集上的表现:
-
真实 PLL 数据集:
- Lost:64.41 ± 0.16,优于 PL-ECOC(59.62 ± 0.44)、PL-KNN(34.90 ± 0.16)、PL-SVM(62.38 ± 0.21),稍逊于 CLPL(69.68 ± 0.27)。
- BirdSong:73.48 ± 0.27,显著优于所有对比算法。
- MSRCv2:45.32 ± 0.46,显著优于所有对比算法。
- Soccer Player:49.31 ± 0.26,与 PL-ECOC(49.23 ± 0.33)和 PL-KNN(49.36 ± 0.17)相当,优于 PL-SVM 和 CLPL。
- Yahoo! News:61.90 ± 0.42,与 PL-ECOC(61.03 ± 0.38)相当,优于 PL-KNN 和 CLPL,逊于 PL-SVM(62.85 ± 0.37)。
-
参数敏感性:
- 基础分类器:PL-PIE 对分类器选择敏感,SVM 下性能最佳,优于 PL-ECOC;其他分类器(如 Bayes、KNN)在部分数据集上表现较差。
- 组合阈值 ξ \xi ξ:在 ξ ∈ [ 0.5 , 0.7 ] \xi \in [0.5, 0.7] ξ∈[0.5,0.7] 时性能最佳,表明合并和填充的平衡对算法至关重要。
结论
PL-PIE 在大多数受控和真实数据集上优于或相当于现有 PLL 算法,尤其在小样本类别和复杂标签分布场景下表现突出。其优势源于标签分布先验信息和优化编码策略的应用。
以上是对该文献的全面分析,涵盖了假设、技术路线、技术细节、数学公式、创新点和实验结果的精确表述。