论文学习—Efficient Multi-label Classification with Many Labels

摘要

在这里插入图片描述

论文的摘要指出了多标签分类中随着标签数量增加带来的计算挑战,并简要介绍了现有方法的不足。通过提出一种基于随机采样的标签选择方法,本文为处理大规模标签数据集提供了一个高效且有效的解决方案。该方法通过反映标签的重要性来优化采样过程,从而在不显著损失分类精度的情况下减少计算复杂性。实验结果进一步支持了提出方法的实际应用潜力,使其成为处理大规模多标签分类问题的有力工具。

  1. 多标签分类的挑战

    • 在多标签分类中,每个样本可能与一组类别标签相关联。当标签数量增长到数百甚至数千时,现有的多标签分类方法在计算上变得效率低下。这种标签数量的增长导致了计算复杂性的大幅增加。
  2. 现有解决方案的局限性

    • 近年来,针对这个问题提出了一些解决方案。然而,这些方法通常基于简单的维度缩减技术或涉及昂贵的优化问题。这两种方法要么在处理复杂标签关系时缺乏灵活性,要么在计算上代价高昂。
  3. 本文的方法

    • 本文通过选择能够近似覆盖原始标签空间的小子集的类别标签来解决这个问题。这种方法基于一个高效的随机采样过程,其中每个类别标签的采样概率反映了其在所有标签中的重要性。这种标签选择的策略旨在保持原始标签信息的同时减少计算负担。
  4. 实证结果

    • 在包含大量标签的多个真实数据集上进行的实验表明,提出的算法具有吸引人的性能和效率。实验证明了该算法在多标签分类任务中的有效性,特别是在处理标签数量庞大的情况下。

2. 多标签分类相关工作

2.1 Label Transformation

Hsu 等人在 2009 年提出的一个三步方法,用于解决拥有大量标签的分类问题。
在这里插入图片描述

1. 降维(Dimensionality Reduction)

  • 高维标签向量投影到低维空间:首先,算法将高维的标签向量通过随机变换投影到一个低维空间中。高维标签向量可能包含了大量的标签,这会导致计算复杂度高、模型训练时间长、易过拟合等问题。通过降维,可以减少特征的数量,同时保留数据的主要信息,使得计算变得更高效。

  • 随机变换:使用随机变换方法将标签向量投影到低维空间。这种方法能够快速且有效地降低数据维度,同时在统计意义上保留原始高维空间的信息。随机变换的应用在高维数据处理中是常见的,因为它能够避免在降维过程中引入偏差。

2. 回归模型(Regression Model)

  • 为每个变换后的标签向量维度建立回归模型:在标签向量被投影到低维空间后,算法会为低维空间中的每个维度建立一个回归模型。回归模型用于学习输入数据与投影后标签之间的关系。

  • 目标:这些回归模型的目标是捕捉数据特征与低维标签之间的关系,以便在进行预测时能够基于输入特征提供准确的标签预测。这一步骤确保了模型能够有效地学习并推广到新样本。

3. 逆变换(Inverse Transformation)

  • 从低维空间回到原始标签空间:当给定一个测试样本时,首先使用训练好的回归模型对低维空间中的标签进行预测。然后,将预测的低维标签向量通过逆变换投影回原始的高维标签空间中。

  • 恢复原始标签格式:这一步确保最终的输出符合原始的高维标签格式,使得预测结果可以直接应用于实际问题。逆变换通过映射恢复了标签的完整信息。
    在这里插入图片描述

不同降维方法的有效性,以及一些替代方法的提出和改进。这些方法主要是针对 Hsu 等人(2009 年)提出的随机变换方法进行优化和改进。Tai & Lin (2012) 发现,Hsu 等人提出的随机变换方法在某些情况下并不有效。随机变换可能不能充分捕捉标签矩阵 ( Y ) 的结构特性,从而影响模型的性能。

PLST:为了克服随机变换的局限性,Tai & Lin 提出了主标签空间变换(Principal Label Space Transformation,PLST)。PLST 使用主成分分析(PCA)对标签矩阵 ( Y ) 进行降维。PCA 的优势在于它可以找到数据的主方向,即那些能解释最大方差的方向,从而有效地减少维度。

  • PCA 的限制:然而,PCA 只关注最小化 ( Y ) 与其低维表示之间的编码误差。这意味着虽然降维后的表示在信息损失上最小,但它不一定能在分类任务上达到最佳效果,因为它没有直接考虑训练误差。

CPLST:为了解决 PCA 的局限性,Chen & Lin (2012) 提出了条件主标签空间变换(Conditional PLST,CPLST)。CPLST 同时最小化编码误差和在低维空间中的训练误差,从而在降维和分类性能之间取得更好的平衡。

典型相关分析(CCA) Zhang & Schneider 提出使用典型相关分析(Canonical Correlation Analysis,CCA),这是一种考虑输入和输出矩阵之间相关性的降维方法。CCA 的优势在于它能够同时关注输入特征和标签之间的关系,从而找到一个能够更好反映两者关系的子空间。

  • 最大间隔公式:他们进一步提出了一个最大间隔公式,用于学习一个既能预测(基于低维空间中的预测)又能区分(使得不同的标签向量有不同的变换标签向量)的输出编码。这种方法强调了区分性和预测性的重要性。

  • 算法效率问题:不过,这种方法依赖于切割平面算法(cutting plane algorithm),在标签数量较多时可能效率不高。

高斯随机投影Zhou et al. 使用高斯随机投影进行标签的降维。这种方法的优点在于其计算简单,并且在大多数情况下能够有效地近似高维空间中的结构。

  • 预处理开销:在预处理阶段,他们提取了一个辅助的精简标签集,该标签集包含了频繁出现的标签子集。然而,实际操作中,这一步骤的计算代价很高。

2.2. Label Selection

在这里插入图片描述

假设所有的输出标签可以通过一个较小的子集来恢复,这意味着可以找到一个较小的标签集来近似表示所有的输出标签。数学上,这可以表示为:
Y ≈ Y W \mathbf{Y} \approx \mathbf{Y}\mathbf{W} YYW

其中:

  • Y \mathbf{Y} Y 是标签矩阵。
  • W ∈ R d × d \mathbf{W} \in \mathbb{R}^{d \times d} WRd×d 是系数矩阵,其中只有少数几行是非零的。

** 优化目标**:MOPLMS 的优化目标是最小化以下函数:
min ⁡ W ∥ Y − Y W ∥ F 2 + λ 1 ∥ W ∥ 1 , 2 + λ 2 ∥ W ∥ 1 \min_{\mathbf{W}} \|\mathbf{Y} - \mathbf{Y}\mathbf{W}\|_F^2 + \lambda_1 \|\mathbf{W}\|_{1,2} + \lambda_2 \|\mathbf{W}\|_1 WminYYWF2+λ1W1,2+λ2W1

这里:

  • ∥ Y − Y W ∥ F 2 \|\mathbf{Y} - \mathbf{Y}\mathbf{W}\|_F^2 YYWF2 是 Frobenius 范数,用于衡量标签矩阵 Y \mathbf{Y} Y 与通过 W \mathbf{W} W 重构后的矩阵之间的差异。

  • ∥ W ∥ 1 , 2 \|\mathbf{W}\|_{1,2} W1,2 ℓ 1 , 2 \ell_{1,2} 1,2 组稀疏正则化项,用于鼓励 W \mathbf{W} W 的行稀疏性,即希望 W \mathbf{W} W 中只有少数几行有非零值。这样可以确保只有少数标签子集对输出有显著影响,从而实现标签选择的目的。:

    ∥ W ∥ 1 , 2 = ∑ i = 1 d ∑ j = 1 d W i j 2 \|\mathbf{W}\|_{1,2} = \sum_{i=1}^d \sqrt{\sum_{j=1}^d W_{ij}^2} W1,2=i=1dj=1dWij2

  • ∥ W ∥ 1 \|\mathbf{W}\|_1 W1 是传统的 ℓ 1 \ell_1 1 正则化项,用于鼓励整个矩阵 W \mathbf{W} W 的稀疏性,即希望 W \mathbf{W} W 中大部分元素为零。这样做可以避免模型的过度复杂化,提升其泛化能力:

    ∥ W ∥ 1 = ∑ i = 1 k ∑ j = 1 d ∣ W i j ∣ \|\mathbf{W}\|_1 = \sum_{i=1}^k \sum_{j=1}^d |W_{ij}| W1=i=1kj=1dWij

计算复杂性和控制问题:当标签数量 d d d 很大时,矩阵 W \mathbf{W} W 变得很大,计算这个优化问题会变得非常复杂。此外,标签子集的大小无法直接控制,只能通过调整正则化参数 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 来间接影响。

2.3. 列子集选择问题Column Subset Selection Problem (CSSP)

列子集选择问题(CSSP)通过选择有限数量的列来近似表示整个矩阵。目标是选择那些能够最大程度上保留原始矩阵信息的列,这样可以在降低数据维度的同时尽量保持数据的原始结构和信息量。通过最小化投影残差,可以有效地实现这一目标。

1. 问题描述

给定一个矩阵 A ∈ R n × d \mathbf{A} \in \mathbb{R}^{n \times d} ARn×d 和一个正整数 k k k,列子集选择问题(CSSP)的目标是从矩阵 A \mathbf{A} A 中选择恰好 k k k 列,使得这些列能够尽可能多地表示原始矩阵 A \mathbf{A} A

