迁移学习——Discriminative Transfer Subspace Learning via Low-Rank and Sparse Representation

《Discriminative Transfer Subspace Learning via Low-Rank and Sparse Representation》学习
IEEE TRANSACTIONS ON IMAGE PROCESSING


摘要

在本文中,我们讨论了在目标域中没有可用标签的无监督域转移学习问题。
我们使用变换矩阵将源和目标数据传输到一个公共子空间,其中每个目标样本可以由源样本的组合表示,这样来自不同域的样本可以很好地交错。
这样,减少了源域和目标域的差异。通过对重建系数矩阵施加联合低秩和稀疏约束,可以保留数据的全局和局部结构。
为了尽可能扩大不同类之间的边界,并提供更多的自由度来减少差异,通过学习非负标签松弛矩阵来获得灵活的线性分类器(投影),该矩阵允许严格的二进制标签矩阵松弛为松弛变量矩阵。
通过使用稀疏矩阵对噪声进行建模,我们的方法可以避免潜在的负传递,因此对不同类型的噪声更具鲁棒性。
我们将问题表述为一个约束低秩稀疏性最小化问题,并用非精确增广拉格朗日乘子法求解。
索引项:源域、目标域、低秩和稀疏约束、知识转移、子空间学习。

一、介绍

当它们具有不同的分布时,得到的模型通常失败。例如,图1显示了来自不同领域的三个受试者的一些图像之间的差异,其中每个受试者的图像具有不同的分布。
在这里插入图片描述
解决这个问题的一个简单解决方案是收集足够的标记数据,这些数据能够很好地描述测试数据的分布,然后使用它们重新训练模型。
转移学习,其目的是通过利用源域与目标域之间的相关性,将从源域学习到的知识转移到目标域。

在处理给定领域中的新任务时,转移学习利用了其他相关领域中的先验知识。
在迁移学习中,训练数据和测试数据分别来自两类域:
1)源域
2)目标域。
这两个域中的数据通常共享相同的任务,但遵循不同的分布。在大多数情况下,只有一个目标域,而可能存在单个或多个源域
迁移学习可以分为两类:有监督的和无监督的迁移学习。
在有监督的迁移学习中,目标域中通常有有限的标记数据,而在无监督的迁移学习中,目标域中可能有大规模的未标记数据。
研究人员提出的这些方法可分为两类:

  1. 改变数据表示的方法;
  2. 修改训练分类器的方法。

以前改变数据表示的方法的常见缺点如下:

  1. 首先,由于分布不同,很难捕捉数据的内在结构,例如全局和局部结构。
  2. 其次,对包含噪声数据的数据进行同等处理,这不利于获得稳健的方法。
  3. 最后,大多数此类方法只关注如何更改数据的表示,而忽略了这样一个事实,即通过将分类器设计和更改数据表示的方法集成为一项任务,可以更好地解决该问题。

对于修改训练分类器的方法,通常的方法是调整模型参数,使分类器能够适应目标域。在这种方法中,数据是固定的,但允许更改决策边界。

在本文中,为了克服改变数据表示的方法的缺点,我们提出了一种新的转移子空间学习方法,该方法将改变数据表示的方法与分类器设计相结合。
具体来说,源数据和目标数据被转换为一个公共子空间,其中每个目标数据可以由源域的数据线性重建。
我们对重建矩阵施加联合低秩和稀疏约束,以保持数据的全局和局部结构
线性重构通常用于流形学习和稀疏表示,以保持某些期望的特性。在我们提出的方法中,低秩和稀疏约束的设计也确保了来自不同域的数据可以很好地交错。
这有助于显著减少域分布的差异。此外,稀疏约束可以使来自不同域的相关样本(可能来自同一类)比无关样本更交错,这有助于提高分类性能。
通过将严格的二进制标签矩阵松弛为松弛变量矩阵,我们学习了一种灵活的线性分类器(投影),这为我们的模型带来了以下两个优点:

  1. 它可以尽可能扩大不同类之间的边界;
  2. 它提供了更大的自由度,以最小化源域和目标域分布之间的差异。

我们还通过使用稀疏矩阵对噪声进行建模来考虑噪声的负面影响,从而过滤噪声信息[20]。所提出的方法如图2所示。
在这里插入图片描述

表1定义了图2中的变量。
在这里插入图片描述

二、相关工作

分类器的迭代修改是实现转移学习的基本方法。

  1. Bruzzone等人通过逐步调整判别函数以适应目标域,迭代删除源域样本,并添加带有估计标签的目标域样本,直到根据目标域样本确定最终分类器
  2. 陈等人提出了一种渐进式直推支持向量机模型,对未标记的目标域样本进行迭代标记和修改,以获得较大的裕度
  3. 薛等人利用支持或知识的公共部分在两个域之间共享部分模型参数或先验,这有助于使源域模型适应目标域

这些方法都使用迭代策略将源知识逐渐转移到目标域。然而,这些方法的成功在很大程度上取决于通过后续迭代获得的模型的质量。
实现这一目标的一个好方法是将两个域转移到一个公共子空间,或改变两个域的数据表示,使两个域在公共子空间中一致(或两个域的分布近似相同)。
这样,由标记的源域训练的模型对目标域是自适应的。

子空间学习方法试图找到一个子空间,其中所需的数据属性得到保留。

  1. 例如,局部保持投影(LPP)、邻域保持嵌入(NPE)和等轴测投影(ISOP)用于保持样本的固有几何结构。然而,这些方法没有利用标签信息来提高判别能力。
  2. 为此,杨等人提出了边缘fisher分析(MFA)方法,以同时保留样本的固有几何结构和判别结构。
  3. 还提出了一些类似的方法,如局部fisher判别分析(LFDA)和局部判别嵌入(LDE)。
  4. 最近,提出的基于低秩表示的子空间学习方法使用数据的低秩表示来保持数据的结构。例如,Wright等人提出了稳健主分析(RPCA)方法,旨在从损坏的矩阵中恢复低秩矩阵。
  5. 还提出了类似的方法通过低秩表示进行子空间分割

与传统的假设特定噪声(如高斯噪声)的子空间恢复方法相比,基于低秩表示的方法可以有效处理较大幅度的噪声。此外,低秩表示可以更有效地捕获数据的结构信息。

  1. Si等人提出了一个转移子空间学习框架,其中应用了一些子空间学习方法来最小化两个域分布之间的布雷格曼散度。
  2. Pan等人提出了一种转移子空间学习方法,通过使用可以减少源域和目标域的边缘分布之间差异的变换来获得潜在的公共子空间。
  3. Gopalan等人通过将数据投影到从Grassmann流形采样的一系列子空间上,获得了一种常见的中间特征表示

公共子空间是通过低秩表示方法获得的,该方法试图最小化源数据和目标数据之间的差异,以便源域中的数据可以由目标域中的数据线性表示

  1. 我们的方法不仅可以使用低秩约束精确对齐源域和目标域,还可以使用稀疏约束捕获数据的局部结构。
  2. 我们的方法通过将严格的二进制标签矩阵松弛为松弛变量矩阵来学习特定的大边距线性分类器。这种松弛的优点如下:(1)它可以尽可能扩大不同类别之间的差距;(2) 它提供了获得适当变换矩阵的更多自由度。换句话说,它可以提供更多的自由度,以最小化两个域的分布之间的差异。

最后,在我们的方法中,分类器学习和转移学习被集成到一个单一的优化框架中,以保证最优解。

三、提出的方法

3.1符号

X s ∈ R m × n s X_s\in \mathfrak R^{m\times n_s} XsRm×ns X t ∈ R m × n t X_{t} \in \mathfrak{R}^{m \times n_{t}} XtRm×nt分别是源数据和目标数据,其中m是两个域中数据的维数。 n s n_s ns n t n_t nt分别是来自源域和目标域的样本数。
P ∈ R m × d P\in \mathfrak R^{m\times d} PRm×d Z ∈ R n s × n t Z\in \mathfrak R^{n_s\times n_t} ZRns×nt分别是变换矩阵和重构矩阵,其中d是公共子空间的维数。
定义 σ i ( Z ) \sigma_i(Z) σi(Z) Z Z Z的第i个奇异值,让 ∥ Z ∥ ∗ = ∑ i σ i ( Z ) 和 ∥ Z ∥ 1 = ∑ i , j ∣ Z i j ∣ \|Z\|_∗ = \sum_i \sigma_i(Z)和\|Z\|_1 = \sum_{ i, j} | Z_{ij}| Z=iσi(Z)Z1=i,jZij分别表示核规范,矩阵Z的 l 1 l_1 l1范数。
Y = [ y 1 , … , y n ] ∈ R c × n Y=[y_1,…,y_n]\in \mathfrak R^{c\times n} Y=[y1yn]Rc×n表示二进制标签矩阵,其中c是类数。Y的定义如下:对于每个样本, x i , y i ∈ R c x_i,y_i\in \mathfrak R^c xi,yiRc是它的标签。
如果 x i x_i xi来自第k类 ( k = 1 , 2 , ⋅ ⋅ , c ) (k=1,2,··,c) (k=12⋅⋅c),那么只有 y i y_i yi的第k个条目是一,而 y i y_i yi的所有其他条目都是零。让 E ∈ R m × n t E\in \mathfrak R^{m\times n_t} ERm×nt是噪声矩阵。所有变量的定义如表1所示
在这里插入图片描述

3.2公式问题