换句话说,CSSP 要求找到一个列索引集合 C C C,其大小为 k k k,使得所选列能够最大程度地覆盖矩阵 A \mathbf{A} A 的信息。

2. 目标函数

CSSP 可以通过最小化以下残差来表达:

∥ A − A C A C † A ∥ F \|\mathbf{A} - \mathbf{A}_C \mathbf{A}_C^{\dagger} \mathbf{A}\|_F AACACAF

其中:

  • A C \mathbf{A}_C AC 表示由集合 C C C 中的列构成的子矩阵。换句话说, A C \mathbf{A}_C AC 包含了从 A \mathbf{A} A 中选择的 k k k 列。
  • A C † \mathbf{A}_C^{\dagger} AC A C \mathbf{A}_C AC 的伪逆矩阵。
  • A C A C † \mathbf{A}_C \mathbf{A}_C^{\dagger} ACAC 是一个投影矩阵,它将 A \mathbf{A} A 投影到由 A C \mathbf{A}_C AC 的列所张成的 k k k 维子空间上。
  • ∥ ⋅ ∥ F \|\cdot\|_F F 是 Frobenius 范数,用于衡量矩阵之间的差异。

3. 理解公式

公式 ∥ A − A C A C † A ∥ F \|\mathbf{A} - \mathbf{A}_C \mathbf{A}_C^{\dagger} \mathbf{A}\|_F AACACAF 的含义是:

  • 残差 A − A C A C † A \mathbf{A} - \mathbf{A}_C \mathbf{A}_C^{\dagger} \mathbf{A} AACACA:这个表达式代表原始矩阵 A \mathbf{A} A 与其在子空间投影后的近似表示之间的差异。我们希望通过选择合适的 k k k 列,使得这种差异尽可能小。
  • 最小化残差:目标是找到一个子集,使得 A \mathbf{A} A 在被投影到由 A C \mathbf{A}_C AC 列张成的子空间后的表示,能够最大限度地保持原始矩阵的信息。换句话说,我们希望 A C \mathbf{A}_C AC 能够捕捉 A \mathbf{A} A 中的主要信息。

4. 伪逆的作用

伪逆 A C † \mathbf{A}_C^{\dagger} AC 在这个问题中的作用是找到一个最佳的线性组合系数,使得 A C A C † A \mathbf{A}_C \mathbf{A}_C^{\dagger} \mathbf{A} ACACA 能够作为 A \mathbf{A} A 的最佳近似。伪逆提供了一种广义的逆矩阵方法,特别适用于 A C \mathbf{A}_C AC 不是方阵或不满秩的情况。

这段文字讨论了列子集选择问题(Column Subset Selection Problem, CSSP)中穷举搜索的计算复杂性,并提出了一种更高效的解决方案,即使用随机采样方法。以下是对这段内容的详细解释:

5. 穷举搜索的计算复杂性

在这里插入图片描述

穷举搜索是解决 CSSP 的一种直接但非常耗时的方法。为了找到能够最大程度表示原始矩阵的 k k k 列,我们需要检查所有可能的列组合。如果矩阵 A \mathbf{A} A d d d 列,那么我们选择 k k k 列的组合数量是 O ( d k ) O(d^k) O(dk)。即使 k k k 相对较小,当 d d d 很大时(例如,成千上万的列),组合数量会迅速增大,导致计算时间过长,无法实际操作。

6. 随机采样方案

由于穷举搜索在高维数据上的计算代价过高,研究人员提出了使用随机采样的方法来找到 CSSP 的近似解。这些随机化采样方法能够更高效地处理大规模数据,避免了穷举所有可能的组合。

  • 随机采样的优点:随机采样方法通过引入随机性,快速选择子集,并使用统计特性确保选择的子集能代表原始矩阵的主要信息。虽然它不能保证找到绝对最优解,但它能够在合理的计算时间内找到一个较好的近似解。
    在这里插入图片描述

精确子空间采样方案 :精确子空间采样方案最早由 Drineas et al. (2006) 提出,并被其他 CSSP 算法所采用和扩展(如 Boutsidis et al., 2009)。对于给定的容许误差 ϵ \epsilon ϵ,该算法从矩阵 A \mathbf{A} A 中采样 O ( k 2 / ϵ 2 ) O(k^2 / \epsilon^2) O(k2/ϵ2) 列。这里的 k k k 是所选子空间的维度, ϵ \epsilon ϵ 是允许的近似误差。较小的 ϵ \epsilon ϵ 值需要更多的列,以确保近似的准确性。算法选择第 i i i 列的概率由以下公式给出:

p i = 1 k ∥ ( V A , k T ) ( i ) ∥ 2 2 p_i = \frac{1}{k} \|\left(\mathbf{V}_{\mathbf{A},k}^T\right)_{(i)}\|_2^2 pi=k1(VA,kT)(i)22

其中:

  • V A , k \mathbf{V}_{\mathbf{A},k} VA,k 是包含矩阵 A \mathbf{A} A 的前 k k k 个右奇异向量的矩阵。这些奇异向量通过奇异值分解(SVD)计算得到,代表了数据的主方向。

  • ∥ ( V A , k T ) ( i ) ∥ 2 2 \|\left(\mathbf{V}_{\mathbf{A},k}^T\right)_{(i)}\|_2^2 (VA,kT)(i)22 表示第 i i i 列在最佳秩- k k k 子空间中的杠杆分数(leverage score)。这个分数衡量了该列对子空间表示的重要性。

杠杆分数的作用::杠杆分数(leverage score)表示数据点(或矩阵列)对低维子空间的重要性。高杠杆分数的列对子空间的贡献大,因此在采样时应给予更高的概率。这可以有效地偏向于那些对子空间扩展有重要作用的列。在统计回归分析中,杠杆分数也用于识别离群点(outliers),这些点往往对数据分析结果有显著影响。
近似误差的界定: 通过这种采样方法,可以在概率 1 − 1 ϵ 1 - \frac{1}{\epsilon} 1ϵ1 的情况下保证近似误差满足:

∥ A − A C A C † A ∥ F ≤ ( 1 + ϵ ) ∥ A − A k ∥ F \|\mathbf{A} - \mathbf{A}_C \mathbf{A}_C^{\dagger} \mathbf{A}\|_F \leq (1 + \epsilon) \|\mathbf{A} - \mathbf{A}_k\|_F AACACAF(1+ϵ)AAkF

其中:

  • A C \mathbf{A}_C AC 是从 A \mathbf{A} A 中选出的列子集所构成的子矩阵。
  • A C † \mathbf{A}_C^{\dagger} AC A C \mathbf{A}_C AC 的伪逆矩阵,用于投影操作。
  • A k \mathbf{A}_k Ak A \mathbf{A} A 的最佳秩- k k k 近似矩阵,代表 A \mathbf{A} A 在秩为 k k k 的限制下最好的逼近。
    在这里插入图片描述
    Boutsidis 等人在 2009 年提出的一种方法,通过随机采样结合 RRQR 分解,能够有效提取矩阵 A \mathbf{A} A 的信息,使得仅使用一部分列就可以达到接近最佳秩- k k k 近似的效果。误差界限的公式表明,这种方法的近似误差与最佳秩- k k k 近似的误差有一个 Θ ( k log ⁡ 1 2 k ) \Theta(k \log^{\frac{1}{2}} k) Θ(klog21k) 倍数的关系。该方法主要步骤是:
  • 从矩阵 A \mathbf{A} A 中随机抽取 Θ ( k log ⁡ k ) \Theta(k \log k) Θ(klogk) 列。这些列的抽取概率由式 (2) 确定。
  • 对这些抽取的列进行缩放,并对其进行一个称为“Rank-Revealing QR”(RRQR)的分解。

误差界:该方法可以精确从 A \mathbf{A} A 中提取 k k k 列,使得近似误差满足以下界限:

  • 给定 0.8 0.8 0.8 的概率,这种方法的误差界限是:
    ∥ A − A C A C † A ∥ F ≤ Θ ( k log ⁡ 1 2 k ) ∥ A − A k ∥ F \|\mathbf{A} - \mathbf{A}_C \mathbf{A}_C^\dagger \mathbf{A}\|_F \leq \Theta(k \log^{\frac{1}{2}} k) \|\mathbf{A} - \mathbf{A}_k\|_F AACACAFΘ(klog21k)AAkF

3. Proposed Algorithm

在这里插入图片描述
列子集选择问题(CSSP)的算法的目标是从给定的矩阵中选择 k k k 列,使得重构误差最小化。这个目标与多输出预测标志选择方法(MOPLMS)相同,但在这里使用的是标签矩阵 Y \mathbf{Y} Y。公式提供了一个明确的优化目标,即选择的列子集应能够在尽可能小的误差范围内代表原始矩阵 Y \mathbf{Y} Y 的信息。通过这种方式,可以有效地减少数据维度,同时保持数据的主要特征。