转移子空间学习的目的是找到一个转换矩阵,将源数据和目标数据转换为一个公共子空间,其中源数据和目标数据的分布近似相同。
我们的方法假设目标数据可以由公共子空间中的源数据线性表示。
换句话说,目标数据可以由公共子空间中的源数据很好地重构。这个问题可以表述为:
P T X t = P T X s Z (1) P^TX_t=P^TX_sZ\tag{1} PTXt=PTXsZ(1)
(1) 可以进一步写成
min ⁡ P , Z ∥ P T X t − P T X s Z ∥ F 2 (2) \min_{P,Z}\|P^TX_t-P^TX_sZ\|^2_F\tag{2} P,ZminPTXtPTXsZF2(2)
我们假设知识可以从两个域准确传播到一个公共子空间,然后两个域的分布之间的差异可以最小化,以便目标域中的每个样本可以由其源域中的邻居很好地重建。
同一任务的任一域中的每个样本都可以近似地由其邻居的组合表示。
为了达到这个目的,重建系数矩阵Z应该具有分块结构。
因此,我们使用低秩约束来强制Z具有这样的结构。因此,(2)可以重新表述为
min ⁡ P , Z r a n k ( Z ) s . t . P T X t = P T X s Z (3) \min_{P,Z}\mathop{rank(Z)}\quad s.t.\quad P^TX_t=P^TX_sZ\tag{3} P,Zminrank(Z)s.t.PTXt=PTXsZ(3)
(3) 有利于获得 X s X_s Xs X t X_t Xt的一致表示,从而使源数据和目标数据很好地对齐。由于秩最小化问题是非凸的,所以(3)中的问题是NP-hard。如果Z的秩不太大,问题(3)等价于
min ⁡ P , Z ∥ Z ∥ ∗ s . t . P T X t = P T X s Z (4) \min_{P,Z}\|Z\|_∗\quad s.t.\quad P^TX_t=P^TX_sZ\tag{4} P,ZminZs.t.PTXt=PTXsZ(4)
其中 ∥ ⋅ ∥ ∗ \|\cdot\|_∗ 是矩阵的核范数。除了(3)和(4)考虑了两个域的相关性外,我们还可以使用(5)进一步约束重构系数矩阵为稀疏矩阵。这种稀疏约束有助于保持数据的局部结构,使得每个目标样本可以由源域中的几个样本很好地重建。
min ⁡ P , Z ∥ Z ∥ ∗ + α ∥ Z ∥ 1 s . t . P T X t = P T X s Z (5) \min_{P,Z}\|Z\|_∗+\alpha\|Z\|_1\quad s.t.\quad P^TX_t=P^TX_sZ\tag{5} P,ZminZ+αZ1s.t.PTXt=PTXsZ(5)
为了减轻噪声的影响,我们引入矩阵E来建模噪声,并对E施加稀疏约束,将(5)更改为
min ⁡ P , Z , E ∥ Z ∥ ∗ + α ∥ Z ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E (6) \min_{P,Z,E}\|Z\|_∗+\alpha\|Z\|_1+\beta\|E\|_1\\s.t.\quad P^TX_t=P^TX_sZ+E\tag{6} P,Z,EminZ+αZ1+βE1s.t.PTXt=PTXsZ+E(6)
因此,我们方法的目标函数定义如下。
min ⁡ P , Z , E 1 2 ϕ ( P , Y , X s ) + ∥ Z ∥ ∗ + α ∥ Z ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E (7) \min_{P,Z,E}\frac{1}{2}\phi(P,Y,X_s)+\|Z\|_∗+\alpha\|Z\|_1+\beta\|E\|_1\\s.t.\quad P^TX_t=P^TX_sZ+E\tag{7} P,Z,Emin21ϕ(P,Y,Xs)+Z+αZ1+βE1s.t.PTXt=PTXsZ+E(7)
其中 ϕ ( P , Y , X s ) \phi(P,Y,X_s) ϕ(P,Y,Xs)是判别子空间学习函数。基于(7),我们可以将两个域的数据转换为判别子空间,其中变换矩阵、低秩和稀疏约束可以导致两个域的数据的兼容表示。因此,来自两个域的样本可以很好地交错,以减少源域和目标域的差异。
对于 ϕ ( P , Y , X s ) \phi(P,Y,X_s) ϕ(P,Y,Xs)的设计,我们将其定义为用于分类的回归方法。传统的线性回归方法假设训练样本可以精确地转换为严格的二进制标签矩阵,即
ϕ ( P , Y , X s ) = ∥ P T X s − Y ∥ F 2 + λ ∥ P ∥ F (8) \phi(P,Y,X_s)=\|P^TX_s-Y\|^2_F+\lambda\|P\|_F\tag{8} ϕ(P,Y,Xs)=PTXsYF2+λPF(8)
然而,上述假设过于严格,主要问题是,当 X s X_s Xs转换为严格的二进制标签时,转换矩阵 P P P几乎没有自由度。
我们希望设计一个灵活的 P P P,它不仅可以尽可能扩大不同类之间的边界,而且可以尽可能减少两个域的分布之间的差异。
通过引入非负标签松弛矩阵 M M M,我们将严格的二元标签矩阵松弛为松弛变量矩阵,它为 P P P提供了更多的自由度。
下面的示例显示了如何将严格的二进制标签矩阵松弛为松弛变量矩阵。假设 x 1 、 x 2 、 x 3 x_1、x_2、x_3 x1x2x3是分别来自第二类、第一类和第三类的三个训练样本。它们对应的标签矩阵定义为
Y = [ 0 1 0 1 0 0 0 0 1 ] Y=\begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} Y= 010100001
(Y的第一列、第二列和第三列分别代表第一、第二和第三个样本的标签)。
很容易看出,来自不同类的任意两个样本之间的距离是 2 \sqrt2 2 当它们投影到标签空间时。例如,第一个和第二个样本之间的距离设置为 ( 0 − 1 ) 2 + ( 1 − 0 ) 2 + ( 0 − 0 ) 2 = 2 . \sqrt{(0 − 1)^2 + (1 − 0)^2 + (0 − 0)^2} = \sqrt2. (01)2+(10)2+(00)2 =2 .
具有不同特征的不同样品应进行不同的处理。为此,我们引入了一个非负标签松弛矩阵M,并将其与Y结合,形成松弛变量矩阵 Y ∘ Y^{\circ} Y。也就是说,
Y ∘ = [ − m 11 1 + m 12 − m 13 1 + m 21 − m 22 − m 23 − m 31 − m 32 1 + m 33 ] , m i j ≥ 0 ( i , j = 1 , 2 , 3 ) Y^{\circ}=\left[\begin{array}{ccc} -m_{11} & 1+m_{12} & -m_{13} \\ 1+m_{21} & -m_{22} & -m_{23} \\ -m_{31} & -m_{32} & 1+m_{33} \end{array}\right],m_{ij}\ge0(i,j=1,2,3) Y= m111+m21m311+m12m22m32m13m231+m33 mij0(i,j=1,2,3)
可以看出,第一和第二样本之间的距离设置为
( − m 11 − 1 − m 21 ) 2 + ( 1 + m 12 + m 22 ) 2 + ( − m 13 + m 23 ) 2 ≥ 2 . \sqrt{(-m_{11}− 1-m_{21} )^2 + (1+m_{12} +m_{22} )^2 + (-m_{13} + m_{23})^2} \ge\sqrt2. (m111m21)2+(1+m12+m22)2+(m13+m23)2 2 .
当它们投影到松弛标签空间时。这表明,使用非负标签松弛矩阵可以尽可能扩大不同类别之间的裕度。此外,这种松弛可以使 P P P有更多的自由度来更好地重建。
为了得到 Y ∘ Y^{\circ} Y,我们引入一个奢侈矩阵B并定义 Y ∘ = Y + B ⊙ M Y^{\circ}=Y+B \odot M Y=Y+BM、 其中 ⊙ \odot 是矩阵的Hadamad乘积算子,B定义为 B i j = { + 1 , i f Y i j = 1 − 1 , i f Y i j = 0 B_{ij}=\begin{cases}+1,if\quad Y_{ij}=1\\-1,if\quad Y_{ij}=0\end{cases} Bij={+1,ifYij=11,ifYij=0
通过将Y替换为Y°,我们获得了以下方法的最终目标函数。
min ⁡ P , Z , E , M 1 2 ϕ ( P , Y , X s ) + ∥ Z ∥ ∗ + α ∥ Z ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E , ϕ = ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 , M ≥ 0 (9) \min_{P,Z,E,M}\frac{1}{2}\phi(P,Y,X_s)+\|Z\|_∗+\alpha\|Z\|_1+\beta\|E\|_1\\s.t.\quad P^TX_t=P^TX_sZ+E,\\ \phi=\|P^TX_s-(Y+B \odot M)\|^2_F,M\ge0\tag{9} P,Z,E,Mmin21ϕ(P,Y,Xs)+Z+αZ1+βE1s.t.PTXt=PTXsZ+E,ϕ=PTXs(Y+BM)F2,M0(9)
其中Y是源域样本的标签矩阵。
使用该函数,我们能够同时获得公共子空间和分类器。
应该注意的是,公共子空间的维数是 c ( d = c ) c(d=c) cd=c

3.3我们方法的解决方案

优化问题(9)不是凸的。求解时,我们需要通过固定其他变量来迭代更新每个变量。我们可以将(9)转换为
min ⁡ P , Z , E , M , Z 1 , Z 2 1 2 ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 + ∥ Z 1 ∥ ∗ + α ∥ Z 2 ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E , Z 1 = Z , Z 2 = Z , M ≥ 0 (10) \min_{P,Z,E,M,Z_1,Z_2}\frac{1}{2}\|P^TX_s-(Y+B \odot M)\|^2_F+\|Z_1\|_∗+\alpha\|Z_2\|_1+\beta\|E\|_1\\s.t.\quad P^TX_t=P^TX_sZ+E,\\ Z_1=Z,Z_2=Z,M\ge0\tag{10} P,Z,E,M,Z1,Z2min21PTXs(Y+BM)F2+Z1+αZ21+βE1s.t.PTXt=PTXsZ+E,Z1=Z,Z2=Z,M0(10)
我们通过最小化以下增广拉格朗日乘子(ALM)函数L来解决问题(10)
L = 1 2 ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 + ∥ Z 1 ∥ ∗ + α ∥ Z 2 ∥ 1 + β ∥ E ∥ 1 + ⟨ Y 1 , P T X t − P T X s Z − E ⟩ + ⟨ Y 2 , Z − Z 1 ⟩ + ⟨ Y 3 , Z − Z 2 ⟩ + μ 2 ∥ P T X t − P T X s Z − E ∥ F 2 + μ 2 ( ∥ Z − Z 1 ∥ F 2 + ∥ Z − Z 2 ∥ F 2 ) (11) L=\frac{1}{2}\|P^TX_s-(Y+B \odot M)\|^2_F+\|Z_1\|_∗+\alpha\|Z_2\|_1+\beta\|E\|_1\\ +\langle Y_1,P^TX_t-P^TX_sZ-E\rangle+\langle Y_2,Z-Z_1\rangle\\ +\langle Y_3,Z-Z_2\rangle +\frac{\mu}{2}\|P^TX_t-P^TX_sZ-E\|^2_F\\ +\frac{\mu}{2}\left(\|Z-Z_1\|^2_F+\|Z-Z_2\|^2_F\right)\tag{11} L=21PTXs(Y+BM)F2+Z1+αZ21+βE1+Y1,PTXtPTXsZE+Y2,ZZ1+Y3,ZZ2+2μPTXtPTXsZEF2+2μ(ZZ1F2+ZZ2F2)(11)
其中 Y 1 、 Y 2 、和 Y 3 Y_1、Y_2、和Y_3 Y1Y2、和Y3是拉格朗日乘数, μ > 0 \mu>0 μ>0是惩罚参数。上述问题可以通过非精确ALM(IALM)算法解决。IALM算法是一种迭代方法,以坐标下降方式求解每个变量。求解(11)的主要步骤如下。
所有步骤都有闭式解。

  1. 步骤1(更新P):可以通过求解优化问题(12)来更新P。
    P ∗ = arg min ⁡ P 1 2 ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 + μ 2 ∥ P T X t − P T X s Z − E + Y 1 μ ∥ F 2 (12) P^*=\argmin_P\frac{1}{2}\left\|P^TX_s-(Y+B \odot M)\right\|^2_F\\ +\frac{\mu}{2}\left\|P^TX_t-P^TX_sZ-E+\frac{Y_1}{\mu}\right\|^2_F\tag{12} P=Pargmin21 PTXs(Y+BM) F2+2μ PTXtPTXsZE+μY1 F2(12)
    很明显,(12)的闭式解是 P ∗ = ( X s X s T + μ G 2 G 2 T ) − 1 ( X s G 1 T + μ G 2 G 3 T ) P^* =(X_s X ^T_s+\mu G_2G^T_2)^{−1}(X_sG^T_1+\mu G_2G^T_3) P=(XsXsT+μG2G2T)1(XsG1T+μG2G3T),其中 G 1 = Y + B ⊙ M 、 G 2 = X t − X s Z 和 G 3 = E − Y 1 μ G_1=Y+B\odot M、 G_2=X_t− X_s Z和G_3=E− \frac{Y_1}{\mu} G1=Y+BMG2=XtXsZG3=EμY1。为了获得数值上更稳定的解,在本文中,我们得到了 P ∗ P^* P 使用
    P ∗ = ( X s X s T + μ G 2 G 2 T + λ I ) − 1 ( X s G 1 T + μ G 2 G 3 T ) (13) P^*=(X_s X ^T_s+\mu G_2G^T_2+\lambda I)^{−1}(X_sG^T_1+\mu G_2G^T_3)\tag{13} P=(XsXsT+μG2G2T+λI)1(XsG1T+μG2G3T)(13)
    其中 λ \lambda λ是一个小的正常数。
  2. 步骤2(更新Z):通过求解优化问题(14)更新Z
    Z ∗ = arg min ⁡ Z ∥ P T X t − P T X s Z − E + Y 1 μ ∥ F 2 + ∥ Z − Z 1 + Y 2 μ ∥ F 2 + ∥ Z − Z 2 + Y 3 μ ∥ F 2 (14) Z^*=\argmin_Z\|P^TX_t-P^TX_sZ-E+\frac{Y_1}{\mu}\|^2_F\\ +\|Z-Z_1+\frac{Y_2}{\mu}\|^2_F+\|Z-Z_2+\frac{Y_3}{\mu}\|^2_F\tag{14} Z=ZargminPTXtPTXsZE+μY1F2+ZZ1+μY2F2+ZZ2+μY3F2(14)
    (14)的闭式解为
    Z ∗ = ( μ X s T P P T X s + 2 μ I ) − 1 ( G 5 + G 6 − X s T P G 4 ) (15) Z^*=\left(\mu X_s^TPP^TX_s+2\mu I\right)^{-1}\left(G_5+G_6-X_s^TPG_4\right)\tag{15} Z=(μXsTPPTXs+2μI)1(G5+G6XsTPG4)(15)
    其中 G 4 = P T X t − E + Y 1 μ , G 5 = Z 1 − Y 2 μ , G 6 = Z 2 − Y 3 μ G_4=P^TX_t-E+\frac{Y_1}{\mu},G_5=Z_1-\frac{Y_2}{\mu},G_6=Z_2-\frac{Y_3}{\mu} G4=PTXtE+μY1,G5=Z1μY2,G6=Z2μY3
  3. 步骤3(更新Z1):更新 Z 1 Z_1 Z1应该解决问题(16)
    Z 1 ∗ = arg min ⁡ Z 1 ∥ Z 1 ∥ ∗ + μ 2 ∥ Z − Z 1 + Y 2 μ ∥ F 2 (16) Z^*_1=\argmin_{Z_1}\|Z_1\|_*+\frac{\mu}{2}\left\|Z-Z_1+\frac{Y_2}{\mu}\right\|^2_F\tag{16} Z1=Z1argminZ1+2μ ZZ1+μY2 F2(16)
    (16)的闭式解为
    Z 1 ∗ = ϑ 1 / μ ( Z + Y 2 μ ) (17) Z^*_1=\vartheta_{1/\mu}\left(Z+\frac{Y_2}{\mu}\right)\tag{17} Z1=ϑ1/μ(Z+μY2)(17)
    其中 ϑ λ ( X ) = U S λ ( Σ ) V T \vartheta_{\lambda}(X)=US_{\lambda}(\Sigma)V^T ϑλ(X)=USλ(Σ)VT是关于奇异值 λ \lambda λ的阈值算子; S λ ( Σ i j ) = s i g n ( Σ i j ) max ⁡ ( 0 , ∣ Σ i j − λ ∣ ) S_{\lambda}(\Sigma_{ij})=\mathop{sign}(\Sigma_{ij})\max(0,|\Sigma_{ij}-\lambda|) Sλ(Σij)=sign(Σij)max(0,Σijλ)是软阈值算子; X = U Σ V T X=U\Sigma V^T X=UΣVT X X X的奇异值分解。
  4. 步骤4(更新 Z 2 Z_2 Z2):通过求解优化问题(18)更新 Z 2 Z_2 Z2
    Z 2 ∗ = arg min ⁡ Z 2 α ∥ Z 2 ∥ 1 + μ 2 ∥ Z − Z 2 + Y 3 μ ∥ F 2 (18) Z^*_2=\argmin_{Z_2}\alpha\|Z_2\|_1+\frac{\mu}{2}\left\|Z-Z_2+\frac{Y_3}{\mu}\right\|^2_F\tag{18} Z2=Z2argminαZ21+2μ ZZ2+μY3 F2(18)
    根据收缩算子[31],上述问题具有以下闭式解
    Z 2 ∗ = s h r i n k ( Z + Y 3 μ , α μ ) (19) Z^*_2=\mathop{shrink}\left(Z+\frac{Y_3}{\mu},\frac{\alpha}{\mu}\right)\tag{19} Z2=shrink(Z+μY3,μα)(19)
  5. 步骤5(更新E):通过求解优化问题(20)更新E。
    E ∗ = arg min ⁡ E β ∥ E ∥ 1 + μ 2 ∥ P T X t − P T X s Z − E + Y 1 μ ∥ F 2 (20) E^*=\argmin_E\beta\|E\|_1+\frac{\mu}{2}\left\|P^TX_t-P^TX_sZ-E+\frac{Y_1}{\mu}\right\|^2_F\tag{20} E=EargminβE1+2μ PTXtPTXsZE+μY1 F2(20)
    (20)的解为
    E ∗ = s h r i n k ( P T X t − P T X s Z − E + Y 1 μ , β μ ) (21) E^*=\mathop{shrink}\left(P^TX_t-P^TX_sZ-E+\frac{Y_1}{\mu},\frac{\beta}{\mu}\right)\tag{21} E=shrink(PTXtPTXsZE+μY1μβ)(21)
    在(19)和(21)中, s h r i n k ( x , a ) = s i g n max ⁡ ( ∣ x ∣ − a , 0 ) \mathop{shrink}(x,a)=\mathop{sign}\max(| x |− a, 0) shrink(xa)=signmax(xa,0)
  6. 步骤6(更新M):通过解决以下问题来更新M
    M ∗ = arg min ⁡ M 1 2 ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 (22) M^*=\argmin_M\frac{1}{2}\left\|P^TX_s-(Y+B \odot M)\right\|^2_F\tag{22} M=Margmin21 PTXs(Y+BM) F2(22)
    P T X s − Y = R P^T X_s−Y=R PTXsY=R。考虑到M的第 ( i , j ) (i,j) ij个条目 M i j M_{ij} Mij,我们有以下公式
    min ⁡ M i j ( R i j − B i j M i j ) 2 s . t . M i j ≥ 0 (23) \min_{M_{ij}}(R_{ij}-B_{ij}M_{ij})^2\quad s.t.M_{ij}\ge0\tag{23} Mijmin(RijBijMij)2s.t.Mij0(23)
    M i j M_{ij} Mij的最优解为
    M i j = max ⁡ ( R i j B i j , 0 ) (24) M_{ij}=\max(R_{ij}B_{ij},0)\tag{24} Mij=max(RijBij,0)(24)
    因此,M的最优解也可以重写为
    M = max ⁡ ( R ⊙ B , 0 ) (25) M=\max(R\odot B,0)\tag{25} M=max(RB,0)(25)
  7. 步骤7:使用(26)更新乘法器 Y 1 、 Y 2 、 Y 3 Y_1、Y_2、Y_3 Y1Y2Y3和迭代步长 ρ ( ρ > 1 ) \rho(\rho>1) ρρ>1
    { Y 1 = Y 1 + μ ( P T X t − P T X s Z − E ) Y 2 = Y 2 + μ ( Z − Z 1 ) Y 3 = Y 3 + μ ( Z − Z 2 ) μ = min ⁡ ( ρ μ , μ m a x ) (26) \begin{cases} Y_1=Y_1+\mu(P^TX_t-P^TX_sZ-E)\\ Y_2=Y_2+\mu (Z-Z_1)\\ Y_3=Y_3+\mu (Z-Z_2)\\ \mu=\min(\rho\mu,\mu_{max}) \end{cases}\tag{26} Y1=Y1+μ(PTXtPTXsZE)Y2=Y2+μ(ZZ1)Y3=Y3+μ(ZZ2)μ=min(ρμ,μmax)(26)
    总之,算法1总结了求解(9)的过程。
    在这里插入图片描述

3.4算法的计算复杂度和收敛性

我们算法的主要计算负担在于算法1中的步骤1、2和3,因为它们包含矩阵反演和奇异值分解(SVD)。
在步骤1和2中,分别对 m × m m\times m m×m n s × n s n_s\times n_s ns×ns矩阵进行矩阵求逆。
在步骤3中,奇异值分解在 n s × n t n_s\times n_t ns×nt矩阵上操作。
在步骤1中,计算复杂度为 O ( m 2 ( n t + n s ) + m 3 + m n t c + m n s c ) O(m^2(n_t+n_s)+m^3+mn_t c+mn_sc) O(m2nt+ns+m3+mntc+mnsc)
在步骤2中,复杂性是 O ( m n t c + n s c n t + n s m c + n s 3 + m 2 n s 2 ) O(mn_t c+n_scn_t+n_smc+n^3_s+m^2n^2_s) O(mntc+nscnt+nsmc+ns3+m2ns2)
在步骤3中,计算复杂度为 O ( n t 3 ) O(n^3_t) O(nt3)
为了表示的简单性,我们假设 m ≥ max ⁡ ( n s , n t ) m\ge\max(n_s,n_t) mmaxnsnt
因此,算法1的主要计算复杂度为 O ( τ ( m 2 ( n s + n t ) + m 3 + n s 3 + n t 3 ) ) O(\tau(m^2(n_s+n_t)+m^3+n^3_s+n^3_t)) O(τ(m2ns+nt+m3+ns3+nt3))其中 τ \tau τ是迭代次数。
然而,在我们的方法中有六个变量: P 、 Z 、 Z 1 、 Z 2 、 E 、和 M P、Z、Z_1、Z_2、E、和 M PZZ1Z2E、和M。此外,(9)中的目标函数不是绝对平滑的。这些因素不能保证我们的方法是收敛的。幸运的是,为良好的收敛性提供了以下三个充分条件。

  1. 步骤7中的参数 μ \mu μ需要是上界。
  2. 全列秩的字典A(在本文中,A替换为 X s X_s Xs)。
  3. 在每个迭代步骤中产生的最优间隙单调减小。换句话说,error
    ϵ k = ∥ ( Z k , Z 1 k , Z 2 k − arg min ⁡ Z , Z 1 , Z 2 L ) ∥ F 2 (27) \epsilon_k=\left\|(Z_k,Z_{1k},Z_{2k}-\argmin_{Z,Z_1,Z_2}L)\right\|^2_F\tag{27} ϵk= (Zk,Z1k,Z2kZ,Z1,Z2argminL) F2(27)
    单调递减,其中 Z k 、 Z 1 k 和 Z 2 k Z_k、Z_{1k}和Z_{2k} ZkZ1kZ2k分别表示在第k次迭代中获得的 Z 、 Z 1 和 Z 2 Z、Z_1和Z_2 ZZ1Z2的解。
    第三个条件很难直接满足,但第四节所示算法的性能和收敛曲线证明它确实成立

3.5我们的方法与以前的工作之间的差异

  1. 与LTSL的差异:
    LTSL表面上似乎与我们的方法相似。在LTSL和我们的方法中,利用统一变换将源域和目标域转换为公共子空间。然而,我们的方法在以下三个方面与LTSL有很大不同:
    (1) 在LTSL中,没有利用数据的局部结构来很好地保证每个目标样本由其来自源域的少数邻居线性重构。我们的方法使用稀疏约束来捕捉源域和目标域之间的局部结构。换句话说,由于只使用低秩约束,LTSL在转换到公共空间时失去了个性。
    但在我们的方法中,由于稀疏约束,源域和目标域中的每个样本都可以独立变换,这可以保持不同类的多样性。
    (2) LTSL没有指定分类器来对目标数据进行分类,而在我们的方法中,学习了标签松弛线性分类器。因此,通过我们的方法获得的分类器比在LTSL中随机选择的分类器更合适。
    (3) 由于标签松弛,我们方法中的变换矩阵具有更大的自由度,使源域和目标域彼此足够接近。在LTSL中,仅使用变换矩阵,这可以拉近源域和目标域,但距离不够
  1. 与RDALR的差异:
    在RDALR中,源域数据严格转换为目标域。
    实际上,这种转换过于严格,无法保证源域和目标域彼此足够接近。
    相反,通过将两个域转换为公共空间,可以尽快缩小这两个域之间的差异。RDALR的另一个缺点是,当源域数据转换为目标域时,不同主题的数据可能相互重叠,因此无法分离,但在我们的方法中,在公共子空间中学习了一个大边缘分类器。
    通过这种方式,我们的方法可以很好地对目标数据进行分类,后续实验证明了这一点。
  2. 与其他现有工作的区别:
    然而,我们的方法在以下几个方面与他们不同:
    (1)我们的方法联合学习转移和分类器,可以使得到的分类器与转移很好地匹配。换句话说,所获得的分类器可以在公共子空间中准确地对两个域的变换数据进行分类。
    (2) 通过将标签矩阵松弛为公共子空间中的松弛变量矩阵,变换矩阵可以提供更大的自由度,使源域和目标域彼此足够接近,并获得更好的目标数据分类模型。
    (3) 减少源域和目标域之间差异的方法是不同的。Si等人和Geng等人使用经验最大平均差(MMD)来加强源域和目标域之间的距离。Kan等人使用了两种稀疏重建来减少差异。
    我们的方法中使用的低秩和稀疏重建比单一低秩重建或单一稀疏重建更灵活

3.6分类

当问题(9)求解时,我们得到转换矩阵P。然后,我们直接使用P分别获得源数据和目标数据的转换结果。
最后,我们应用1-最近邻分类器(NN)或支持向量机(SVM)对目标域数据的转换结果进行分类。
换言之,获得的转换矩阵P仅用于生成源域和目标域数据的特征,并由传统分类器NN和SVM进行分类。

四、实验

在本节中,我们将所提出的方法与以下七种最先进的相关基线方法进行了比较,包括测地线流核(GFK)、传输分量分析(TCA)、传输子空间学习(TSL)、低秩传输子空间学(LDA)(LTSL)、具有低秩重建的鲁棒视觉域适应(RDALR),主成分分析(PCA)。
具体来说,TSL采用Bregman散度而不是最大平均差(MMD)作为比较分布的距离。选择了两种经典分类器:1-最近邻分类(NN)和支持向量机(SVM)作为基线分类器。
对于支持向量机,所有参数,即惩罚项C、RBF核 σ \sigma σ的带通,都是通过网格搜索策略选择的。

4.1COIL 20数据集实验

COIL 20数据集包含20个对象和1440个图像。
每个物体的图像以5个姿势间隔拍摄(即每个物体72个姿势)。每个图像具有32×32像素和256个灰度级。
在这里插入图片描述
在这里插入图片描述

4.2MSRC和VOC 2007数据集的实验

MSRC数据集包含由18个类标记的4323个图像,由Microsoft Research Cambridge提供。VOC 2007数据集包含5011张图像,用20个概念注释。
在这里插入图片描述
在这里插入图片描述

4.3CMU PIE数据集实验

CMU PIE(PIE)数据集包含来自68名个体的41368张人脸图像,分辨率为 32 × 32 32\times 32 32×32像素。
在这里插入图片描述
在这里插入图片描述

4.4在Office、Caltech-256数据集上的实验

Office是视觉领域适应基准数据,其中包括来自三个不同领域的常见对象类别,即亚马逊、数码单反和网络摄像头。
在该数据集中,每个域包含31个对象类别,即笔记本电脑、键盘、显示器、自行车等,图像总数为4652。在亚马逊域中,每个类别平均有90个图像,而在数码单反或网络摄像头域中,每个类别平均有30个图像。
Caltech-256是用于物体识别的标准数据集。数据集有30607个图像和256个类别。
在这里插入图片描述
在这里插入图片描述
为了评估不同方法的分类性能,我们在Office和Caltech 256数据集上进行了多源域和单目标域的实验。我们随机选择两个子集作为源域,一个数据集作为目标域。

在这里插入图片描述

4.5扩展Y-aleB数据集的实验

扩展的Y-ale-B数据库由38人在各种照明条件下的2414个正面人脸样本组成,每张图像的分辨率为 32 × 32 32\times 32 32×32像素
在这里插入图片描述
在这种方式下,每个跨域遵循显著不同的分布。由于扩展的Yale B数据集包含大量的数据子集,我们仅使用神经网络分类器进行分类,以减少计算成本。
在这里插入图片描述

4.6讨论

在本节中,我们首先讨论了对68个跨域数据集进行分类的六种方法。
我们假设,对于每种方法,各种跨域数据集的分类精度可以围绕某个中心值进行聚类,因此我们通过精度分布的数字特征来评估每种方法的分类性能。
在这里插入图片描述

对于每种方法,分类精度的中值由框中的水平条标记,框中框和晶须图包含精度的中间部分
平均分类精度和标准差如图8(b)所示。
在这里插入图片描述
图8(c)和(d)分别显示了使用Office和Caltech-256数据库(单源域和双源域)的所有跨域数据集的方块图和胡须图以及平均分类精度,
在这里插入图片描述
我们可以看到,对于每种方法,双源域场景中的平均分类精度高于单源域。GFK和RDALR的平均分类精度提高更为显著,GFK的平均分类准确率低于我们的方法
基于这些统计信息和所有表格中的实验结果,我们得出以下结论:

  1. 对于人脸识别应用,从表四和表七可以看出,在大多数情况下,我们的方法优于传统的子空间学习方法PCA和一些转移学习方法,即GFK、TSL、TCA RDALR和LTAL。我们还注意到,RDALR方法的性能比其他方法差。
    对于这两个数据集,转换结果(获得的特征)比神经网络更适合支持向量机。事实证明,支持向量机的平均分类精度高于神经网络。
  2. 我们注意到,GFK的平均分类精度与我们在双源域设置上的方法相似。两个关键因素可能有助于1) 通过使用集成流中所有子空间的核,可以很好地模拟这两个域之间的域转移。
    2) 通过使用判别子空间将标签集成到源域中。
    我们还注意到,在多个源域与单目标域的实验中(见表六),我们的方法在许多情况下的性能不如比较。这部分是因为当我们使用多个源域时,源域和目标域之间的差异更大。
    为了尽可能扩大不同类之间的间距,由于使用松弛变量,我们的方法很容易过度拟合源域数据转换结果的标签。
    这样,由于过分追求较大的裕度,源域和目标域不能很好地交错。因此,尽管我们在源域数据的转换结果的不同类之间获得了较大的裕度,但获得的分类器无法准确地对数据进行分类
    由于目标域数据之间存在较大差异,因此会产生转换结果。
  3. 在平均分类精度方面,我们的方法优于所有比较方法,这表明我们的方法比其他方法更通用。

4.7验证

在本节中,将设计三个实验,将所提出的方法与其三种变体进行比较。为了节省有限的空间,在这些实验中,仅选择神经网络分类器对Office、Caltech-256数据集进行分类。
前两个实验的目标是评估联合低秩和稀疏表示是否真的提高了分类性能。为了实现这一目标,第一个实验仅设计用于测试稀疏表示,第二个实验仅用于测试低秩表示。具体来说,第一个实验的目标函数如下
min ⁡ P , Z , E 1 2 ϕ ( P , Y , X s ) + α ∥ Z ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E , ϕ = ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 , M ≥ 0 (28) \min_{P,Z,E}\frac{1}{2}\phi(P,Y,X_s)+\alpha\|Z\|_1+\beta\|E\|_1\\ s.t.P^TX_t=P^TX_sZ+E,\\ \phi=\|P^TX_s-(Y+B\odot M)\|^2_F,M\ge 0\tag{28} P,Z,Emin21ϕ(P,Y,Xs)+αZ1+βE1s.t.PTXt=PTXsZ+E,ϕ=PTXs(Y+BM)F2,M0(28)
第二个实验的目标函数是
min ⁡ P , Z , E 1 2 ϕ ( P , Y , X s ) + ∥ Z ∥ ∗ + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E , ϕ = ∥ P T X s − ( Y + B ⊙ M ) ∥ F 2 , M ≥ 0 (29) \min_{P,Z,E}\frac{1}{2}\phi(P,Y,X_s)+\|Z\|_*+\beta\|E\|_1\\ s.t.P^TX_t=P^TX_sZ+E,\\ \phi=\|P^TX_s-(Y+B\odot M)\|^2_F,M\ge 0\tag{29} P,Z,Emin21ϕ(P,Y,Xs)+Z+βE1s.t.PTXt=PTXsZ+E,ϕ=PTXs(Y+BM)F2,M0(29)
第三个实验的目标是评估松弛变量是否真的比标准线性回归更好。因此,在本实验中,我们使用线性回归替换松弛变量。第三个实验的目标函数是
min ⁡ P , Z , E 1 2 ϕ ( P , Y , X s ) + ∥ Z ∥ ∗ + α ∥ Z ∥ 1 + β ∥ E ∥ 1 s . t . P T X t = P T X s Z + E , ϕ = ∥ P T X s − Y ∥ F 2 (30) \min_{P,Z,E}\frac{1}{2}\phi(P,Y,X_s)+\|Z\|_*+\alpha\|Z\|_1+\beta\|E\|_1\\ s.t.P^TX_t=P^TX_sZ+E,\phi=\|P^TX_s-Y\|^2_F\tag{30} P,Z,Emin21ϕ(P,Y,Xs)+Z+αZ1+βE1s.t.PTXt=PTXsZ+E,ϕ=PTXsYF2(30)
实验结果如表VIII所示,其中“稀疏”对应第一个实验,“低秩”对应第二个实验,“无松弛”对应第三个实验。
在这里插入图片描述

图9给出了分类精度的相应平均值。可以看出,我们的方法表现最好。这表明
1) 联合低秩和稀疏表示可以提高分类精度;
2) 松弛变量的使用可以提高分类精度
在这里插入图片描述
图10给出了不同实验中学习矩阵Z的可视化。
显然,通过第一次和第二次实验学习的矩阵Z分别是稀疏和低秩的。
通过我们的方法学习的矩阵Z是低秩和稀疏的,这意味着尽管我们在我们的方法中使用了两个辅助变量 Z 1 Z_1 Z1 Z 2 Z_2 Z2,但算法在收敛后最终满足约束 Z 1 = Z Z_1=Z Z1=Z Z 2 = Z Z_2=Z Z2=Z
换句话说,通过施加联合低秩和稀疏约束,我们最终获得了低秩稀疏重建系数矩阵,这进一步证实了我们优化算法的有效性。