1. 列子集选择问题(CSSP)的目标

  • CSSP 的目标:列子集选择问题的目标是从一个给定的矩阵 A \mathbf{A} A 中选择 k k k 列,使得用这些列来近似表示原始矩阵时的重构误差最小化。

  • 与 MOPLMS 的关系:这与多输出预测标志选择方法(MOPLMS)有相同的目标。在 MOPLMS 中,假设标签矩阵 Y \mathbf{Y} Y 可以被一个较小的子集表示,因此这里的 CSSP 方法可以视为 MOPLMS 方法的一个特例或相关方法。

2. 优化目标公式

标签矩阵 Y \mathbf{Y} Y 扮演着类似于矩阵 A \mathbf{A} A 的角色。目标是通过选择一个列子集 C C C 来最小化重构误差。数学表达式如下:

min ⁡ C ∥ Y − Y C Y C † Y ∥ F \min_{C} \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^{\dagger} \mathbf{Y}\|_F CminYYCYCYF

  • Y \mathbf{Y} Y:这是原始标签矩阵,包含所有输出标签的完整信息。

  • Y C \mathbf{Y}_C YC:这是从 Y \mathbf{Y} Y 中选出的列子集所构成的子矩阵, C C C 表示选择的列的索引集合。

  • Y C † \mathbf{Y}_C^{\dagger} YC:这是 Y C \mathbf{Y}_C YC 的伪逆矩阵,用于计算投影。伪逆在这里起到的作用是找到最佳的系数,使得 Y C Y C † Y \mathbf{Y}_C \mathbf{Y}_C^{\dagger} \mathbf{Y} YCYCY 能够最佳地近似 Y \mathbf{Y} Y

  • ∥ ⋅ ∥ F \|\cdot\|_F F:Frobenius 范数,用于衡量矩阵之间的差异。Frobenius 范数的平方和所有元素的平方和,是衡量矩阵重构误差的标准方式。

3. 直观理解

  • 选择列的目的:通过选择合适的列子集 Y C \mathbf{Y}_C YC,可以有效地减少数据维度,同时保持尽可能多的原始信息。这个过程类似于在原始数据中找到最具代表性的信息点或特征点,以减少数据冗余。

  • 投影操作的意义 Y C Y C † \mathbf{Y}_C \mathbf{Y}_C^{\dagger} YCYC 是一个投影矩阵,表示将原始矩阵 Y \mathbf{Y} Y 投影到由 Y C \mathbf{Y}_C YC 列所张成的子空间中。这个投影操作有助于保留 Y \mathbf{Y} Y 的主要信息,而忽略次要细节。

  • 重构误差最小化:通过最小化 ∥ Y − Y C Y C † Y ∥ F \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^{\dagger} \mathbf{Y}\|_F YYCYCYF,可以确保选择的列子集在近似表示原始矩阵时具有最高的精度。这在数据降维、特征选择以及多标签分类等任务中都具有重要意义。

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

MOPLMS依赖于一个昂贵的优化问题来选择标签(列)。这种方法可能由于复杂的优化计算而需要较大的计算资源。相比之下,本文提到了一种CSSP变体(Section 3.1),它可以用来替代MOPLMS。CSSP变体的目的是通过更高效的方式选择标签。 一旦选择了 k k k个标签,针对每个标签将训练一个二元分类器。另一种选择是将这 k k k个标签作为多任务学习中的任务联合训练。 总体上,需要训练 k k k个二元分类器。这与直接应用BR(Binary Relevance)方法形成对比,因为BR方法需要训练 d d d个二元分类器,其中 d ≫ k d \gg k dk,也就是说直接用BR方法会导致更多的分类器训练,增加计算成本。即通过CSSP方法选择有限的 k k k个标签并相应地训练 k k k个分类器,比直接使用BR方法(需要训练大量的 d d d个分类器)更加高效。

在这里插入图片描述
现有标签选择算法在列子集选择中的限制和计算成本问题。虽然可以使用CSSP中的算法来选择标签,但这些算法在列选择的精确性和计算开销方面存在挑战。要么选择了过多的列,要么在选择列之前需要一个复杂的步骤,这可能使得整个过程在计算上变得不经济。
标签选择视为CSSP:标签选择问题现在被看作是一个列子集选择问题(CSSP)。从原则上讲,可以使用Section 2中提到的任何算法来解决这个问题。但是,这些方法可能不完全令人满意。

选择标签数量的差异:虽然我们的目标是从标签矩阵 Y \mathbf{Y} Y中精确选择 k k k列,Drineas等人(2006)提出的算法通常会选择远多于 k k k列的标签。

Boutsidis等人的算法:虽然Boutsidis等人(2009)提出的算法可以精确输出 k k k列,但它首先需要选择 c = Θ ( k log ⁡ k ) c = \Theta(k \log k) c=Θ(klogk)列。也就是说,这个算法在选择出 k k k个最终标签之前,首先会选出一个数量级更多的初始列。这里 Θ ( k log ⁡ k ) \Theta(k \log k) Θ(klogk)表示 c c c k log ⁡ k k \log k klogk在数量级上的一致性。

选择 c c c的敏感性:选择 c c c的适当值在实践中对标签矩阵可能非常敏感(参考Mahoney,2011),这意味着选择不合适的 c c c值可能会影响算法的性能。

RRQR分解的复杂度:此外,在执行RRQR(Rank Revealing QR)分解时,其确定性步骤的时间复杂度为 O ( c 2 k log ⁡ c ) O(c^2 k \log \sqrt{c}) O(c2klogc )(根据Boutsidis等人,2009)。这一步骤的计算量可能比标签选择本身更昂贵。

计算开销的比较:在Section 4.3中将进一步展示,这种方法的计算开销可能比直接的采样步骤更大。
在这里插入图片描述
在Section 3.1中,作者提出了一种新的变体方法,这种方法是基于之前的工作(Drineas et al., 2006 和 Boutsidis et al., 2009)的改进。这种新方法能够直接选择 Y \mathbf{Y} Y中的 k k k个不同的列。这意味着相比之前的算法,该变体更直接地达到了标签选择的目标。
保证效率和误差界限:该变体不仅保证了选择过程的效率,还确保了良好的近似误差界限。这表明新方法在降低计算复杂度的同时,仍然可以提供足够精确的结果。
相关章节介绍

  • Section 3.2:讨论了预测机制,即如何利用选择的标签列进行预测。
  • Section 3.3:提供了误差分析,解释了在选择标签列时如何控制和分析近似误差。
  • Section 3.4:讨论了如何将这种方法扩展到使用核函数(kernels),表明该方法具有广泛的适应性,可以应用于核化的数据集。

3.1. Proposed CSSP Randomized Sampling

在这里插入图片描述

  1. 算法介绍:新提出的算法在Algorithm 1中详细展示。该算法的设计借鉴了之前的研究(Drineas et al., 2006 和 Boutsidis et al., 2009)。

  2. 部分SVD:首先在矩阵 Y \mathbf{Y} Y上执行部分奇异值分解(SVD),选择前 k k k个右奇异向量。这些向量构成了 V Y , k \mathbf{V}_{\mathbf{Y},k} VY,k,其中 V Y , k ∈ R m × k \mathbf{V}_{\mathbf{Y},k} \in \mathbb{R}^{m \times k} VY,kRm×k。为简化表示,后续部分用 V k \mathbf{V}_k Vk表示 V Y , k \mathbf{V}_{\mathbf{Y},k} VY,k

  3. 列的采样:从矩阵 Y \mathbf{Y} Y中有放回地采样列。选择第 i i i列的概率为

    p i = 1 k ∥ ( V k T ) ( i ) ∥ 2 2 p_i = \frac{1}{k} \left\| (\mathbf{V}_k^T)_{(i)} \right\|_2^2 pi=k1 (VkT)(i) 22

    这里, ∥ ( V k T ) ( i ) ∥ 2 2 \left\| (\mathbf{V}_k^T)_{(i)} \right\|_2^2 (VkT)(i) 22表示 V k T \mathbf{V}_k^T VkT的第 i i i行的平方范数。这种概率分布有助于从矩阵中选择那些对数据表示贡献较大的列。

采样策略:与固定次数的采样试验不同,该方法继续采样直到选出了 k k k个不同的列(参见步骤4到9)。这种方法确保了在保持列数为 k k k的同时能够最大化所选列的代表性。

在这里插入图片描述

该算法描述了一种通过列子集选择问题(CSSP)进行多标签分类的过程,简称为ML-CSSP(Multi-Label Classification via CSSP)。具体步骤如下:

  1. 计算 V k \mathbf{V}_k Vk:首先,计算矩阵 Y \mathbf{Y} Y的前 k k k个右奇异向量 V k \mathbf{V}_k Vk。这些向量捕捉了 Y \mathbf{Y} Y中最重要的方向。

  2. 计算采样概率 p i p_i pi:使用公式(4),计算每个列的采样概率 p i p_i pi。这些概率基于 V k \mathbf{V}_k Vk中的信息,确保列的选择具有代表性。

  3. 初始化集合 C C C:定义一个空集合 C C C,用于存储被选择的列索引。

  4. 循环选择列:在 ∣ C ∣ < k |C| < k C<k的条件下进行循环,即直到选择了 k k k个不同的列为止:

    • 从集合 { 1 , 2 , … , m } \{1, 2, \ldots, m\} {1,2,,m}中选择一个整数 i i i,选择的概率为 p i p_i pi
    • 如果 i i i不在集合 C C C中,则将 i i i加入集合 C C C中。这确保了每次选择的列都是不同的。
  5. 训练分类器 f ( x ) f(\mathbf{x}) f(x):使用从训练数据 { x ( n ) , y C ( n ) } n = 1 N \{\mathbf{x}^{(n)}, \mathbf{y}_C^{(n)}\}_{n=1}^N {x(n),yC(n)}n=1N中抽取的特征和标签来训练分类器 f ( x ) f(\mathbf{x}) f(x),其中 y C ( n ) \mathbf{y}_C^{(n)} yC(n)表示选择的标签子集。

  6. 预测新数据点:对于一个新的测试点 x \mathbf{x} x,通过分类器 f ( x ) f(\mathbf{x}) f(x)获取其预测值 h \mathbf{h} h,并使用公式 y ^ \hat{\mathbf{y}} y^通过四舍五入 h T Y C † Y \mathbf{h}^T \mathbf{Y}_C^\dagger \mathbf{Y} hTYCY来得到最终的预测标签。
    在这里插入图片描述
    在这里插入图片描述

高概率满秩矩阵:采样得到的矩阵 ( V k T ) C (\mathbf{V}_k^T)_C (VkT)C在高概率下是满秩的。这意味着选择的列集合 C C C中的列能够线性独立地表征原矩阵的结构。确保了通过特定数量的随机采样可以在高概率下构建一个满秩的矩阵。这种理论保证使得算法在实际应用中既能保持计算效率,又能维持结果的准确性。
条件:命题假设“WHILE”循环在 T T T次试验中停止。这里的 T T T定义如下:

T = 2 c 0 2 k ϵ 2 log ⁡ c 0 2 k ϵ 2 T = \frac{2c_0^2 k}{\epsilon^2} \log \frac{c_0^2 k}{\epsilon^2} T=ϵ22c02klogϵ2c02k

  • c 0 c_0 c0是一个常数,来自于Rudelson和Vershynin(2007)定理3.1。
  • k k k是我们要选择的列数。
  • ϵ \epsilon ϵ是误差参数,控制算法的近似误差。

概率结论:在上述 T T T次试验后,矩阵 ( V k T ) C (\mathbf{V}_k^T)_C (VkT)C将以概率 1 − 4 ϵ 2 1 - 4\epsilon^2 14ϵ2是满秩的。换句话说,选择的 k k k个列(通过 V k T \mathbf{V}_k^T VkT计算的)在大概率下是足够多样化的,从而形成一个线性无关的集合。

理解 T T T的意义 T T T的计算表明,为了保证矩阵满秩,需要执行的采样次数与 k k k ϵ \epsilon ϵ有关。较大的 k k k或较小的 ϵ \epsilon ϵ会增加采样次数 T T T,以保证所选列的质量和代表性。
在这里插入图片描述
误差界限:推论1提出了一个误差界限,表明所获得的近似误差与最佳秩- k k k近似误差相差不大,其差距在一个常数因子 Θ ( 1 ) \Theta(1) Θ(1)范围内。这意味着通过该方法得到的近似与最佳秩- k k k近似相比,具有相似的准确度。

具体公式:推论1给出了以下不等式:

∥ Y − Y C Y C † Y ∥ F ≤ Θ ( 1 ) ∥ Y − Y k ∥ F \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y}\|_F \leq \Theta(1) \|\mathbf{Y} - \mathbf{Y}_k\|_F YYCYCYFΘ(1)YYkF

其中:

  • Y \mathbf{Y} Y是原始矩阵。
  • Y C \mathbf{Y}_C YC表示从 Y \mathbf{Y} Y中选择的列的子集矩阵。
  • Y C † \mathbf{Y}_C^\dagger YC表示 Y C \mathbf{Y}_C YC的伪逆矩阵。
  • Y k \mathbf{Y}_k Yk Y \mathbf{Y} Y的最佳秩- k k k近似矩阵。
  • ∥ ⋅ ∥ F \|\cdot\|_F F表示Frobenius范数,用于度量矩阵的近似误差。

概率保证:该不等式在概率 0.9 − 4 ϵ 2 0.9 - 4\epsilon^2 0.94ϵ2的情况下成立。也就是说,在大多数情况下,所选择的列集 Y C \mathbf{Y}_C YC可以使得近似误差接近于最佳秩- k k k近似的误差。

Θ ( 1 ) \Theta(1) Θ(1)的含义 Θ ( 1 ) \Theta(1) Θ(1)表示一个常数因子,这意味着该误差界限并不会随着 k k k或矩阵的其他特征增长。这确保了近似误差在一个合理的范围内。Corollary 1说明,通过选取 Y \mathbf{Y} Y的子集列 Y C \mathbf{Y}_C YC并进行近似,可以在很大概率下获得一个与最佳秩- k k k近似相当的结果。这个结果非常重要,因为它确保了在实际应用中,即使使用随机采样的方法,也能得到接近于最佳的近似结果,从而兼顾了计算效率和近似质量。
在这里插入图片描述
Proposition 2提供了一个强有力的理论保证,即使在最坏情况下,通过适当的采样策略,可以在 O ( k log ⁡ k ) O(k \log k) O(klogk)次试验中选出所需的列。这种保证使得该方法在计算效率和效果之间达到了平衡,在实际应用中也显示出了更好的表现。

采样次数的概率保证:Proposition 2表明,以至少0.9的概率,可以在 O ( k log ⁡ k ) O(k \log k) O(klogk)次采样试验中选择 k k k个不同的列。这意味着在绝大多数情况下,选择 k k k个不同列所需的采样次数是有限的,并且不会超过 O ( k log ⁡ k ) O(k \log k) O(klogk)

与其他算法的比较:根据这一定理,即使在最坏情况下,所需的采样次数也不会超过Boutsidis等人(2009)提出的算法中需要的采样次数。这表明新提出的方法在采样效率上至少与现有的最优方法持平。

实际应用中的表现:虽然理论结果表明在最坏情况下可能需要 O ( k log ⁡ k ) O(k \log k) O(klogk)次采样,但是在实际应用中,Section 4.3的经验结果显示,实际所需的采样次数 T T T要远小于 k log ⁡ k k \log k klogk。这意味着在实践中,算法的性能可能会更优,能够在更少的采样试验中选择出 k k k个不同的列。

O ( k log ⁡ k ) O(k \log k) O(klogk)的意义 O ( k log ⁡ k ) O(k \log k) O(klogk)表示采样试验次数的渐进上界,这是一种在大多数实际情况下都能满足的性能保证。通过这种概率分析,可以在保证结果质量的前提下,减少计算复杂度。

3.1.1. comparison with other methods

在这里插入图片描述
在这里插入图片描述
算法比较:表1比较了提出的算法与现有的基于CSSP的算法(如Drineas et al., 2006 和 Boutsidis et al., 2009)的性能。分析了三种算法的时间复杂度,特别是在奇异值分解和采样步骤上。本文提出的算法和Boutsidis等人的算法在采样步骤上比Drineas等人的方法更有效率,但Boutsidis等人的算法在RRQR分解上增加了额外的计算成本。总体来看,本文的算法在保证近似精度的同时,计算复杂度更低,因此在实际应用中更具优势。

奇异值分解的时间复杂度:计算采样概率的第一步是获得标签矩阵 Y \mathbf{Y} Y的前 k k k个奇异向量。一般情况下,这需要 O ( min ⁡ { n d 2 , n 2 d } ) O(\min\{nd^2, n^2d\}) O(min{nd2,n2d})的时间复杂度。其中 n n n Y \mathbf{Y} Y的行数, d d d Y \mathbf{Y} Y的列数。然而,如果 Y \mathbf{Y} Y是稀疏的(这在实际应用中很常见),可以使用Lanczos或Arnoldi算法将时间复杂度降低到 O ( n d k ) O(ndk) O(ndk)

采样试验的时间复杂度:第二项时间复杂度来自采样试验的数量:

  • 对于Drineas等人(2006)的算法,采样次数的时间复杂度为 O ( k 2 / ϵ 2 ) O(k^2/\epsilon^2) O(k2/ϵ2)
  • 对于Boutsidis等人(2009)的算法以及本文提出的算法,采样次数的时间复杂度为 O ( k log ⁡ k ) O(k \log k) O(klogk)。这表明在采样效率上,后两种方法明显优于Drineas等人的方法。

RRQR分解的时间复杂度:在Boutsidis等人的算法中,在采样步骤后还需要执行RRQR分解,这一步的时间复杂度为:

O ( c 2 k log ⁡ c ) = O ( k 3 log ⁡ 2 k log ⁡ ( k log ⁡ k ) ) O(c^2 k \log \sqrt{c}) = O(k^3 \log^2 k \log(k \log k)) O(c2klogc )=O(k3log2klog(klogk))

这里 c = Θ ( k log ⁡ k ) c = \Theta(k \log k) c=Θ(klogk)。这一步骤显著增加了计算复杂度,因此在实际应用中可能会带来额外的计算开销。

在这里插入图片描述
在这里插入图片描述
本文比较了PLST、CPLST和MOPLMS算法的时间复杂度。PLST由于只需一次SVD,计算较为快速;CPLST涉及更多的矩阵运算,计算成本较高;而MOPLMS由于依赖于数值优化,计算开销更大。通过这种比较,可以看出不同方法在计算效率和复杂度上的权衡,为实际应用中的方法选择提供了指导。根据图片中的内容,以下是对时间复杂度分析的进一步理解,特别是关于PLST和 CPLST)算法的比较:

PLST算法的时间复杂度

  • PLST的计算复杂度较低,因为它只需要对标签矩阵进行一次奇异值分解(SVD)。这一步的时间复杂度为 O ( n d k ) O(ndk) O(ndk),其中 n n n是输入样本的数量, d d d是标签的数量, k k k是选择的奇异值向量的数量。
  • 由于PLST只涉及一次SVD操作,因此在计算复杂度上,它是比较快和直接的。

CPLST算法的时间复杂度

  • CPLST需要先计算输入矩阵 X \mathbf{X} X的伪逆,这个计算的复杂度和计算 X \mathbf{X} X的SVD一样昂贵。
  • 此外,CPLST还需要对矩阵 Y T X X T Y \mathbf{Y}^T \mathbf{X} \mathbf{X}^T \mathbf{Y} YTXXTY进行SVD分解。通常情况下,这两个矩阵是密集的,因此计算的复杂度较高。
  • CPLST的整体时间复杂度为 O ( min ⁡ { n m 2 , n 2 m } + d 3 ) O(\min\{nm^2, n^2m\} + d^3) O(min{nm2,n2m}+d3),这里 d 3 d^3 d3是计算伪逆矩阵和执行SVD的复杂度,这使得CPLST比PLST更加昂贵。

MOPLMS算法的时间复杂度

  • MOPLMS的时间复杂度无法直接与其他方法比较,因为它涉及数值优化。数值优化通常根据问题的复杂性和所采用的优化方法的不同而有很大的计算成本。 - 从经验上来看,MOPLMS比其他方法计算开销更大,具体将在Section 4.2中展示。

3.2. Prediction

在这里插入图片描述
应用分类器进行预测

  • 在预测阶段,首先对新的测试样本应用之前训练好的 k k k个分类器,从而得到一个 k k k维的预测向量 h \mathbf{h} h。这个向量 h \mathbf{h} h表示测试样本在所选 k k k个标签上的预测结果。

近似关系

  • 公式(3)指出了一个近似关系: Y ≃ Y C Y C † Y \mathbf{Y} \simeq \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y} YYCYCY。这意味着原始标签矩阵 Y \mathbf{Y} Y可以用通过选定的子集标签矩阵 Y C \mathbf{Y}_C YC及其伪逆 Y C † \mathbf{Y}_C^\dagger YC来近似表示。
  • 在这种表示下, Y \mathbf{Y} Y的每一行(对应于一个样本的 d d d个标签)可以近似为 Y C \mathbf{Y}_C YC中相应的行(代表同一样本的 k k k个选定标签)与 Y C † Y \mathbf{Y}_C^\dagger \mathbf{Y} YCY的乘积。

恢复 d d d维标签向量

  • 给定预测向量 h \mathbf{h} h,我们可以恢复一个 d d d维的标签向量 y ^ \hat{\mathbf{y}} y^,计算方法为 y ^ = h T Y C † Y \hat{\mathbf{y}} = \mathbf{h}^T \mathbf{Y}_C^\dagger \mathbf{Y} y^=hTYCY
  • 这个过程将 k k k维的预测结果转化为 d d d维的标签预测,通过使用子集标签矩阵的伪逆来“扩展”预测结果。

二元分类输出

  • 最后的 y ^ \hat{\mathbf{y}} y^向量会进一步通过四舍五入处理,以生成二元分类输出。这一操作确保了预测的标签结果符合多标签分类问题的需求,即每个标签要么是0,要么是1。

3.3. Error Analysis

在这里插入图片描述

RMSE定义

  • 均方根误差(RMSE)用于衡量估计标签矩阵与真实标签矩阵之间的误差。公式(6)定义了RMSE:

RMSE ≡ 1 n ∥ Y ^ − Y ∥ F \text{RMSE} \equiv \frac{1}{\sqrt{n}} \|\hat{\mathbf{Y}} - \mathbf{Y}\|_F RMSEn 1Y^YF

其中:

  • Y ^ \hat{\mathbf{Y}} Y^ 是估计的标签矩阵。
  • Y \mathbf{Y} Y 是真实的标签矩阵。
  • ∥ ⋅ ∥ F \|\cdot\|_F F 表示Frobenius范数,用于计算两个矩阵之间的差异。
  • n n n 是样本的数量。

RMSE与Hamming损失的关系

  • 在多标签分类中, Y ^ \hat{\mathbf{Y}} Y^ Y \mathbf{Y} Y 都是二元矩阵(即元素为0或1)。因此,平方的RMSE(即 ( RMSE ) 2 (\text{RMSE})^2 (RMSE)2)与Hamming损失成正比。
  • Hamming损失是多标签分类中常用的损失度量,其中 d d d是标签的数量。定义为:

1 n d ∥ Y − Y ^ ∥ 2 \frac{1}{nd}\|\mathbf{Y} - \hat{\mathbf{Y}}\|^2 nd1YY^2

  • 由于Frobenius范数的平方等价于所有元素平方和,因此 ∥ Y − Y ^ ∥ F 2 \|\mathbf{Y} - \hat{\mathbf{Y}}\|_F^2 YY^F2就是Hamming损失乘以 n d nd nd。因此,RMSE在度量上与Hamming损失类似,只是经过了标准化处理。

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

Proposition 3 陈述

在Proposition 1的条件下,以下不等式成立:

RMSE ≤ 2 n ( ∥ H − Y C ∥ F + ∥ Y − Y C Y C † Y ∥ F ) \text{RMSE} \leq \frac{2}{\sqrt{n}} \left( \|\mathbf{H} - \mathbf{Y}_C\|_F + \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y}\|_F \right) RMSEn 2(HYCF+YYCYCYF)

这里的概率为 1 − 4 ϵ 2 1 - 4\epsilon^2 14ϵ2

证明的关键步骤

  1. 重新构造的标签向量

    • Y ^ = round ( H Y C † Y ) \hat{\mathbf{Y}} = \text{round}(\mathbf{H}\mathbf{Y}_C^\dagger \mathbf{Y}) Y^=round(HYCY),其中 round ( ⋅ ) \text{round}(\cdot) round()表示将矩阵的每个元素四舍五入到最近的0或1。
  2. 分析误差的条件

    • 如果 ( Y ^ − Y ) i j = 1 (\hat{\mathbf{Y}} - \mathbf{Y})_{ij} = 1 (Y^Y)ij=1,这意味着 ( H Y C † Y ) i j (\mathbf{H}\mathbf{Y}_C^\dagger \mathbf{Y})_{ij} (HYCY)ij Y i j \mathbf{Y}_{ij} Yij之间的差异足够大,导致四舍五入结果不同。
    • 如果 ( Y ^ − Y ) i j = 0 (\hat{\mathbf{Y}} - \mathbf{Y})_{ij} = 0 (Y^Y)ij=0,则四舍五入没有影响。
  3. 误差范数的估计

    • 利用Frobenius范数的性质,得到:

    ∥ Y ^ − Y ∥ F ≤ 2 ∥ H Y C † Y − Y ∥ F \|\hat{\mathbf{Y}} - \mathbf{Y}\|_F \leq 2\|\mathbf{H}\mathbf{Y}_C^\dagger \mathbf{Y} - \mathbf{Y}\|_F Y^YF2∥HYCYYF

  4. 三角不等式应用

    • 使用三角不等式,可以将误差分解为两部分:

    ∥ H Y C † Y − Y ∥ F ≤ ∥ H − Y C ∥ F ∥ Y C † Y ∥ 2 + ∥ Y C Y C † Y − Y ∥ F \|\mathbf{H}\mathbf{Y}_C^\dagger \mathbf{Y} - \mathbf{Y}\|_F \leq \|\mathbf{H} - \mathbf{Y}_C\|_F \|\mathbf{Y}_C^\dagger \mathbf{Y}\|_2 + \|\mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y} - \mathbf{Y}\|_F HYCYYFHYCFYCY2+YCYCYYF

  5. SVD分解和秩的分析

    • 利用 Y \mathbf{Y} Y的SVD分解,以及 Y C \mathbf{Y}_C YC的秩和满秩性质,推导出 ∥ Y C † Y ∥ 2 = 1 \|\mathbf{Y}_C^\dagger \mathbf{Y}\|_2 = 1 YCY2=1,这进一步简化了误差的估计。

误差界限的解释

公式(7)中的误差界限由两部分组成:

  1. ∥ H − Y C ∥ F \|\mathbf{H} - \mathbf{Y}_C\|_F HYCF:表示学习到的标签子矩阵和目标标签子矩阵之间的训练误差。这部分反映了分类器在 k k k个选择标签上的表现。

  2. ∥ Y − Y C Y C † Y ∥ F \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y}\|_F YYCYCYF:表示在从完整标签矩阵 Y \mathbf{Y} Y投影到选择标签 Y C \mathbf{Y}_C YC上的过程中所引入的编码误差。