4.8收敛性和参数敏感性分析

通过在4个数据集上使用神经网络分类器运行我们的方法,我们从经验上证明了我们方法的收敛性和参数敏感性,包括MSRC与VOC、PIE1与PIE3、Amazon与网络摄像机以及子集1与子集5(扩展Yale B)。

  1. 收敛性:
    我们在这些数据集上运行了100步迭代,并绘制了目标函数值和分类精度相对于迭代次数的收敛曲线,如图11所示。
    在这里插入图片描述
    一般来说,目标函数值随着迭代次数的增加而减小。在数据集Subset1和Subset5(扩展Yale B)上,目标值具有剧烈振动。
    这种现象可以解释为(12)的不精确解的结果,即在我们的方法中,通过在矩阵 X s X s T + μ G 2 G 2 T X_s X ^T_s+\mu G_2G^T_2 XsXsT+μG2G2T的逆矩阵中添加Tikhonov正则化 λ I \lambda I λI,精确解被稍微置换。
    事实上,当 λ \lambda λ较大时,振动更剧烈。但最终,随着迭代的进行,目标值稳步下降。这表明我们的方法具有良好的收敛性。
    我们的方法在四个数据集上的分类精度曲线由两种稍有不同的类型组成。
    人脸图像数据集的分类精度曲线,例如PIE1与PIE3以及Subset1与Subset5(扩展Yale B),随着迭代次数的增加而稳步上升,并最终达到稳定。
    然而,在迭代的前几个步骤中,对象图像数据集(如MSRC与VOC和Amazon与网络摄像机)的分类精度曲线急剧上升,然后在较高水平上振动。
    这种显著差异是由于在目标图像数据集上,由于源域和目标域中的人脸图像具有更大的相似性,因此转移学习任务比人脸图像数据库上的任务更具挑战性。
    因此,转移学习任务在人脸图像数据集中更稳定。然而,分类精度最终达到了顶峰,这也从另一个方面证实了我们方法的收敛性良好。
  2. 参数灵敏性:
    目标函数中有两个参数 α \alpha α β \beta β。他们两个都控制 l 1 l_1 l1-正则化项。理论上,较大的 α \alpha α β \beta β值可以使软阈值在我们的方法中更加重要,
    但我们将表明,只要 α \alpha α β \beta β的值在可行范围内,它们对我们方法的分类性能影响很小
    为了证明这些参数的影响,我们在四个跨域数据集上评估了从合理的离散集 S = { 1 e − 3 , 5 e − 3 1 e − 2 , 5 e − 2 , 0.1 , 0.5 , 1 , 5 , 10 } S=\{1e^{-3},5e^{-3}1e^{-2},5e^{-2},0.1,0.5,1,5,10\} S={1e3,5e31e2,5e2,0.1,0.5,1,5,10}
    每个参数值组合的分类精度如图12所示。
    在这里插入图片描述
    可以看出,在很大范围的参数值上,分类精度大致一致。

五、总结

本文提出了一种新的转移子空间学习方法。
我们将转移子空间学习问题转化为稀疏低秩极小化问题,并用经典增广拉格朗日方法求解。
秩和稀疏约束用于连接公共子空间中的源域和目标域,从而大大减少了这两个域之间的差异。
低秩和稀疏约束的影响是双重的。
首先,低秩约束可以保证当这两个域中的数据对齐时,可以传递知识。
其次,稀疏约束可以确保邻域到邻域的重建,这有助于利用这两个域中数据的局部结构。
通过将严格的二进制标签矩阵松弛为松弛变量矩阵来学习标签松弛线性回归分类器,可以提供更大的自由度来拟合训练样本的标签,并尽可能减少两个域分布之间的差异。
未来,我们将把我们的方法扩展到半监督场景。


Reference

Discriminative Transfer Subspace Learning via Low-Rank and Sparse Representation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值