这个界限给出了在大概率情况下,模型在训练样本上的RMSE不会超过右侧表达式的两倍,提供了对模型误差的理论控制。
在这里插入图片描述
在这里插入图片描述
Corollary 2 :提供了一个与PLST方法相似的误差界限,将总体误差分解为训练误差和投影误差两个部分。这种分解方式使得对多标签学习中误差的来源有更明确的理解,并且在概率论的基础上提供了理论保证。这种框架对于理解不同算法在多标签分类中的性能差异具有重要意义,有助于在实际应用中选择合适的方法。

在Proposition 1的条件下,以下不等式成立:

RMSE ≤ 2 n ∥ H − Y C ∥ F + 2 n Θ ( 1 ) ∥ Y − Y V k V k T ∥ F \text{RMSE} \leq \frac{2}{\sqrt{n}} \|\mathbf{H} - \mathbf{Y}_C\|_F + \frac{2}{\sqrt{n}} \Theta(1)\|\mathbf{Y} - \mathbf{Y}\mathbf{V}_k \mathbf{V}_k^T\|_F RMSEn 2HYCF+n 2Θ(1)YYVkVkTF

这个结果在概率为 0.9 − 4 ϵ 2 0.9 - 4\epsilon^2 0.94ϵ2的情况下成立。

推论的解释

  1. 误差分解

    • 这个推论将RMSE的误差分解为两个部分,类似于Proposition 3中的误差分解:
      • 第一项 2 n ∥ H − Y C ∥ F \frac{2}{\sqrt{n}} \|\mathbf{H} - \mathbf{Y}_C\|_F n 2HYCF表示训练过程中学习到的标签子矩阵与目标标签子矩阵之间的误差。这项反映了分类器在训练时的表现。
      • 第二项 2 n Θ ( 1 ) ∥ Y − Y V k V k T ∥ F \frac{2}{\sqrt{n}} \Theta(1)\|\mathbf{Y} - \mathbf{Y}\mathbf{V}_k \mathbf{V}_k^T\|_F n 2Θ(1)YYVkVkTF涉及标签矩阵 Y \mathbf{Y} Y与其在奇异向量 V k \mathbf{V}_k Vk上的投影之间的误差。这项代表了投影标签矩阵与原标签矩阵之间的差异。
  2. 与PLST的比较

    • 这个推论的误差界限与PLST(Tai & Lin, 2012)方法的误差界限非常相似。PLST的误差界限为:

      RMSE ≤ 2 n ∥ H − Y V k ∥ F + 2 n ∥ Y − Y V k V k T ∥ F \text{RMSE} \leq \frac{2}{\sqrt{n}} \|\mathbf{H} - \mathbf{Y}\mathbf{V}_k\|_F + \frac{2}{\sqrt{n}}\|\mathbf{Y} - \mathbf{Y}\mathbf{V}_k \mathbf{V}_k^T\|_F RMSEn 2HYVkF+n 2YYVkVkTF

    • 在PLST中, ∥ H − Y V k ∥ F \|\mathbf{H} - \mathbf{Y}\mathbf{V}_k\|_F HYVkF是学习到的标签子矩阵和投影标签矩阵 Y V k \mathbf{Y}\mathbf{V}_k YVk之间的误差,而 ∥ Y − Y V k V k T ∥ F \|\mathbf{Y} - \mathbf{Y}\mathbf{V}_k \mathbf{V}_k^T\|_F YYVkVkTF则是投影误差。这与推论2中的误差分解形式非常相似。

3.4. Kernel Extension

在这里插入图片描述

核方法的引入: 将核方法引入到标签近似的框架中,通过将原始标签矩阵映射到一个核引导的特征空间中来改善近似效果。通过核矩阵的特征向量,确定采样概率并在特征空间中进行预测,使得这个方法能够捕捉到更复杂的标签关系。此外,这种方法在预测阶段通过最小化误差获得结果,在计算上具有很高的效率。通过使用核方法,该方法在处理非线性标签关系时更具优势。

文章提出了在特征空间中进行近似的想法,而不是仅仅假设 Y \mathbf{Y} Y的列可以被其一个小子集的列表示。具体来说,列 Y \mathbf{Y} Y首先被映射到一个由核函数引导的特征空间,然后再进行近似。目标是最小化以下形式的误差:

∥ Y ~ − Y ~ C Y ~ C † Y ~ ∥ F \|\tilde{\mathbf{Y}} - \tilde{\mathbf{Y}}_C \tilde{\mathbf{Y}}_C^\dagger \tilde{\mathbf{Y}}\|_F Y~Y~CY~CY~F

其中 Y ~ \tilde{\mathbf{Y}} Y~是映射后的标签矩阵。

核特征空间中的列选择

  1. 采样概率的定义

    • 类似于Section 3.1,选择第 i i i列的概率定义为:

    p i = 1 k ∥ ( V k T ) ( i ) ∥ 2 2 p_i = \frac{1}{k} \|(\mathbf{V}_k^T)_{(i)}\|_2^2 pi=k1(VkT)(i)22

    这里, V k \mathbf{V}_k Vk是从 Y ~ = U Σ ~ V T \tilde{\mathbf{Y}} = \mathbf{U} \tilde{\mathbf{\Sigma}} \mathbf{V}^T Y~=UΣ~VT的奇异值分解中得到的右奇异向量, U \mathbf{U} U Σ ~ \tilde{\mathbf{\Sigma}} Σ~分别是左奇异向量和奇异值的对角矩阵。

  2. 核矩阵的特征向量

    • 可以看出, V k \mathbf{V}_k Vk实际上是核矩阵 K = Y ~ T Y ~ \mathbf{K} = \tilde{\mathbf{Y}}^T \tilde{\mathbf{Y}} K=Y~TY~的前 k k k个特征向量。核矩阵 K \mathbf{K} K可以写成 K = V ~ Σ ~ T U T U Σ ~ V ~ T = V ~ Σ ~ 2 V ~ T \mathbf{K} = \tilde{\mathbf{V}} \tilde{\mathbf{\Sigma}}^T \mathbf{U}^T \mathbf{U} \tilde{\mathbf{\Sigma}} \tilde{\mathbf{V}}^T = \tilde{\mathbf{V}} \tilde{\mathbf{\Sigma}}^2 \tilde{\mathbf{V}}^T K=V~Σ~TUTUΣ~V~T=V~Σ~2V~T

预测阶段

  • 在测试阶段,通过直接最小化以下误差来获得一个样本 x \mathbf{x} x的预测 y ^ \hat{\mathbf{y}} y^

    ∥ y ~ − h T Y ~ C † Y ~ ∥ F \|\tilde{\mathbf{y}} - \mathbf{h}^T \tilde{\mathbf{Y}}_C^\dagger \tilde{\mathbf{Y}}\|_F y~hTY~CY~F

    其中 y ~ \tilde{\mathbf{y}} y~是核映射后的 y ^ \hat{\mathbf{y}} y^向量。

  • 对于RBF核,可以逐个组件地获得最优的 y ^ \hat{\mathbf{y}} y^,这简化了计算。

4. Experiments

在这里插入图片描述
在这里插入图片描述
实验数据集概述

文章中进行实验时使用了一些真实世界的基准数据集,这些数据集涵盖了各种不同的领域和应用场景。具体的数据集如下:

  1. cal500 (Turnbull et al., 2008)

    • 数据集包含来自不同艺术家的歌曲。每首歌使用174个标签进行标注,这些标签表示了歌曲的流派、乐器、情感以及其他相关概念。
    • 数据集中有502个样本和68个特征,使用174个标签。
  2. corel5k (Duygulu et al., 2002)

    • 包含从Stock Photo光盘中获取的图片。每张图片被标注了1到5个关键词,总共使用了374个关键词。
    • 数据集中有5000个样本和499个特征,使用374个标签。
  3. delicious (Tsoumakas et al., 2008)

    • 包含来自社交书签网站del.icio.us的网页文本数据,每个网页都有相应的标签。
    • 数据集中有16105个样本和500个特征,使用982个标签。
  4. Eur-Lex (Mencía & Fürnkranz, 2008)

    • 包含关于欧盟法律的文档集合。标签包括多个EuroVoc描述符、目录代码和主题内容。实验中使用了前两个标签,因为它们包含了更多的标签数量。
    • 数据集分为两部分:
      • Eur-Lex (dc):有19348个样本和5000个特征,使用了412个标签。
      • Eur-Lex (desc):有19348个样本和5000个特征,使用了3993个标签。
  5. dmoz

    • 通过从开放目录项目中爬取网页构建,使用于第二次Pascal挑战的大规模分层文本分类。这里包括了内部和叶子类。
    • 数据集中有394756个样本和829208个特征,使用了35347个标签。

在这里插入图片描述

实验方法与比较

  1. 学习器的选择

    • 实验中使用线性回归作为学习器。
    • 提出的ML-CSSP方法及其核版本ML-CSSP-Knl(使用RBF核)被用于实验。
  2. 比较方法

    • 提出的两种方法与多种最新的多标签输出编码方法进行了比较:
      • PLST (Tai & Lin, 2012):部分最小二乘回归方法,用于多标签分类。
      • CPLST (Chen & Lin, 2012):聚类部分最小二乘回归方法。
      • MOPLMS (Balasubramanian & Lebanon, 2012):多目标Pareto标签映射选择方法。
      • CL(Compressed Labeling) (Zhou et al., 2012):压缩标签编码方法。
    • 此外,还与标准基线方法 BR(Binary Relevance) 进行了比较。BR方法为每个标签独立训练一个分类器。
  3. 实验环境

    • 所有方法都在MatLab中实现。
  4. 比较方法的选择

    • 没有与基于压缩感知的方法(Hsu et al., 2009)进行比较,因为已有研究表明其性能劣于PLST (Tai & Lin, 2012)。

总结

这段文字表明,本文的实验不仅测试了所提出的ML-CSSP及其核版本的有效性,还将其与多个已有的先进多标签分类方法进行了详细的比较。这些方法包括基于线性回归和压缩标签的不同编码策略,通过这些比较,可以全面评估ML-CSSP方法的性能优势和不足。选择不与性能已经证明较弱的方法比较进一步强调了实验的公平性和实用性。
在这里插入图片描述

  1. 标签选择或变换数量的设置

    • 实验中,选择的(或变换的)标签数量被设置为 k = 0.1 d k = 0.1d k=0.1d,其中 d d d是总标签数。这样的方法确保了标签选择的比例一致,便于比较不同规模的数据集。
    • 对于dmoz数据集, k k k被设置为300,相当于 k ≈ 0.01 d k \approx 0.01d k0.01d。这是因为dmoz数据集的标签数 d d d非常大,0.1 d d d可能会导致选择的标签数过多,不便于计算。
  2. MOPLMS方法的特殊处理

    • MOPLMS方法不能直接设置 k k k值。因此,实验中通过调整其正则化参数,选择使得结果 k k k值最接近0.1 d d d的设置。这种方法保证了MOPLMS结果的可比性。

性能评估方法

  1. 均方根误差(RMSE)

    • 使用公式(6)定义的RMSE来评估方法的性能。RMSE测量了预测标签矩阵与真实标签矩阵之间的平均平方误差,是衡量模型精度的标准指标。
  2. 精确率-召回率曲线下的微平均面积(AUPRC)

    • 另一个评估指标是微平均AUPRC,衡量了精确率和召回率之间的权衡,适用于不平衡数据集的多标签分类问题。AUPRC越高,表明分类器在处理精确率和召回率的权衡时表现越好。

实验设计

  1. 交叉验证

    • 除了dmoz数据集外,其他所有数据集均采用10折交叉验证。交叉验证通过在多个训练和测试拆分上评估模型,以减少模型评估中的方差,提高结果的可靠性。
    • 对于dmoz数据集,由于其规模较大,从中随机选择40,000个样本用于训练,剩余的用于测试,重复3次。这种处理方式旨在处理大型数据集的计算复杂性,同时保持结果的可靠性。
  2. 实验环境

    • 实验在一台配备四核3.40 GHz Intel i7-3770 CPU和32 GB内存的PC上运行。这表明实验在相对高性能的计算环境下进行,有助于处理大规模数据和计算密集型任务。

4.1. Accuracy

在这里插入图片描述

实验结果和模型表现: 总体而言,ML-CSSP和ML-CSSP-Knl在六个数据集中的五个数据集上达到了最佳精度。这表明提出的方法在大多数情况下是有效的,并且在不同类型的数据上表现良好。尽管在某些情况下(如大规模数据集)存在计算资源的限制,但在大多数中小规模数据集上,这些方法都显示出了很强的竞争力。ML-CSSP-Knl在处理多媒体数据时表现出色,而ML-CSSP则在文本数据集上更具优势。

  1. 计算资源限制

    • MOPLMS在计算上非常耗费资源,因此无法在大部分较大的数据集上运行。
    • 对于最大的dmoz数据集,ML-CSSP-Knl由于需要在密集的 35 K × 35 K 35K \times 35K 35K×35K核矩阵上执行部分SVD而导致内存不足。同样地,CPLST也因为需要计算 350 K × 800 K 350K \times 800K 350K×800K输入数据矩阵的伪逆而失败。
    • 压缩标签(CL)方法在预处理阶段计算提取标签集时已经超过72小时,表明其在大数据集上的处理效率低下。
  2. CPLST与PLST的比较

    • CPLST的性能与PLST相当,这与Chen & Lin (2012)的实证结果一致。这表明输入数据矩阵可能在标签变换或选择中只提供了有限的信息。
  3. CL方法的表现

    • CL在实验中的表现不佳,主要是因为它对参数设置非常敏感,如标签簇的数量、底层谱聚类算法的阈值等。这些参数的选择对CL方法的性能有显著影响。
  4. ML-CSSP-Knl与ML-CSSP的比较

    • 在多媒体数据集(cal500和corel5k)上,ML-CSSP-Knl表现优于ML-CSSP。然而,在文本数据集上,这种优势并不明显。
    • 这与常见的观察一致,即线性核通常对文本数据集已经足够,而非线性核更适用于非文本、低维数据。这可能是因为文本数据集本身的特征空间更接近线性结构,而多媒体数据则包含更多复杂的非线性关系。
      在这里插入图片描述

AUPRC结果分析:AUPRC结果进一步证明了ML-CSSP在多标签分类任务中的优势,能够在大多数数据集上超过其他比较方法。PLST在某些数据集上的表现欠佳表明它在特定场景下的适用性有限。而ML-CSSP-Knl由于不需要阈值调节,因此不适用AUPRC的评估方法,但这并不妨碍其作为一种有效的分类方法。这些结果综合表明,ML-CSSP在不同场景中表现出较好的通用性和可靠性。

  1. AUPRC的计算

    • AUPRC(Area Under the Precision-Recall Curve)结果通过对每种方法的四舍五入阈值从0变化到1来获得。这种变化允许绘制出精确率-召回率曲线,进而计算曲线下面积,用来评估模型在不同决策阈值下的整体表现。
  2. ML-CSSP的表现

    • 从表4中的结果可以看出,ML-CSSP在六个数据集中的五个上表现优于其他方法。这显示了ML-CSSP方法在多标签分类中的强大竞争力,尤其是在处理各种不同类型的数据集时。
  3. PLST的表现

    • PLST方法在某些数据集上表现明显不如其他方法。例如,在delicious、EUR-Lex (desc)和dmoz数据集上,PLST的性能明显较差。这可能是因为PLST在处理高度不平衡或高维标签空间时存在局限性。
  4. ML-CSSP-Knl的特殊处理

    • 由于ML-CSSP-Knl方法直接获得二元预测输出而不需要调整阈值,因此没有报告其AUPRC结果。这表明ML-CSSP-Knl可能使用了一种不同的预测策略,使得其输出结果不依赖于阈值调节。

在这里插入图片描述

4.2. Time

在这里插入图片描述
在这里插入图片描述
时间性能比较的重点:ML-CSSP和PLST的编码速度相当快。在最大的dmoz数据集上,它们的编码时间也不到半小时。此外,与BR方法相比,它们将学习任务的数量减少了99%。结合精度比较,可以得出结论,ML-CSSP在快速和准确性方面都具有显著优势。通过对时间复杂度和计算资源的考虑,ML-CSSP在多标签分类问题中表现出色,是一个高效且有效的选择。

编码时间的比较

  • 在实验设置中,各种多标签输出编码方法在标签转换/选择后都具有相同数量的学习任务。因此,本文主要比较了这些方法的编码时间,即执行标签转换/选择所需的时间。
  1. CL方法

    • CL方法具有最短的编码时间,因为它使用随机标签变换。然而,在编码前需要进行标签集的提取预处理。考虑这一点后,CL方法总体上变得最慢。
  2. ML-CSSP与PLST

    • ML-CSSP和PLST在编码时都需要执行SVD,但ML-CSSP还需要进行额外的 O ( k log ⁡ k ) O(k \log k) O(klogk)时间的随机采样步骤。因此,ML-CSSP总是比PLST更慢。然而,当样本数 n n n和标签数 d d d都很大时,这个额外的 O ( k log ⁡ k ) O(k \log k) O(klogk)时间相较于SVD的 O ( n d k ) O(ndk) O(ndk)时间变得不那么显著。
  3. CPLST方法

    • CPLST方法需要计算输入数据矩阵的伪逆,其时间复杂度为 O ( min ⁡ { n m 2 , n 2 m } ) O(\min\{nm^2, n^2m\}) O(min{nm2,n2m})。因此,当数据矩阵较大时(如在EUR-Lex (dc)和EUR-Lex (desc)数据集上),CPLST方法的运行速度较慢。
  4. ML-CSSP-Knl

    • ML-CSSP-Knl比ML-CSSP慢得多,因为它需要计算标签上的 d × d d \times d d×d核矩阵。此外,由于核矩阵是密集的,其SVD计算比在稀疏标签矩阵上的SVD计算要慢得多。

5 MOPLMS方法

  • MOPLMS的编码时间最长,因为它需要解决一个复杂的优化问题。
    在这里插入图片描述

4.3. Comparison with (Boutsidis et al., 2009)

在这里插入图片描述

提出方法与CSSP算法的比较:尽管两种方法在精度方面表现相似,但提出的方法更高效,并且适用于标签数量更多的问题。通过减少采样列的数量和优化编码过程,提出的方法能够更好地应对大规模标签数据的挑战。这种改进不仅提高了算法的计算效率,还扩展了其在实际应用中的适用性。

  1. 采样列数的设定

    • 根据Boutsidis et al. (2009) 的建议,采样列的数量设置为 s = 2 k log ⁡ k s = 2k \log k s=2klogk,然后使用RRQR分解从这 s s s列中提取出精确的 k k k列。RRQR分解是一种用于选择重要列的矩阵分解方法。
  2. 采样次数和编码时间的比较

    • 表6展示了采样试验次数和编码时间。可以看出,提出的方法总是采样更少的列,并且其编码时间也更快。提出的方法的效率更高,因为它减少了在每次采样过程中选择列的数量。
  3. RRQR分解的规模

    • RRQR分解操作的矩阵为 ( V k T ) S (\mathbf{V}_k^T)_S (VkT)S,其中 S S S是采样步骤中选择的列的索引子集,矩阵的规模为 k × s = k × 2 k log ⁡ k k \times s = k \times 2k \log k k×s=k×2klogk。例如,对于EUR-Lex (desc)数据集,矩阵规模大约为400 × \times × 5000,对于dmoz数据集,矩阵规模大约为300 × \times × 3500。这样的矩阵规模对于RRQR算法来说过大,以至于无法在一小时内完成。
  4. CSSP算法的可扩展性

    • 由于RRQR分解需要操作大规模矩阵,因此Boutsidis et al. (2009) 的CSSP算法在处理大量标签的问题上缺乏可扩展性,尤其是当标签数非常多时。提出的方法通过减少采样列数提高了计算效率。
  5. 误差比和RMSE的比较

    • 表7比较了两种方法在近似比( ∥ Y − Y C Y C † Y ∥ F / ∥ Y − Y k ∥ F \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y}\|_F / \|\mathbf{Y} - \mathbf{Y}_k\|_F YYCYCYF/∥YYkF)和测试RMSE方面的表现。结果显示,两种方法在精度上是相当的,但提出的方法在计算效率上有显著优势。

      在这里插入图片描述

4.4. Variation with the Number of Selected Labels

在这里插入图片描述

训练误差和编码误差的权衡:通过调整选择标签数量 k k k,可以观察到在训练误差和编码误差之间的权衡。不同的多标签分类方法在处理误差时具有不同的策略,因此通过这种实验可以帮助理解每种方法的优势和局限性。选择合适的 k k k值对于优化模型的整体性能至关重要。实验结果能够为多标签分类问题提供有价值的见解,特别是在处理训练和编码误差的平衡时。

  1. 实验目的

    • 本节旨在展示在训练误差和编码误差之间的权衡,如Section 3.3中讨论的。实验通过调整选择的标签数量 k k k,观察训练误差和编码误差的变化。
  2. 数据集的选择

    • 实验在最小的数据集cal500上进行。选择的标签数量 k k k从0.1 d d d变化到 d d d,以评估不同标签数量对误差的影响。
  3. 不同方法的误差定义

    • 训练误差:表示预测的标签子集与真实标签子集之间的差异。
      • 对于ML-CSSP和MOPLMS,训练误差定义为 ∥ H − Y C ∥ F \|\mathbf{H} - \mathbf{Y}_C\|_F HYCF
      • 对于PLST和CPLST,训练误差定义为 ∥ H − Y V k ∥ F \|\mathbf{H} - \mathbf{Y}\mathbf{V}_k\|_F HYVkF
    • 编码误差:表示标签矩阵在标签子集或变换标签空间上的近似误差。
      • 对于ML-CSSP,编码误差定义为 ∥ Y − Y C Y C † Y ∥ F \|\mathbf{Y} - \mathbf{Y}_C \mathbf{Y}_C^\dagger \mathbf{Y}\|_F YYCYCYF
      • 对于MOPLMS,编码误差定义为 ∥ Y − Y W ∥ F \|\mathbf{Y} - \mathbf{Y}\mathbf{W}\|_F YYWF
      • 对于PLST和CPLST,编码误差定义为 ∥ Y − Y C V k V k T ∥ F \|\mathbf{Y} - \mathbf{Y}_C\mathbf{V}_k\mathbf{V}_k^T\|_F YYCVkVkTF
  4. 实验方法

    • 实验通过调整选择的标签数量 k k k来观察训练误差和编码误差的变化。随着 k k k的增加,可以观察到误差的变化趋势,从而理解在标签数量上的选择如何影响模型的表现。

在这里插入图片描述
训练误差和编码误差的关系:在多标签分类问题中,存在训练误差和编码误差之间的权衡。选择较少的标签(较小的 k k k)会导致较低的训练误差,但可能会增加编码误差;反之,选择较多的标签(较大的 k k k)能够减少编码误差,但可能会增加训练误差。ML-CSSP和MOPLMS在平衡这两种误差方面表现优异,而PLST在降低编码误差方面尤为出色。这些发现为选择适当的 k k k值提供了指导,以便在精度和计算效率之间找到最佳平衡。

  1. 训练误差的变化

    • 随着选择标签数量 k k k的增加,训练误差也随之增加。这是因为 k k k越大,需要学习的任务数量就越多,因此训练复杂度增加,导致训练误差上升。
    • ML-CSSP和MOPLMS方法在训练误差方面表现出更低的误差。这是因为这些方法选择的标签通常比变换的标签更容易学习,因此在相同的 k k k值下,训练误差较低。
  2. 编码误差的变化

    • 编码误差随着 k k k的增加而减小。这是预期中的结果,因为更多的标签能够提供更多的信息,从而更好地近似原始标签矩阵 Y \mathbf{Y} Y
    • PLST方法的编码误差最小,因为它将 Y \mathbf{Y} Y转化为最佳的秩- k k k表示。通过这种优化的标签变换,PLST能够有效地减少编码误差。
      在这里插入图片描述

5. Conclusion

在这里插入图片描述
论文总结::这篇论文通过引入自适应的标签选择方法,显著提高了处理大规模多标签分类问题的效率。通过将标签选择问题框架化为列子集选择问题,并引入自适应采样策略,提出的方法在理论和实证中均表现出优越性。这种创新性的方法不仅在计算效率上优于传统方法,而且能够在多标签分类任务中提供高质量的分类结果。这使得该方法在处理大规模数据集和高维标签空间时具有广泛的应用前景。

  1. 提出的方法

    • 这篇论文提出了一种有效的方法来处理多标签分类问题,尤其是当标签数量非常多时。方法的核心是使用标签选择的策略,将标签选择视为一个列子集选择问题(Column Subset Selection Problem, CSSP)。
  2. 采样方法的创新

    • 不同于现有CSSP算法中使用预先确定的采样试验次数,本文提出的方法采用了自适应的采样次数。这种自适应性意味着根据需要动态调整采样次数,从而在实验中表现出更高的效率。
  3. 效率和性能

    • 理论分析表明,提出的采样方法在效率上具有很高的优势。通过减少所需的采样次数,该方法不仅节省了计算时间,还能获得对标签矩阵的良好近似,并提供良好的多标签分类性能边界。
    • 实验结果进一步验证了该方法的有效性和效率。对多个具有大量标签的真实数据集的实验表明,提出的算法在处理多标签学习问题时具有显著优势。
  4. 实证结果

    • 在多个真实世界的数据集上进行的实验表明,与最近的多标签学习算法相比,提出的算法在准确性和效率方面都表现出色。这进一步支持了提出的方法在实际应用中的潜力。
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用PyTorch实现 "Learning a Deep ConvNet for Multi-label Classification with Partial Labels" 论文的示例代码。 ```python import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader from torchvision.transforms import transforms from sklearn.metrics import f1_score from dataset import CustomDataset from model import ConvNet # 设置随机数种子,保证结果可重复 torch.manual_seed(2022) # 定义超参数 epochs = 50 batch_size = 128 learning_rate = 0.001 weight_decay = 0.0001 num_classes = 20 num_labels = 3 # 定义数据预处理 transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) ]) # 加载数据集 train_dataset = CustomDataset(root='./data', split='train', transform=transform) train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=2) test_dataset = CustomDataset(root='./data', split='test', transform=transform) test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=2) # 定义模型 model = ConvNet(num_classes=num_classes, num_labels=num_labels) # 定义损失函数和优化器 criterion = nn.BCEWithLogitsLoss() optimizer = optim.Adam(model.parameters(), lr=learning_rate, weight_decay=weight_decay) # 训练模型 for epoch in range(epochs): # 训练阶段 model.train() running_loss = 0.0 for i, data in enumerate(train_loader): inputs, labels = data optimizer.zero_grad() outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() running_loss += loss.item() train_loss = running_loss / len(train_loader) # 测试阶段 model.eval() y_true, y_pred = [], [] with torch.no_grad(): for data in test_loader: inputs, labels = data outputs = model(inputs) predicted_labels = torch.round(torch.sigmoid(outputs)) y_true.extend(labels.cpu().numpy()) y_pred.extend(predicted_labels.cpu().numpy()) f1 = f1_score(y_true, y_pred, average='macro') print('[Epoch %d] Train Loss: %.3f, Test F1: %.3f' % (epoch + 1, train_loss, f1)) ``` `CustomDataset` 和 `ConvNet` 分别是数据集类和模型类,需要根据您的具体情况进行实现。在训练阶段,使用 `nn.BCEWithLogitsLoss()` 作为损失函数进行优化。在测试阶段,使用 `sklearn.metrics.f1_score()` 计算 F1 值作为模型评估指标。 希望以上示例代码对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值